godot/mapping.py
def map_element(self, obj, name, event):
        """ Handles mapping elements to diagram components """

        canvas = self.diagram.diagram_canvas
        parser = XDotParser()

        for element in event.added:
            logger.debug("Mapping new element [%s] to diagram node" % element)
            for node_mapping in self.nodes:
                ct = name[:-6] #strip '_items'
                if node_mapping.containment_trait == ct:
                    dot_attrs = node_mapping.dot_node
                    dot = Dot()
                    graph_node = Node(str(id(element)))
                    self._style_node(graph_node, dot_attrs)
                    dot.add_node(graph_node)
                    xdot = graph_from_dot_data(dot.create(self.program,"xdot"))
                    diagram_nodes = parser.parse_nodes(xdot)#.get_node_list())
                    for dn in diagram_nodes:
                        if dn is not None:
                            dn.element = element
                            # Tools
                            for tool in node_mapping.tools:
                                dn.tools.append(tool(dn))

                            canvas.add(dn)
                            canvas.request_redraw()

        for element in event.removed:
            logger.debug("Unmapping element [%s] from diagram" % element)
            for component in canvas.components:
                if element == component.element:
                    canvas.remove(component)
                    canvas.request_redraw()
                    break
def map_element(self, obj, name, event):
        canvas = self.diagram.diagram_canvas
        parser = XDotParser()

        for element in event.added:
            logger.debug("Mapping new element [%s] to diagram node" % element)
            for node_mapping in self.nodes:
                ct = name[:-6] #strip '_items'
                if node_mapping.containment_trait == ct:
                    dot_attrs = node_mapping.dot_node
                    dot = Dot()
                    graph_node = Node(str(id(element)))
                    self._style_node(graph_node, dot_attrs)
                    dot.add_node(graph_node)
                    xdot = graph_from_dot_data(dot.create(self.program,"xdot"))
                    diagram_nodes = parser.parse_nodes(xdot)#.get_node_list())
                    for dn in diagram_nodes:
                        if dn is not None:
                            dn.element = element
                            # Tools
                            for tool in node_mapping.tools:
                                dn.tools.append(tool(dn))

                            canvas.add(dn)
                            canvas.request_redraw()

        for element in event.removed:
            logger.debug("Unmapping element [%s] from diagram" % element)
            for component in canvas.components:
                if element == component.element:
                    canvas.remove(component)
                    canvas.request_redraw()
                    break
def map_element ( self , obj , name , event ) : canvas = self . diagram . diagram_canvas parser = XDotParser ( ) for element in event . added : logger . debug ( "Mapping new element [%s] to diagram node" % element ) for node_mapping in self . nodes : ct = name [ : - 6 ] #strip '_items' if node_mapping . containment_trait == ct : dot_attrs = node_mapping . dot_node dot = Dot ( ) graph_node = Node ( str ( id ( element ) ) ) self . _style_node ( graph_node , dot_attrs ) dot . add_node ( graph_node ) xdot = graph_from_dot_data ( dot . create ( self . program , "xdot" ) ) diagram_nodes = parser . parse_nodes ( xdot ) #.get_node_list()) for dn in diagram_nodes : if dn is not None : dn . element = element # Tools for tool in node_mapping . tools : dn . tools . append ( tool ( dn ) ) canvas . add ( dn ) canvas . request_redraw ( ) for element in event . removed : logger . debug ( "Unmapping element [%s] from diagram" % element ) for component in canvas . components : if element == component . element : canvas . remove ( component ) canvas . request_redraw ( ) break
Handles mapping elements to diagram components
Handles mapping elements to diagram components