Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ActivityHost.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-07-09 15:37:54 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-07-09 15:37:54 (GMT)
commit1cc14e406a62a015067446976d149a1f60de5197 (patch)
tree8f0f66f65da26b55c93e0bd7503f9f315d76cc87 /shell/ActivityHost.py
parentd4cb9a27149126de64fb003aafb8673633b885b0 (diff)
More work on the window management refactor
Diffstat (limited to 'shell/ActivityHost.py')
-rw-r--r--shell/ActivityHost.py130
1 files changed, 0 insertions, 130 deletions
diff --git a/shell/ActivityHost.py b/shell/ActivityHost.py
deleted file mode 100644
index cfc36d3..0000000
--- a/shell/ActivityHost.py
+++ /dev/null
@@ -1,130 +0,0 @@
-import dbus
-import gtk
-import gobject
-
-from sugar.chat.ActivityChat import ActivityChat
-from WindowManager import WindowManager
-import sugar.util
-
-class ActivityHostSignalHelper(gobject.GObject):
- __gsignals__ = {
- 'shared': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([]))
- }
-
- def __init__(self, parent):
- gobject.GObject.__init__(self)
- self._parent = parent
-
- def emit_shared(self):
- self.emit('shared')
-
-class ActivityHost(dbus.service.Object):
- def __init__(self, bus_name, default_type, activity_id = None):
- if activity_id is None:
- self._activity_id = sugar.util.unique_id()
- else:
- self._activity_id = activity_id
- self._default_type = default_type
-
- self.dbus_object_name = "/com/redhat/Sugar/Shell/Activities/%s" % self._activity_id
- dbus.service.Object.__init__(self, bus_name, self.dbus_object_name)
-
- self._signal_helper = ActivityHostSignalHelper(self)
- self.peer_service = None
- self._shared = False
-
- self._create_chat()
-
- def _create_chat(self):
- self._activity_chat = ActivityChat(self)
-
- def got_focus(self):
- if self.peer_service != None:
- self.peer_service.got_focus()
-
- def lost_focus(self):
- self.peer_service.lost_focus()
-
- def get_chat(self):
- return self._activity_chat
-
- def get_default_type(self):
- return self._default_type
-
- def publish(self):
- self._activity_chat.publish()
- self.peer_service.publish()
-
- def connect(self, signal, func):
- self._signal_helper.connect(signal, func)
-
- def get_id(self):
- """Interface-type function to match activity.Activity's
- get_id() function."""
- return self._activity_id
-
- def default_type(self):
- """Interface-type function to match activity.Activity's
- default_type() function."""
- return self._default_type
-
- def get_object_path(self):
- return self.dbus_object_name
-
- def get_shared(self):
- """Return True if this activity is shared, False if
- it has not been shared yet."""
- return self._shared
-
- def _shared_signal(self):
- self._shared = True
- self._signal_helper.emit_shared()
-
- @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost")
- def set_peer_service_name(self, peer_service_name, peer_object_name):
- self.__peer_service_name = peer_service_name
- self.__peer_object_name = peer_object_name
- session_bus = dbus.SessionBus()
- self.peer_service = dbus.Interface(session_bus.get_object( \
- self.__peer_service_name, self.__peer_object_name), \
- "com.redhat.Sugar.Activity")
- session_bus.add_signal_receiver(self._shared_signal,
- signal_name="ActivityShared",
- dbus_interface="com.redhat.Sugar.Activity",
- named_service=self.__peer_service_name,
- path=self.__peer_object_name)
-
- @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost")
- def set_has_changes(self, has_changes):
- pass
-
- @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost")
- def set_title(self, text):
- pass
-
- @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost")
- def set_icon(self, data, colorspace, has_alpha, bits_per_sample, width, height, rowstride):
- pixstr = ""
- for c in data:
- # Work around for a bug in dbus < 0.61 where integers
- # are not correctly marshalled
- if c < 0:
- c += 256
- pixstr += chr(c)
-
- pixbuf = gtk.gdk.pixbuf_new_from_data(pixstr, colorspace, has_alpha,
- bits_per_sample, width, height, rowstride)
-
- @dbus.service.method("com.redhat.Sugar.Shell.ActivityHost")
- def shutdown(self):
- for owner, activity in self.activity_container.activities[:]:
- if activity == self:
- self.activity_container.activities.remove((owner, activity))
-
- for i in range(self.activity_container.notebook.get_n_pages()):
- child = self.activity_container.notebook.get_nth_page(i)
- if child == self.socket:
- self.activity_container.notebook.remove_page(i)
- break
-
- del self