def __init__(self, id, callbacks): PluginHandler.__init__(self) self.plugin_class = StoryPlugin self.update_plugin_lookups() self.callbacks = callbacks self.content = {} self.id = id self.pad = None self.selected = False self.marked = False # Are there changes pending? self.changed = True # Information from last refresh self.width = 0 self.lines = 0 # Lines not in our pad, but placed after us (tag footer) self.extra_lines = 0 # Offset globally and in-tag. self.offset = 0 self.rel_offset = 0 on_hook("curses_opt_change", self.on_opt_change) on_hook("curses_tag_opt_change", self.on_tag_opt_change) on_hook("curses_attributes", self.on_attributes)
def __init__(self): PluginHandler.__init__(self) self.plugin_class = CommandPlugin self.update_plugin_lookups() self.key_translations =\ { '.' : "period", '\t' : "tab", "C-i" : "tab", ' ' : "space", "\\" : "\\\\" } self.meta = False
def __init__(self, tag, id, callbacks): PluginHandler.__init__(self) self.callbacks = callbacks self.parent_tag = tag self.is_tag = False self.is_dead = False self.id = id self.pad = None self.selected = False self.marked = False # Are there changes pending? self.changed = True self.fresh_state = False self.fresh_tags = False self.width = 0 # This is used by the rendering code. self.extra_lines = 0 # Pre and post formats, to be used by plugins self.pre_format = "" self.post_format = "" # Offset globally and in-tag. self.offset = 0 self.rel_offset = 0 self.enumerated = False self.rel_enumerated = False # This should exist before the hook is setup, or the hook will fail. self.content = {} on_hook("curses_opt_change", self.on_opt_change, self) on_hook("curses_tag_opt_change", self.on_tag_opt_change, self) on_hook("curses_attributes", self.on_attributes, self) # Grab initial content, if any, the rest will be handled by the # attributes hook self.content = tag_updater.get_attributes(self.id) self.new_content = None self.plugin_class = StoryPlugin self.update_plugin_lookups()
def __init__(self, tagcore, callbacks): list.__init__(self) PluginHandler.__init__(self) self.tagcore = tagcore self.tag = tagcore.tag self.is_tag = True self.updates_pending = 0 self.pad = None self.footpad = None # Note that Tag() is only given the top-level CantoCursesGui # callbacks as it shouldn't be doing input / refreshing # itself. self.callbacks = callbacks.copy() # Modify our own callbacks so that *_tag_opt assumes # the current tag. self.callbacks["get_tag_opt"] =\ lambda x : callbacks["get_tag_opt"](self.tag, x) self.callbacks["set_tag_opt"] =\ lambda x, y : callbacks["set_tag_opt"](self.tag, x, y) self.callbacks["get_tag_name"] = lambda: self.tag # This could be implemented as a generic, top-level hook but then N # tags would have access to story objects they shouldn't have and # would have to check every items membership in self, which would be # pointless and time-consuming. self.callbacks["item_state_change"] =\ self.on_item_state_change # Are there changes pending? self.changed = True self.selected = False self.marked = False # Information from last refresh self.footlines = 0 self.extra_lines = 0 self.width = 0 self.collapsed = False self.border = False self.enumerated = False self.abs_enumerated = False # Formats for plugins to override self.pre_format = "" self.post_format = "" # Global indices (for enumeration) self.item_offset = -1 self.visible_tag_offset = -1 self.tag_offset = -1 self.sel_offset = -1 on_hook("curses_opt_change", self.on_opt_change, self) on_hook("curses_tag_opt_change", self.on_tag_opt_change, self) on_hook("curses_attributes", self.on_attributes, self) on_hook("curses_items_added", self.on_items_added, self) # Upon creation, this Tag adds itself to the # list of all tags. alltags.append(self) self.plugin_class = TagPlugin self.update_plugin_lookups()
def __init__(self, tagcore, callbacks): list.__init__(self) PluginHandler.__init__(self) self.tagcore = tagcore self.tag = tagcore.tag self.is_tag = True self.updates_pending = 0 self.pad = None self.footpad = None # Note that Tag() is only given the top-level CantoCursesGui # callbacks as it shouldn't be doing input / refreshing # itself. self.callbacks = callbacks.copy() # Modify our own callbacks so that *_tag_opt assumes # the current tag. self.callbacks["get_tag_opt"] =\ lambda x : callbacks["get_tag_opt"](self.tag, x) self.callbacks["set_tag_opt"] =\ lambda x, y : callbacks["set_tag_opt"](self.tag, x, y) self.callbacks["get_tag_name"] = lambda : self.tag # This could be implemented as a generic, top-level hook but then N # tags would have access to story objects they shouldn't have and # would have to check every items membership in self, which would be # pointless and time-consuming. self.callbacks["item_state_change"] =\ self.on_item_state_change # Are there changes pending? self.changed = True self.selected = False self.marked = False # Information from last refresh self.footlines = 0 self.extra_lines = 0 self.width = 0 self.collapsed = False self.border = False self.enumerated = False self.abs_enumerated = False # Formats for plugins to override self.pre_format = "" self.post_format = "" # Global indices (for enumeration) self.item_offset = -1 self.visible_tag_offset = -1 self.tag_offset = -1 self.sel_offset = -1 on_hook("curses_opt_change", self.on_opt_change, self) on_hook("curses_tag_opt_change", self.on_tag_opt_change, self) on_hook("curses_attributes", self.on_attributes, self) on_hook("curses_items_added", self.on_items_added, self) # Upon creation, this Tag adds itself to the # list of all tags. alltags.append(self) self.plugin_class = TagPlugin self.update_plugin_lookups()