Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/frame/frame.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-02-20 15:38:25 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-02-20 15:38:25 (GMT)
commitf3cf928f318a4bd1fe30267949fd234f3ff5bde9 (patch)
tree95f88e8783d089a41c8c9dfa8477f0de15f2273d /shell/view/frame/frame.py
parent5f65056d7803456227d0049df646abe64275542e (diff)
Added Rollover control.
Diffstat (limited to 'shell/view/frame/frame.py')
-rw-r--r--shell/view/frame/frame.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index 37b3cc0..4aab4ef 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -70,6 +70,12 @@ class Frame:
shell.get_model().connect('notify::state',
self._shell_state_changed_cb)
+ rollover_context = shell.get_rollover_context()
+ rollover_context.connect('activated',
+ self._rollover_context_activated_cb)
+ rollover_context.connect('deactivated',
+ self._rollover_context_deactivated_cb)
+
def _create_top_panel(self):
panel = self._create_panel(hippo.ORIENTATION_HORIZONTAL)
menu_shell = panel.get_menu_shell()
@@ -165,6 +171,13 @@ class Frame:
if self._mode != Frame.STICKY and not self._hover_frame:
self._timeline.play('before_slide_out', 'slide_out')
+ def _rollover_context_activated_cb(self, rollover_context):
+ self._timeline.goto('slide_in', True)
+
+ def _rollover_context_deactivated_cb(self, rollover_context):
+ if self._mode != Frame.STICKY and not self._hover_frame:
+ self._timeline.play('before_slide_out', 'slide_out')
+
def _enter_notify_cb(self, window, event):
self._enter_notify()
logging.debug('Frame._enter_notify_cb ' + str(self._mode))
@@ -193,6 +206,7 @@ class Frame:
def _leave_notify(self, panel):
self._hover_frame = False
if not panel.get_menu_shell().is_active() and \
+ not self._shell.get_rollover_context().is_active() and \
(self._mode == Frame.HIDE_ON_LEAVE or \
self._mode == Frame.AUTOMATIC):
self._timeline.play('before_slide_out', 'slide_out')