def node_data_call_back(self,nodeDataArray):
graph = pygr.AGraph()
show_name = self.show_node_name
for node in nodeDataArray.nodes:
my_color,my_shape = self.read_attributes(node)
my_label = node.myName + "\n" + "("+node.myType+")"
if node.myStatus != 3 \
or self.draw_all_nodes == True \
or node.myName == show_name \
or node.parentName == show_name:
# avoid an overwrinting of inactive node on an active node
if graph.has_node(node.myName) == False \
or node.myStatus != 3:
graph.add_node(node.myName,
style="filled",
fillcolor=my_color,
shape=my_shape,
label=my_label)
graph.add_edge(node.myName,node.parentName)
dot_string = graph.to_string()
# use same sentences to correct centering
if self.centering == True:
self._widget.xdot_widget.set_dotcode(dot_string, center=True)
self.centering = False
else:
self._widget.xdot_widget.set_dotcode(dot_string, center=False)
评论列表
文章目录