Example #1
0
    def addNodeToSearchPanel(self, node, nodes, maxx, posy):
        from NetworkEditor.items import NetworkNode
        sc_canvas = self.searchCanvas
        
        font = self.editor.font['LibNodes']
        canvas = sc_canvas.component('canvas')

        n1 = NetworkNode(name=node.name)
        n1.iconMaster = sc_canvas
        n1.buildSmallIcon(sc_canvas, 10, posy, font)

        color = node.kw['library'].color
        canvas.itemconfigure(n1.id, fill=color)
        
        self.balloons.tagbind(sc_canvas, n1.iconTag,
                              node.nodeClass.__doc__)

        bb = sc_canvas.bbox(n1.id)
        w = bb[2]-bb[0]
        h = bb[3]-bb[1]
        maxx = max(maxx, w)
        posy = posy + h + 8

        nodes[n1.id] = (n1, node)
        self.searchNodes.append(n1)

        return nodes, maxx, posy
Example #2
0
    def addNodeToLibPanel(self, node):
        if node in self.libNodes:
            return
        
        from NetworkEditor.items import NetworkNode
        sc_canvas = self.libCanvas
        
        font = self.editor.font['LibNodes']
        canvas = sc_canvas.component('canvas')

        n1 = NetworkNode(name=node.name)
        n1.iconMaster = sc_canvas

        posy = self.posyForLibNode
        n1.buildSmallIcon(sc_canvas, 10, posy, font)

        color = node.kw['library'].color
        canvas.itemconfigure(n1.id, fill=color)
        
        self.balloons.tagbind(sc_canvas, n1.iconTag,
                              node.nodeClass.__doc__)

        bb = sc_canvas.bbox(n1.id)
        w = bb[2]-bb[0]
        h = bb[3]-bb[1]
        self.maxxForLibNode = max(self.maxxForLibNode, w)
        posy = posy + h + 8
        self.posyForLibNode = posy

        self.libNodes.append(node)
        nodes = self.editor.idToNodes[self.libCanvas]
        nodes[n1.id] = (n1, node)
        self.editor.idToNodes[self.libCanvas] = nodes

        # update scrolled canvas
        maxx = self.maxxForLibNode
        canvas.configure(width=60, height=150,
                         scrollregion=tuple((0,0,maxx,posy)))