Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14839
Modified Files: Tag: desiredata desire.tk Log Message: sync subsequent findbar with the toplevel findbar
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.600.2.140 retrieving revision 1.1.2.600.2.141 diff -C2 -d -r1.1.2.600.2.140 -r1.1.2.600.2.141 *** desire.tk 26 Dec 2006 22:55:35 -0000 1.1.2.600.2.140 --- desire.tk 27 Dec 2006 19:07:43 -0000 1.1.2.600.2.141 *************** *** 1512,1515 **** --- 1512,1517 ---- set @copy_count 0 set @visible_children {} + set @findbar "" + set @find_string "" }
*************** *** 1775,1779 **** --- 1777,1783 ---- } } + def Canvas findbar {} {return $@findbar} def Canvas find_string= {s} {set @find_string $s} + def Canvas find_string {} {return $@find_string} def Canvas find_break= {i} {set @find_break $i}; #$used for find again def Canvas find_canvas= {canvas} {set @find_canvas $canvas}; #used for find in nested [pd] *************** *** 1931,1934 **** --- 1935,1945 ---- }
+ def Canvas get_topcanvas {} { + set canvas $@canvas + if {$@canvas == ""} {return $self} + while {[$canvas canvas] != ""} {set canvas [$canvas canvas]} + return $canvas + } + def Canvas do_insert_obj {x y} { if {$x == "none" && $y == "none"} { *************** *** 2099,2102 **** --- 2110,2114 ---- } elseif {$@subpatch || $@abs} {super} if {!$@mapped} {return} else {if {![winfo exists [$self widget]]} {return}} + $self check_findbar if {$@editmode} {set bg [$self look bgedit]} else {set bg [$self look bgrun]} [$self widget] configure -background $bg *************** *** 2904,2909 ****
def FindBar remove {} { ! set f [$self widget] ! destroy $f focus .$@canvas.c } --- 2916,2920 ----
def FindBar remove {} { ! [$@canvas get_topcanvas] remove_findbar focus .$@canvas.c } *************** *** 2935,2938 **** --- 2946,2970 ---- }
+ def Canvas remove_findbar {} { + set f [$@findbar widget] + destroy $f + foreach child $@children { + if {[$child class] == "Canvas" && [winfo exists .$child.c]} { + $child remove_findbar + } + } + } + + def Canvas check_findbar {} { + if {$@canvas == "" || [winfo exists .$self.find]} {return} + set topcan [$self get_topcanvas] + if {[$topcan findbar] != ""} { + if {[winfo exists .$self.yscroll]} {set w .$self.yscroll} else {set w .$self.c} + set @findbar [FindBar new $self] + set fw [$@findbar widget] + ${fw}.find insert 0 [$topcan find_string] + pack [$@findbar widget] -side bottom -fill x -before $w + } + } def Canvas index {child} { # this could be O(1) if the proper database were maintained.