[PD-cvs] pd/src desire.tk,1.1.2.260,1.1.2.261
Mathieu Bouchard
matju at users.sourceforge.net
Fri Jun 23 08:33:30 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25389
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
added ClientClassTreeDialog
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.260
retrieving revision 1.1.2.261
diff -C2 -d -r1.1.2.260 -r1.1.2.261
*** desire.tk 21 Jun 2006 11:46:45 -0000 1.1.2.260
--- desire.tk 23 Jun 2006 06:33:27 -0000 1.1.2.261
***************
*** 421,424 ****
--- 421,426 ----
set key(popup_help) ""
set key(popup_open) ""
+ set key(client_class_tree) "Ctrl+grave"
+
set accels {}
################## set up main window #########################
***************
*** 1040,1043 ****
--- 1042,1046 ----
{about {} ""}
{class_browser {} ""}
+ {client_class_tree {} ""}
}
}
***************
*** 5227,5233 ****
def ClientPrefsDialog _delete {} {super}
-
############ other stuff #########
#c proc updatesel {_ sel} {
#c variable ""
--- 5230,5298 ----
def ClientPrefsDialog _delete {} {super}
############ other stuff #########
+ def Client client_class_tree {} {ClientClassTreeDialog new}
+ class_new ClientClassTreeDialog {Dialog}
+ def ClientClassTreeDialog cancel {} {destroy .$self}
+
+ proc* place_stuff {args} {}
+
+ def ClientClassTreeDialog make_row {w tree} {
+ pack [frame $w] -fill x
+ pack [frame $w.row] -side top -fill x
+ pack [button $w.row.butt -image icon_minus] -side left
+ pack [label $w.row.label -text [lindex $tree 0]] -side left -fill x
+ pack [frame $w.dent -width 32] -side left
+ set i 1
+ foreach node [lrange $tree 1 end] {
+ $self make_row $w.$i $node
+ incr i
+ }
+ }
+
+ def ClientClassTreeDialog init {} {
+ super
+ pack [frame .$self.1 -width 600 -height 400] -fill y -expand y
+ pack [frame .$self.1.1 -width 600 -height 400 -bg "#6688aa"] -side left -fill y -expand y
+ # "$w.1.scroll set"
+ # i'd like a scrollable frame
+ pack [scrollbar .$self.1.scroll \
+ -command "ClientClassTreeDialog_scroll $self"] -side left -fill y -expand y
+ place [frame .$self.1.1.tree] -x 0 -y 0
+ set w .$self.1.1.tree.1
+ $self make_row $w [Thing get_hierarchy]
+ after 100 "$self update_scrollbar"
+ }
+
+ def ClientClassTreeDialog update_scrollbar {} {
+ set w .$self.1.1
+ set zy [winfo height $w]
+ set sy [winfo height $w.tree]
+ set y1 [expr 0.0-[winfo y $w.tree]]
+ set y2 [expr $y1+$zy]
+ puts "sy=$sy y1=$y1 y2=$y2"
+ .$self.1.scroll set [expr $y1/$sy] [expr $y2/$sy]
+ puts ".$self.1.scroll set [expr $y1/$sy] [expr $y2/$sy]"
+ }
+
+ def* ClientClassTreeDialog scroll {args} {
+ set w .$self.1.1
+ set zy [winfo height $w]
+ set sy [winfo height $w.tree]
+ set y1 [expr 0.0-[winfo y $w.tree]]
+ set y2 [expr $y1+$zy]
+ switch [lindex $args 0] {
+ moveto {
+ set f [lindex $args 1]
+ set y [expr (0.0-$f)*$sy]
+ place .$self.1.1.tree -x 0 -y $y
+ puts $y
+ }
+ scroll {
+
+ }
+ }
+ }
+
#c proc updatesel {_ sel} {
#c variable ""
***************
*** 5245,5248 ****
--- 5310,5319 ----
foreach sub $@subclasses {$sub post_hierarchy [expr $i+1]}
}
+ def Class get_hierarchy {} {
+ set l [list $self]
+ foreach sub $@subclasses {lappend l [$sub get_hierarchy]}
+ return $l
+ }
+
Thing post_hierarchy
More information about the Pd-cvs
mailing list