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
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)))