Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/graphics/popupcontext.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-02-21 09:16:03 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-02-21 09:16:03 (GMT)
commitbbfe53942961640e01287cc345342fd790e083e9 (patch)
tree85b9033918b76cf7eec210be666e0d94cf51abeb /sugar/graphics/popupcontext.py
parentaffba784cfdaac0aced75fb44b2b1b43bed47b9e (diff)
Renamed Rollover to Popup.
Diffstat (limited to 'sugar/graphics/popupcontext.py')
-rw-r--r--sugar/graphics/popupcontext.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/sugar/graphics/popupcontext.py b/sugar/graphics/popupcontext.py
new file mode 100644
index 0000000..5dad58a
--- /dev/null
+++ b/sugar/graphics/popupcontext.py
@@ -0,0 +1,44 @@
+# Copyright (C) 2007, One Laptop Per Child
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+import gobject
+import hippo
+
+class PopupContext(gobject.GObject):
+ __gtype_name__ = 'SugarPopupContext'
+
+ __gsignals__ = {
+ 'activated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
+ 'deactivated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([]))
+ }
+
+ def __init__(self):
+ self._active_control = None
+ gobject.GObject.__init__(self)
+
+ def popped_up(self, control):
+ if self._active_control:
+ self._active_control.popdown()
+ self._active_control = control
+ self.emit('activated')
+
+ def popped_down(self, control):
+ if self._active_control == control:
+ self._active_control = None
+ self.emit('deactivated')
+
+ def is_active(self):
+ return self._active_control != None