Renamed Rollover to Popup.
This commit is contained in:
@@ -16,8 +16,8 @@ sugar_PYTHON = \
|
||||
menushell.py \
|
||||
optionmenu.py \
|
||||
roundbox.py \
|
||||
rollover.py \
|
||||
rollovercontext.py \
|
||||
popup.py \
|
||||
popupcontext.py \
|
||||
snowflakebox.py \
|
||||
spreadbox.py \
|
||||
timeline.py \
|
||||
|
||||
+30
-30
@@ -51,8 +51,8 @@ class Button(hippo.CanvasBox):
|
||||
self._prelight_color = profile.get_color()
|
||||
self._inactive_color = IconColor('#808080,#424242')
|
||||
self._active = True
|
||||
self._rollover = None
|
||||
self._hover_rollover = False
|
||||
self._popup = None
|
||||
self._hover_popup = False
|
||||
|
||||
self._icon = CanvasIcon(icon_name=icon_name, cache=True,
|
||||
color=self._normal_color)
|
||||
@@ -71,51 +71,51 @@ class Button(hippo.CanvasBox):
|
||||
self.connect('motion-notify-event', self._motion_notify_event_cb)
|
||||
self.connect('button-press-event', self._button_press_event_cb)
|
||||
|
||||
def get_rollover(self):
|
||||
return self._rollover
|
||||
def get_popup(self):
|
||||
return self._popup
|
||||
|
||||
def get_rollover_context(self):
|
||||
def get_popup_context(self):
|
||||
return None
|
||||
|
||||
def do_popup(self, current, n_frames):
|
||||
if self._rollover:
|
||||
if self._popup:
|
||||
return
|
||||
|
||||
rollover = self.get_rollover()
|
||||
if not rollover:
|
||||
popup = self.get_popup()
|
||||
if not popup:
|
||||
return
|
||||
|
||||
rollover_context = self.get_rollover_context()
|
||||
if rollover_context:
|
||||
rollover_context.popped_up(rollover)
|
||||
popup_context = self.get_popup_context()
|
||||
if popup_context:
|
||||
popup_context.popped_up(popup)
|
||||
|
||||
rollover.connect('motion-notify-event',
|
||||
self._rollover_motion_notify_event_cb)
|
||||
rollover.connect('action-completed',
|
||||
self._rollover_action_completed_cb)
|
||||
popup.connect('motion-notify-event',
|
||||
self._popup_motion_notify_event_cb)
|
||||
popup.connect('action-completed',
|
||||
self._popup_action_completed_cb)
|
||||
|
||||
context = self._icon.get_context()
|
||||
#[x, y] = context.translate_to_screen(self._icon)
|
||||
[x, y] = context.translate_to_widget(self._icon)
|
||||
|
||||
# TODO: Any better place to do this?
|
||||
rollover.props.box_width = max(rollover.props.box_width,
|
||||
self.get_width_request())
|
||||
popup.props.box_width = max(popup.props.box_width,
|
||||
self.get_width_request())
|
||||
|
||||
[width, height] = self._icon.get_allocation()
|
||||
rollover.popup(x, y + height)
|
||||
popup.popup(x, y + height)
|
||||
|
||||
self._rollover = rollover
|
||||
self._popup = popup
|
||||
|
||||
def do_popdown(self, current, frame):
|
||||
if self._rollover:
|
||||
self._rollover.popdown()
|
||||
if self._popup:
|
||||
self._popup.popdown()
|
||||
|
||||
rollover_context = self.get_rollover_context()
|
||||
if rollover_context:
|
||||
rollover_context.popped_down(self._rollover)
|
||||
popup_context = self.get_popup_context()
|
||||
if popup_context:
|
||||
popup_context.popped_down(self._popup)
|
||||
|
||||
self._rollover = None
|
||||
self._popup = None
|
||||
|
||||
def popdown(self):
|
||||
self._timeline.play('popdown', 'popdown')
|
||||
@@ -124,18 +124,18 @@ class Button(hippo.CanvasBox):
|
||||
if event.detail == hippo.MOTION_DETAIL_ENTER:
|
||||
self._timeline.play(None, 'popup')
|
||||
elif event.detail == hippo.MOTION_DETAIL_LEAVE:
|
||||
if not self._hover_rollover:
|
||||
if not self._hover_popup:
|
||||
self._timeline.play('before_popdown', 'popdown')
|
||||
|
||||
def _rollover_motion_notify_event_cb(self, rollover, event):
|
||||
def _popup_motion_notify_event_cb(self, popup, event):
|
||||
if event.detail == hippo.MOTION_DETAIL_ENTER:
|
||||
self._hover_rollover = True
|
||||
self._hover_popup = True
|
||||
self._timeline.play('popup', 'popup')
|
||||
elif event.detail == hippo.MOTION_DETAIL_LEAVE:
|
||||
self._hover_rollover = False
|
||||
self._hover_popup = False
|
||||
self._timeline.play('popdown', 'popdown')
|
||||
|
||||
def _rollover_action_completed_cb(self, rollover):
|
||||
def _popup_action_completed_cb(self, popup):
|
||||
self.popdown()
|
||||
|
||||
def _set_size(self, size):
|
||||
|
||||
@@ -28,8 +28,8 @@ from sugar.graphics import color
|
||||
from sugar.graphics import font
|
||||
from sugar.graphics.canvasicon import CanvasIcon
|
||||
|
||||
class Rollover(hippo.CanvasBox, hippo.CanvasItem):
|
||||
__gtype_name__ = 'SugarRollover'
|
||||
class Popup(hippo.CanvasBox, hippo.CanvasItem):
|
||||
__gtype_name__ = 'SugarPopup'
|
||||
|
||||
__gsignals__ = {
|
||||
'action-completed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([]))
|
||||
@@ -17,8 +17,8 @@
|
||||
import gobject
|
||||
import hippo
|
||||
|
||||
class RolloverContext(gobject.GObject):
|
||||
__gtype_name__ = 'SugarRolloverContext'
|
||||
class PopupContext(gobject.GObject):
|
||||
__gtype_name__ = 'SugarPopupContext'
|
||||
|
||||
__gsignals__ = {
|
||||
'activated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
|
||||
Reference in New Issue
Block a user