Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29135
Modified Files: Tag: devel_0_39 desire.tk Log Message: some more works on gop/abs/[pd]
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.529 retrieving revision 1.1.2.530 diff -C2 -d -r1.1.2.529 -r1.1.2.530 *** desire.tk 25 Oct 2006 15:56:48 -0000 1.1.2.529 --- desire.tk 25 Oct 2006 21:40:01 -0000 1.1.2.530 *************** *** 1015,1020 **** def View item {suffixes type coords args} { global font ! set c [[$self get_canvas] widget] ! #set c [$@canvas widget] set zoom [$@canvas zoom] set coords [lmap * $coords $zoom] --- 1015,1022 ---- def View item {suffixes type coords args} { global font ! set canvas [$self get_canvas] ! if {$canvas == "none"} {return} ! #set c [[$self get_canvas] widget] ! set c [$canvas widget] set zoom [$@canvas zoom] set coords [lmap * $coords $zoom] *************** *** 1108,1112 **** --- 1110,1151 ---- # this returns the canvas actually exists/drawn def View get_canvas {} { + if {[info exists @gop]} { + if {$@gop} { + set canvas $@canvas + while {![winfo exists [$canvas widget]]} { + set canvas [$canvas canvas] + } + return $canvas + } + } + + if {[info exists @subpatch]} { + if {$@subpatch} {return [$self canvas]} + } + if {[info exists @abs]} {if {$@abs} {return [$self canvas]}} + if {[winfo exists .$self.c]} {return $self} + set canvas $@canvas + while {![winfo exists [$canvas widget]]} { + set canvas [$canvas canvas] + } + return $canvas + + + #if {[winfo exists .$@canvas.c]} { + # return $@canvas + #} else { + # set next_canvas [$@canvas canvas] + # if {[winfo exists .$next_canvas.c]} { + # return $next_canvas + # } else { + # #puts "bug:: no canvas found..." + # return none + # } + #} + } + + def View get_canvas2 {} { if {[info exists @subpatch]} {if {$@subpatch} {return [$self canvas]}} + if {[info exists @abs]} {if {$@abs} {return [$self canvas]}} if {[winfo exists .$self.c]} {return $self} if {[winfo exists .$@canvas.c]} { *************** *** 1123,1126 **** --- 1162,1166 ---- }
+ def View outside_of_the_box {} { # always hide these things *************** *** 1160,1164 **** if {[$self class] == "Canvas" && $@canvas == ""} {return} if {$@inside_box} { ! if {[$@canvas mapped]} {$self draw} } else { # for drawing opened gop --- 1200,1204 ---- if {[$self class] == "Canvas" && $@canvas == ""} {return} if {$@inside_box} { ! if {[$@canvas mapped]} {if {![$@canvas abs]} {$self draw}} } else { # for drawing opened gop *************** *** 1168,1171 **** --- 1208,1217 ---- if {[$self class] == "Array"} {$self draw; return} # puts "skipping $self, don't draw it...." + #set c [$self get_canvas] + #if {$c != "none"} { + # puts " ............ [$c widget] ............ $self" + # if {[winfo exists [$c widget]]} { + # } + #} $self delete } *************** *** 1410,1414 **** if {$@mapped && !$@gop} { if {!$@subpatch && !$@gop && $@text != ""} { - puts " I THINK I AM A ABSTRACTION $self" set @abs 1 return --- 1456,1459 ---- *************** *** 1461,1464 **** --- 1506,1510 ----
def Canvas gop {} {return $@gop} + def Canvas abs {} {return $@abs} def Canvas subpatch {} {return $@subpatch} def Canvas get_dimen {} { *************** *** 1814,1818 **** #if {$@subpatch && $@canvas != "" && !$@gop} {if {![winfo exists [$self widget]]} {super}} ;# is for the [pd] box if applicable if {$@subpatch && $@canvas != "" && !$@gop} {super} ;# is for the [pd] box if applicable ! if {$@gop && ![winfo exists [$self widget]]} {super; return} if {$@abs} {super; return} if {!$@mapped} {return} --- 1860,1864 ---- #if {$@subpatch && $@canvas != "" && !$@gop} {if {![winfo exists [$self widget]]} {super}} ;# is for the [pd] box if applicable if {$@subpatch && $@canvas != "" && !$@gop} {super} ;# is for the [pd] box if applicable ! if {$@gop && ![winfo exists [$self widget]]} {super; $self restack; return} if {$@abs} {super; return} if {!$@mapped} {return} *************** *** 1828,1831 **** --- 1874,1883 ---- }
+ + def Canvas restack {} { + set c [$self get_canvas] + [$c widget] lower $self [lindex [$self children] 0] + } + def Canvas popup_properties {} {CanvasPropertiesDialog new $self}
*************** *** 2218,2222 **** set find [lsearch $@wires_pair $x] set @wires_pair [lreplace $@wires_pair [expr $find -1] $find] ! $x unsubscribe $self; $x erase } set @wires $wires --- 2270,2274 ---- set find [lsearch $@wires_pair $x] set @wires_pair [lreplace $@wires_pair [expr $find -1] $find] ! $x unsubscribe $self; $x delete } set @wires $wires *************** *** 2997,3000 **** --- 3049,3055 ---- set c [$self widget] set @insert_x $x; set @insert_y $y + if {[$id class] != "Canvas"} { + if {![winfo exists [[$id canvas] widget]]} {set id [$id canvas]} + } $self popup $id [winfo pointerx $c] [winfo pointery $c] } *************** *** 3506,3510 **** def Box connect_in {} {}
! def Box draw {} {$self draw_box} def Box draw_box {} {} def Box edit {} {} --- 3561,3568 ---- def Box connect_in {} {}
! def Box draw {} { ! $self draw_box ! # if {[$self class] == "Canvas"} {$self restack} ! } def Box draw_box {} {} def Box edit {} {} *************** *** 3735,3738 **** --- 3793,3797 ----
def Wire delete {} { + if {![winfo exists .$@canvas.c]} {return} $@obj1 delete_wire $self $@obj2 delete_wire $self