]> granicus.if.org Git - graphviz/commitdiff
collect all root nodes into first rank
authorJohn Ellson <ellson@research.att.com>
Wed, 21 Nov 2012 17:38:33 +0000 (12:38 -0500)
committerJohn Ellson <ellson@research.att.com>
Wed, 21 Nov 2012 17:38:33 +0000 (12:38 -0500)
tclpkg/gv/demo/modgraph.tcl

index 75504cec7fa285112e07346973c2998fa01d55c8..beed3d166aab347aef72d6e81908c7cde20fb9f6 100755 (executable)
@@ -24,6 +24,11 @@ gv::setv $N fontsize 8
 gv::setv $N fontname helvetica
 gv::setv $E arrowsize .4
 
+# prepare a subraph for rootnodes - populated later
+set sg [gv::graph $G rootnodes]
+gv::setv $sg rank same
+
+# extract graph from /proc/modules
 foreach rec [split $modules \n] {
   set n [gv::node $G [lindex $rec 0]]
   foreach usedby [split [lindex $rec 3] ,] {
@@ -32,5 +37,12 @@ foreach rec [split $modules \n] {
   }
 }
 
+# add all rootnodes to subgraph with rank=same
+for { set n [gv::firstnode $G] } { [ gv::ok $n] } { set n [gv::nextnode $G $n] } {
+  if { ! [ gv::ok [ gv::firstin $n ] ] } {
+    gv::node $sg [gv::nameof $n]
+  }
+}
+
 gv::layout $G dot
 gv::render $G xlib