本文整理汇总了Python中horizons.messaging.HoverInstancesChanged类的典型用法代码示例。如果您正苦于以下问题:Python HoverInstancesChanged类的具体用法?Python HoverInstancesChanged怎么用?Python HoverInstancesChanged使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HoverInstancesChanged类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, session):
super().__init__(session)
self.setGlobalListener(True)
self._last_mmb_scroll_point = [0, 0]
# coordinates of last mouse positions
self.last_exact_world_location = fife.ExactModelCoordinate()
self._hover_instances_update_scheduled = False
self.middle_scroll_active = False
class CmdListener(fife.ICommandListener):
pass
self.cmdlist = CmdListener()
horizons.globals.fife.eventmanager.addCommandListener(self.cmdlist)
self.cmdlist.onCommand = self.onCommand
if not self.__class__.send_hover_instances_update:
# clear
HoverInstancesChanged.broadcast(self, set())
self.__class__.last_hover_instances = WeakList()
else:
# need updates about scrolling here
self.session.view.add_change_listener(self._schedule_hover_instance_update)
self._schedule_hover_instance_update()
class CoordsTooltip:
@classmethod
def get_instance(cls, cursor_tool):
if cursor_tool.session.ingame_gui.coordinates_tooltip is not None:
inst = cursor_tool.session.ingame_gui.coordinates_tooltip
inst.cursor_tool = cursor_tool
return inst
else:
return CoordsTooltip(cursor_tool)
def __init__(self, cursor_tool, **kwargs):
super().__init__(**kwargs)
cursor_tool.session.ingame_gui.coordinates_tooltip = self
self.cursor_tool = cursor_tool
self.enabled = False
self.icon = Icon(position=(1, 1)) # 0, 0 is currently not supported by tooltips
def toggle(self):
self.enabled = not self.enabled
if not self.enabled and self.icon.tooltip_shown:
self.icon.hide_tooltip()
def show_evt(self, evt):
if self.enabled:
if evt.isConsumedByWidgets():
if self.icon.tooltip_shown:
self.icon.hide_tooltip()
return
x, y = self.cursor_tool.get_world_location(evt).to_tuple()
self.icon.helptext = '{:d}, {:d} '.format(x, y) + T("Press H to remove this hint")
self.icon.position_tooltip(evt)
self.icon.show_tooltip()
self.tooltip = CoordsTooltip.get_instance(self)
示例2: _send_hover_instance_upate
def _send_hover_instance_upate(self):
"""Broadcast update with new instances below mouse (hovered).
At most called in a certain interval, not after every mouse move in
order to prevent delays."""
self._hover_instances_update_scheduled = False
where = fife.Point(self.last_event_pos.x, self.last_event_pos.y)
instances = set(self.get_hover_instances(where))
# only send when there were actual changes
if instances != set(self.__class__.last_hover_instances):
self.__class__.last_hover_instances = WeakList(instances)
HoverInstancesChanged.broadcast(self, instances)
示例3: __init__
def __init__(self, session):
super(NavigationTool, self).__init__(session)
self._last_mmb_scroll_point = [0, 0]
# coordinates of last mouse positions
self.last_exact_world_location = fife.ExactModelCoordinate()
self._hover_instances_update_scheduled = False
self.middle_scroll_active = False
class CmdListener(fife.ICommandListener): pass
self.cmdlist = CmdListener()
horizons.main.fife.eventmanager.addCommandListener(self.cmdlist)
self.cmdlist.onCommand = self.onCommand
if not self.__class__.send_hover_instances_update:
# clear
HoverInstancesChanged.broadcast(self, set())
self.__class__.last_hover_instances = WeakList()
else:
# need updates about scrolling here
self.session.view.add_change_listener(self._schedule_hover_instance_update)
self._schedule_hover_instance_update()
class CoordsTooltip(object):
@classmethod
def get_instance(cls, cursor_tool):
if cursor_tool.session.coordinates_tooltip is not None:
inst = cursor_tool.session.coordinates_tooltip
inst.cursor_tool = cursor_tool
return inst
else:
return CoordsTooltip(cursor_tool)
def __init__(self, cursor_tool, **kwargs):
super(CoordsTooltip, self).__init__(**kwargs)
cursor_tool.session.coordinates_tooltip = self
self.cursor_tool = cursor_tool
self.enabled = False
self.icon = Icon()
def toggle(self):
self.enabled = not self.enabled
if not self.enabled and self.icon.tooltip_shown:
self.icon.hide_tooltip()
def show_evt(self, evt):
if self.enabled:
x, y = self.cursor_tool.get_world_location_from_event(evt).to_tuple()
self.icon.helptext = u'%f, %f ' % (x, y) + _("Press H to remove this hint")
self.icon.position_tooltip(evt)
self.icon.show_tooltip()
self.tooltip = CoordsTooltip.get_instance(self)
示例4: end
def end(self):
self.tooltip_instance = None
self.tooltip_icon.hide_tooltip()
self.tooltip_icon = None
self.renderer = None
self.icons = None
AddStatusIcon.unsubscribe(self.on_add_icon_message)
HoverInstancesChanged.unsubscribe(self.on_hover_instances_changed)
RemoveStatusIcon.unsubscribe(self.on_remove_icon_message)
WorldObjectDeleted.unsubscribe(self.on_worldobject_deleted_message)
示例5: __init__
def __init__(self, session):
self.session = session
# {instance: [list of icons]}
self.icons = {}
# Renderer used to render the icons
self.renderer = self.session.view.renderer['GenericRenderer']
self.tooltip_instance = None # no weakref:
# we need to remove the tooltip always anyway, and along with it the entry here
self.tooltip_icon = Icon(position=(1,1)) # 0, 0 is currently not supported by tooltips
AddStatusIcon.subscribe(self.on_add_icon_message)
HoverInstancesChanged.subscribe(self.on_hover_instances_changed)
RemoveStatusIcon.subscribe(self.on_remove_icon_message)
WorldObjectDeleted.subscribe(self.on_worldobject_deleted_message)
示例6: __init__
def __init__(self, renderer, layer):
"""
@param renderer: Renderer used to render the icons
@param layer: map layer, needed to place icon
"""
self.layer = layer
self.renderer = renderer
# {instance: [list of icons]}
self.icons = {}
self.tooltip_instance = None # no weakref:
# we need to remove the tooltip always anyway, and along with it the entry here
self.tooltip_icon = Icon(position=(1, 1)) # 0, 0 is currently not supported by tooltips
AddStatusIcon.subscribe(self.on_add_icon_message)
HoverInstancesChanged.subscribe(self.on_hover_instances_changed)
RemoveStatusIcon.subscribe(self.on_remove_icon_message)
WorldObjectDeleted.subscribe(self.on_worldobject_deleted_message)