[PD-cvs] pd/src desire.tk,1.1.2.600.2.173,1.1.2.600.2.174
chunlee
chunlee at users.sourceforge.net
Tue Jan 30 23:06:56 CET 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6321
Modified Files:
Tag: desiredata
desire.tk
Log Message:
experimenting with sorting patch with graphviz/tcldot
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.173
retrieving revision 1.1.2.600.2.174
diff -C2 -d -r1.1.2.600.2.173 -r1.1.2.600.2.174
*** desire.tk 23 Jan 2007 23:35:19 -0000 1.1.2.600.2.173
--- desire.tk 30 Jan 2007 22:06:52 -0000 1.1.2.600.2.174
***************
*** 5069,5072 ****
--- 5069,5075 ----
class_new IEMGUI {}
+ def IEMGUI text {} {
+ return [$self class]
+ }
class_new BlueBox {Labeled IEMGUI Box}
#class_new BlueBox {Box Labeledo}
***************
*** 8003,8004 ****
--- 8006,8071 ----
$self selection_move +10 0
}
+ #-----------------------------------------------------------------
+ #!/usr/local/bin/wish
+ lappend ::auto_path /usr/lib/graphviz
+ puts $::auto_path
+ package require Tcldot
+ def Canvas graphviz_sort {} {
+ set nodes {}
+ set gwidth 0; set gh 0;
+ #toplevel .graph -height 600 -width 800
+ #set c [canvas .graph.c -height 600 -width 800]
+ #pack $c
+ set g [dotnew digraph]
+ $g setnodeattribute style filled color white
+ foreach child $@children {
+ lappend nodes [$g addnode $child label "[$child text]" shape "record" height "0.1"]
+ lappend nodes $child
+ #for {set i 0} {$i < [$child ninlets]} {incr i} {
+ # $g addnode ${child}i${i} label "" shape "circle" width "0.1" height "0.1"
+ # [$g findnode ${child}i${i}] addedge [$g findnode $child] arrowhead "none" style "dashed"
+ #}
+ #for {set i 0} {$i < [$child noutlets]} {incr i} {
+ # $g addnode ${child}o${i} label "" shape "circle" width "0.1" height "0.1"
+ # [$g findnode $child] addedge [$g findnode ${child}o${i}] arrowhead "none" style "dashed"
+ #}
+
+ }
+ puts "$nodes"
+
+ foreach wire $@wires {
+ mset {obj1 port1 obj2 port2} [$wire report]
+ set n1 [lindex $nodes [expr [lsearch $nodes $obj1]-1]]
+ set n2 [lindex $nodes [expr [lsearch $nodes $obj2]-1]]
+ #set n1 [$g findnode ${obj1}o${port1}]
+ #set n2 [$g findnode ${obj2}i${port2}]
+ $n1 addedge $n2
+ #puts "n1:: $n1 -> n2:: $n2"
+ }
+ #$g layout
+ #if {[info exists debug]} {
+ # puts [$g render] ;# see what render produces
+ #}
+ #eval [$g render]
+ set f {}
+ set fd [open graph.txt w]
+ $g write $fd plain
+
+ close $fd
+ set fd [open graph.txt r]
+ set contents [read $fd]
+ close $fd
+ foreach line [split $contents "\n"] {
+ switch [lindex $line 0] {
+ graph {set gw [lindex $line 2]; set gh [lindex $line 3]}
+ node {
+ set m 65
+ set id [lindex $line 1]
+ set x [lindex $line 2]; set y [lindex $line 3]
+ $id moveto [expr $x*$m] [expr ($gh-$y)*$m]
+
+ }
+ edge {break}
+ }
+ }
+ }
More information about the Pd-cvs
mailing list