def get_view (self, compact=False): """Generate a view widget to edit the ruleset.""" rs=RuleSet() rs.from_xml(self.element.stream, catalog=self.controller.event_handler.catalog) self.edit=EditRuleSet(rs, catalog=self.controller.event_handler.catalog, editable=self.editable, controller=self.controller) self.view = self.edit.get_packed_widget() scroll_win = Gtk.ScrolledWindow () scroll_win.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scroll_win.add_with_viewport(self.view) return scroll_win
class RuleSetContentHandler (ContentHandler): """Create a RuleSet edit form for the given element (a view, presumably). """ def can_handle(mimetype): res=0 if mimetype == 'application/x-advene-ruleset': res=80 return res can_handle=staticmethod(can_handle) def __init__ (self, element, controller=None, parent=None, **kw): self.element = element self.controller=controller self.parent=parent self.editable = True self.view = None def set_editable (self, boolean): self.editable = boolean def check_validity(self): iv=self.edit.invalid_items() if iv: dialog.message_dialog( _("The following items seem to be\ninvalid TALES expressions:\n\n%s") % "\n".join(iv), icon=gtk.MESSAGE_ERROR) return False else: return True def update_element (self): """Update the element fields according to the values in the view.""" if not self.editable: return False if not self.edit.update_value(): return False self.element.data = self.edit.model.xml_repr() return True def get_view (self, compact=False): """Generate a view widget to edit the ruleset.""" rs=RuleSet() f=self.element.as_file rs.from_xml(f, catalog=self.controller.event_handler.catalog) f.close() self.edit=EditRuleSet(rs, catalog=self.controller.event_handler.catalog, editable=self.editable, controller=self.controller) self.view = self.edit.get_packed_widget() scroll_win = gtk.ScrolledWindow () scroll_win.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scroll_win.add_with_viewport(self.view) return scroll_win
class RuleSetContentHandler (ContentHandler): """Create a RuleSet edit form for the given element (a view, presumably). """ def can_handle(mimetype): res=0 if mimetype == 'application/x-advene-ruleset': res=80 return res can_handle=staticmethod(can_handle) def __init__ (self, element, controller=None, parent=None, **kw): self.element = element self.controller=controller self.parent=parent self.editable = True self.view = None def set_editable (self, boolean): self.editable = boolean def check_validity(self): iv=self.edit.invalid_items() if iv: dialog.message_dialog( _("The following items seem to be\ninvalid TALES expressions:\n\n%s") % "\n".join(iv), icon=Gtk.MessageType.ERROR) return False else: return True def update_element (self): """Update the element fields according to the values in the view.""" if not self.editable: return False if not self.edit.update_value(): return False self.element.data = self.edit.model.xml_repr() return True def get_view (self, compact=False): """Generate a view widget to edit the ruleset.""" rs=RuleSet() rs.from_xml(self.element.stream, catalog=self.controller.event_handler.catalog) self.edit=EditRuleSet(rs, catalog=self.controller.event_handler.catalog, editable=self.editable, controller=self.controller) self.view = self.edit.get_packed_widget() scroll_win = Gtk.ScrolledWindow () scroll_win.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scroll_win.add_with_viewport(self.view) return scroll_win
def get_view (self, compact=False): """Generate a view widget to edit the ruleset.""" rs=RuleSet() f=self.element.as_file rs.from_xml(f, catalog=self.controller.event_handler.catalog) f.close() self.edit=EditRuleSet(rs, catalog=self.controller.event_handler.catalog, editable=self.editable, controller=self.controller) self.view = self.edit.get_packed_widget() scroll_win = gtk.ScrolledWindow () scroll_win.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scroll_win.add_with_viewport(self.view) return scroll_win