[PD-cvs] pd/src desire.tk,1.1.2.519,1.1.2.520

chunlee chunlee at users.sourceforge.net
Fri Oct 20 01:50:08 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12232

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
fixed a few things in the completion box code. next: tidy up ClassBrowser key....


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.519
retrieving revision 1.1.2.520
diff -C2 -d -r1.1.2.519 -r1.1.2.520
*** desire.tk	19 Oct 2006 18:01:08 -0000	1.1.2.519
--- desire.tk	19 Oct 2006 23:50:04 -0000	1.1.2.520
***************
*** 5373,5379 ****
  			if {[can_say $class]} {append t "  [say $class]"}
  			$@listbox insert end $t
! 			if {[string length $t] > [string length $@width]} {set @width [string length $t]}
  		}
  	}
  	$@listbox selection set 0 0
  }
--- 5373,5382 ----
  			if {[can_say $class]} {append t "  [say $class]"}
  			$@listbox insert end $t
! 			#if {[string length $t] > [string length $@width]} {set @width [string length $t]}
! 			if {[string length $t] > $@width} {set @width [string length $t]}
  		}
  	}
+ 	set none " no matches "
+ 	if {![$@listbox size]} {$@listbox insert 0 $none; set @width [string length $none]}
  	$@listbox selection set 0 0
  }
***************
*** 5467,5473 ****
  	set f .$self.comp
  	set @listbox $f
! 	set rootx [winfo rootx .$@name.c]
! 	set rooty [winfo rooty .$@name.c]
! 	set max [wm maxsize .$self]
  	if {[regexp {x([0-9a-z]{6,8})text$} $@textbox textself]} {
  		set cut [string first "text" $textself]
--- 5470,5477 ----
  	set f .$self.comp
  	set @listbox $f
! 	set @rootx [winfo rootx .$@name.c]
! 	set @rooty [winfo rooty .$@name.c]
! 	set @max [wm maxsize .$self]
! 
  	if {[regexp {x([0-9a-z]{6,8})text$} $@textbox textself]} {
  		set cut [string first "text" $textself]
***************
*** 5475,5482 ****
  		set @textself [string range $textself 0 [expr $cut -1]]
  	}
- 	#mset {x1 y1 x2 y2} [$textself bbox]
- 	mset {x1 y1 x2 y2} [lmap * [$textself bbox] [$@name zoom]]
- 	set x1 [format %0.f $x1];set y1 [format %0.f $y1]
- 	set x2 [format %0.f $x2];set y2 [format %0.f $y2]
  	puts " 	       --> [$canvas look showcomp]  <--"
  	if {[$canvas look showcomp] <= 20} {
--- 5479,5482 ----
***************
*** 5486,5490 ****
--- 5486,5506 ----
  	    -activestyle dotbox -selectforeground [$canvas look compselectfg] -fg [$canvas look compfg] \
  	    -font $look(View:font)
+ 	$self adjust_box
+ 	
+ 	bind $f <Button-1> "after 1 \"$self complete\""
+ 	bind $f <Return>   "after 1 \"$self complete\""
+ 	bind $f       <KeyPress> "$self key %K 0"
+ 	bind $f <Shift-KeyPress> "$self key %K 1"
+ 	bind $@textbox <Tab>      "$self key %K ; break"
+ 	bind $@textbox <KeyPress> "$self key %K "
+ 	focus .$self.comp
+ }
+ 
+ def Completion adjust_box {} {
+ 	mset {x1 y1 x2 y2} [lmap * [$@textself bbox] [$@name zoom]]
+ 	set x1 [format %0.f $x1];set y1 [format %0.f $y1]
+ 	set x2 [format %0.f $x2];set y2 [format %0.f $y2]
  	$self fill_box [$@textbox get 1.0 1.end]
+ 	set f .$self.comp
  	$f configure -width $@width
  	set box_width  [winfo reqwidth  $f]
***************
*** 5496,5521 ****
  	
  	#test the right edge of the screen, assuming the left edge has enough space
! 	if {[expr $x1+$rootx+$box_width] < [lindex $max 0]} {
! 		set box_x [expr $x1+$rootx]
  	} else {
! 		set box_x [expr $x2 - $box_width + $rootx]
  	}
  	#test the lower edge of the screen, assuming the upper edge has enough space
! 	if {[expr $y2+$rooty+$box_height] < [lindex $max 1]} {
! 		set box_y [expr $y2 + 5 + $rooty]
  	} else {
! 		set box_y [expr $y1 - $box_height - 2 + $rooty]
  	}
  	
  	wm geometry .$self [winfo reqwidth .$self]x[winfo reqheight .$self]+$box_x+$box_y
! 	
! 	bind $f <Button-1> "after 1 \"$self complete\""
! 	bind $f <Return>   "after 1 \"$self complete\""
! 	bind $f       <KeyPress> "$self key %K 0"
! 	bind $f <Shift-KeyPress> "$self key %K 1"
! 	bind $@textbox <Tab>      "$self key %K ; break"
! 	bind $@textbox <KeyPress> "$self key %K "
! 	focus .$self.comp
! }
  
  def ClassBrowser current_class {} {
--- 5512,5530 ----
  	
  	#test the right edge of the screen, assuming the left edge has enough space
! 	if {[expr $x1+$@rootx+$box_width] < [lindex $@max 0]} {
! 		set box_x [expr $x1+$@rootx]
  	} else {
! 		set box_x [expr $x2 - $box_width + $@rootx]
  	}
  	#test the lower edge of the screen, assuming the upper edge has enough space
! 	if {[expr $y2+$@rooty+$box_height] < [lindex $@max 1]} {
! 		set box_y [expr $y2 + 5 + $@rooty]
  	} else {
! 		set box_y [expr $y1 - $box_height - 2 + $@rooty]
  	}
  	
  	wm geometry .$self [winfo reqwidth .$self]x[winfo reqheight .$self]+$box_x+$box_y
! 
! } 
  
  def ClassBrowser current_class {} {
***************
*** 5570,5574 ****
  			switch $self {
  				browser {$self fill_box [$@textbox get]}
! 				completion {$self fill_box [$@textbox get 1.0 1.end]}
  			}
  		}
--- 5579,5587 ----
  			switch $self {
  				browser {$self fill_box [$@textbox get]}
! 				completion {
! 					$self adjust_box
! 					#$self fill_box [$@textbox get 1.0 1.end]
! 					#.$self.comp configure -width $@width
! 				}
  			}
  		}
***************
*** 5584,5588 ****
  							$@textbox insert 1.end $key
  							$textself after_key $@textbox
! 							$self fill_box [$@textbox get 1.0 1.end]
  							focus $@textbox
  						}
--- 5597,5603 ----
  							$@textbox insert 1.end $key
  							$textself after_key $@textbox
! 							#$self fill_box [$@textbox get 1.0 1.end]
! 							#.$self.comp configure -width $@width
! 							$self adjust_box
  							focus $@textbox
  						}
***************
*** 5596,5600 ****
  				completion {
  					if {[focus] == $@textbox & $key != "Tab"} {
! 						if {[winfo exists .$self]} {$self fill_box [$@textbox get 1.0 1.end]}
  						#hum, no idea why i need after 1 for it to work...
  						after 1 $textself after_key $@textbox
--- 5611,5619 ----
  				completion {
  					if {[focus] == $@textbox & $key != "Tab"} {
! 						if {[winfo exists .$self]} {
! 							#$self fill_box [$@textbox get 1.0 1.end]
! 							#.$self.comp configure -width $@width
! 							$self adjust_box
! 						}
  						#hum, no idea why i need after 1 for it to work...
  						after 1 $textself after_key $@textbox





More information about the Pd-cvs mailing list