[PD-cvs] pd/src desire.tk,1.1.2.600.2.142,1.1.2.600.2.143
chunlee
chunlee at users.sourceforge.net
Thu Dec 28 03:51:04 CET 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29731
Modified Files:
Tag: desiredata
desire.tk
Log Message:
more on find....
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.142
retrieving revision 1.1.2.600.2.143
diff -C2 -d -r1.1.2.600.2.142 -r1.1.2.600.2.143
*** desire.tk 28 Dec 2006 00:03:50 -0000 1.1.2.600.2.142
--- desire.tk 28 Dec 2006 02:51:00 -0000 1.1.2.600.2.143
***************
*** 1751,1759 ****
#-----------------------------------------------------------------------------------#
def Canvas find {} {
! FindModel new_as findmodel $self
! FindView new $self
}
def Canvas find_again {} {
! if {[info exists @find_string]} {$@find_canvas search}
}
--- 1751,1761 ----
#-----------------------------------------------------------------------------------#
def Canvas find {} {
! if {[info exists ::_(findmodel:_class)]} {focus .$self.find.find} else {
! FindModel new_as findmodel $self
! FindView new $self
! }
}
def Canvas find_again {} {
! if {[info exists ::_(findmodel:_class)]} {findmodel search}
}
***************
*** 2851,2854 ****
--- 2853,2859 ----
set @find_string ""
set @find_break 0
+ set @lastcanvas ""
+ set @result ""
+ set @resultcanvas ""
set @views {}
}
***************
*** 2860,2895 ****
def FindModel find_string= {s} {set @find_string $s}
def FindModel find_string {} {return $@find_string}
! def FindModel find_break {} {return $@find_break}
! def FindModel find_break= {val} {set @find_break $val}
def FindModel views+ {view} {lappend @views $view}
def FindModel views {} {return $@views}
! def FindModel search {canvas} {
! set children [$canvas children]
! if {[findmodel find_break] == [llength $children]} {findmodel find_break= 0}
! set i [findmodel find_break]
! for {} {[findmodel find_break] < [llength $children]} {incr i} {
set child [lindex $children $i]
if {[[$child class] <= TextBox]} {
! if {[string first [findmodel find_string] [$child text] 0] >= 0} {
! set c [$canvas widget]
! if {[winfo exists $c]} {raise $c} else {$canvas popup_open}
! $canvas deselect_all
! $canvas selection= $child
! incr i
! break
! } else {
! if {[$child class] == "Canvas"} {
! #$self find_canvas= $child
! #$child find_break= 0
! #$child find_string= $@find_string
! $self search $child
! incr i
! break
! }
}
}
- if {$i == [llength $children]} {findmodel find_break= 0; break}
}
}
class_new FindView {FindModel} ;# no, using View is wrong here. View is for tk canvas item collections.
--- 2865,2903 ----
def FindModel find_string= {s} {set @find_string $s}
def FindModel find_string {} {return $@find_string}
! def FindModel result= {s} {
! $@orig_canvas deselect_all
! $@orig_canvas selection= $s
! set @result $s
! }
! def FindModel result {} {return $@result}
def FindModel views+ {view} {lappend @views $view}
def FindModel views {} {return $@views}
! def FindModel search {} {
! $self search_current
!
! }
!
! def FindModel search_current {} {
! set children [$@orig_canvas children]
! if {$@result == ""} {set i 0} else {set i [expr [lsearch $children $@result]+1]}
! for {} {$i < [llength $children]} {incr i} {
set child [lindex $children $i]
if {[[$child class] <= TextBox]} {
! if {[string first $@find_string [$child text] 0] >= 0} {
! $self result= $child
! return 1
}
}
}
+ $self result= ""
+ return 0
+
+ }
+
+ def FindModel search_recursive {} {
+ set children [$@orig_canvas children]
+ set canvas [$@orig_canvas get_nextchildcanvas $@lastcanvas]
+ if {$canvas == ""} {set @lastcanvas ""} else {set @lastcanvas $canvas}
}
class_new FindView {FindModel} ;# no, using View is wrong here. View is for tk canvas item collections.
***************
*** 2909,2913 ****
pack $f -side bottom -fill x -before $w
set string [findmodel find_string]
! if {$string != ""} {$f.find insert 0 $stringy}
focus $f.find
}
--- 2917,2921 ----
pack $f -side bottom -fill x -before $w
set string [findmodel find_string]
! if {$string != ""} {$f.find insert 0 $string}
focus $f.find
}
***************
*** 2940,2944 ****
set f [$self widget]
findmodel find_string= [$f.find get]
! $self search $@canvas
}
--- 2948,2953 ----
set f [$self widget]
findmodel find_string= [$f.find get]
! findmodel search
! focus .$@canvas.c
}
***************
*** 2949,2965 ****
}
- 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 {[info exists ::_(findmodel:_class)]} {FindView new $self}
}
def Canvas index {child} {
# this could be O(1) if the proper database were maintained.
--- 2958,2976 ----
}
def Canvas check_findbar {} {
if {[info exists ::_(findmodel:_class)]} {FindView new $self}
}
+ #returns the next child that is a Canvas
+ def Canvas get_nextchildcanvas {child} {
+ if {$child != ""} {
+ set i [expr [lsearch $@children $child]+1]
+ } else {set i 0}
+ for {} {$i < [llength $@children]} {incr i} {
+ set child [lindex $@children $i]
+ if {[$child class] == "Canvas"} {return $child; break}
+ }
+
+ }
+
def Canvas index {child} {
# this could be O(1) if the proper database were maintained.
More information about the Pd-cvs
mailing list