def __init__(self, elemid): super(DiagramNode, self).__init__(elemid) self.label = unquote(elemid) or '' self.numbered = None self.icon = None self.background = None self.description = None self.rotate = 0 self.drawable = True self.href = None plugins.fire_node_event(self, 'created')
def set_attribute(self, attr): if plugins.fire_node_event(self, 'attr_changing', attr): super(DiagramNode, self).set_attribute(attr) plugins.fire_node_event(self, 'attr_changed', attr)
def fire_node_event(self, event_type): for node in self.diagram.nodes: if node.drawable: fire_node_event(node, event_type)