[PD-cvs] pd/src desire.tk,1.1.2.444,1.1.2.445

chunlee chunlee at users.sourceforge.net
Fri Sep 1 16:39:56 CEST 2006


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

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
fix several bugs on the classbrowser and the completion box


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.444
retrieving revision 1.1.2.445
diff -C2 -d -r1.1.2.444 -r1.1.2.445
*** desire.tk	1 Sep 2006 02:30:58 -0000	1.1.2.444
--- desire.tk	1 Sep 2006 14:39:53 -0000	1.1.2.445
***************
*** 1800,1804 ****
  	$self setto [$t get 1.0 1.end]
  	after 1 "destroy $t"
! 	#after 1 "destroy $propose"
  	focus $c
  }
--- 1800,1804 ----
  	$self setto [$t get 1.0 1.end]
  	after 1 "destroy $t"
! 	if {[winfo exists .completion]} {$@action cancel}
  	focus $c
  }
***************
*** 4631,4641 ****
  def Completion init {name x y textbox} {super $name $x $y $textbox}
  
! def ClassBrowser cancel {} {$self delete}
  def ClassBrowser delete {} {set @exist 0; super}
  
  def ClassBrowser init {name x y textbox} {
- 	#super
  	set @name $name
- 	set @focus ".completion.comp"
  	set @width 0
  	set @height 0
--- 4631,4645 ----
  def Completion init {name x y textbox} {super $name $x $y $textbox}
  
! def Completion cancel {} {
! 	bind $@textbox <Key>            "$@textself key %W %x %y %K %A 0"
! 	bind $@textbox <Control-Return> "$@textself key %W %x %y 10 %A 0"
! 	bind $@textbox <Return>         "$@textself unedit"
! 	bind $@textbox <Tab>      "$@textself key %W %x %y %K %A 0"
! 	focus $@textbox; $self delete
! }
  def ClassBrowser delete {} {set @exist 0; super}
  
  def ClassBrowser init {name x y textbox} {
  	set @name $name
  	set @width 0
  	set @height 0
***************
*** 4723,4737 ****
  	pack [button $b.close -text [say close] -command "destroy .$self"] -side right
  	pack $b -side bottom -fill x -expand no
  	$self fill_box ""
  	#bind $f.1 <Button-1> "after 1 \"$self info $f.1 \""
  	bind $f.1 <Button-1> "after 1 \"$self key Up $b.2\""
  	foreach w [list $f.1 $b.2] {
! 		bind $w       <KeyPress> "after 1 \"$self key %K $w 0\""
! 		bind $w <Shift-KeyPress> "after 1 \"$self key %K $w 1\""
  	}
  }
  
  def Completion list_callback {} {
! 	global class_list
  	$self search_for_externs
  	set class_list [luniq [lsort $class_list]]
--- 4727,4742 ----
  	pack [button $b.close -text [say close] -command "destroy .$self"] -side right
  	pack $b -side bottom -fill x -expand no
+ 	set @textbox $b.2
  	$self fill_box ""
  	#bind $f.1 <Button-1> "after 1 \"$self info $f.1 \""
  	bind $f.1 <Button-1> "after 1 \"$self key Up $b.2\""
  	foreach w [list $f.1 $b.2] {
! 		bind $w       <KeyPress> "after 1 \"$self key %K 0\""
! 		bind $w <Shift-KeyPress> "after 1 \"$self key %K 1\""
  	}
  }
  
  def Completion list_callback {} {
! 	global class_list look
  	$self search_for_externs
  	set class_list [luniq [lsort $class_list]]
***************
*** 4749,4752 ****
--- 4754,4758 ----
  		set cut [string first "text" $textself]
  		set textself [string range $textself 0 [expr $cut -1]]
+ 		set @textself [string range $textself 0 [expr $cut -1]]
  	}
  	#mset {x1 y1 x2 y2} [$textself bbox]
***************
*** 4759,4763 ****
  	listbox $f -width $@width -height $@height -relief flat \
  	    -bg [$canvas look compbg] -selectbackground [$canvas look compselectbg] \
! 	    -activestyle dotbox -selectforeground [$canvas look compselectfg] -fg [$canvas look compfg]
  	$self fill_box [$@textbox get 1.0 1.end]
  	$f configure -width $@width
--- 4765,4770 ----
  	listbox $f -width $@width -height $@height -relief flat \
  	    -bg [$canvas look compbg] -selectbackground [$canvas look compselectbg] \
! 	    -activestyle dotbox -selectforeground [$canvas look compselectfg] -fg [$canvas look compfg] \
! 	    -font $look(View:fontstring)
  	$self fill_box [$@textbox get 1.0 1.end]
  	$f configure -width $@width
***************
*** 4786,4793 ****
  	bind $f <Button-1> "after 1 \"$self complete\""
  	bind $f <Return>   "after 1 \"$self complete\""
! 	bind $f       <KeyPress> "$self key %K $@textbox 0"
! 	bind $f <Shift-KeyPress> "$self key %K $@textbox 1"
! 	bind $@textbox <Tab>      "$self key %K $@textbox; break"
! 	bind $@textbox <KeyPress> "$self key %K $@textbox"
  	focus .$self.comp
  }
--- 4793,4800 ----
  	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
  }
***************
*** 4806,4811 ****
  }
  
! def ClassBrowser key {key focus1 {shift 0}} {
! 	#focus1 = whatever
  	if {[regexp {x([0-9a-z]{6,8})text$} $@textbox textself]} {
  		set cut [string first "text" $textself]
--- 4813,4817 ----
  }
  
! def ClassBrowser key {key {shift 0}} {
  	if {[regexp {x([0-9a-z]{6,8})text$} $@textbox textself]} {
  		set cut [string first "text" $textself]
***************
*** 4815,4824 ****
  		Up|Down {
  			focus $@listbox
- 			set @focus $@listbox
  			set @select 0
! 			if {$@name == "browser"} {$self info $@listbox}
  		}
  		Escape {after 1 "$self cancel"} ;# doesn't really work
  		Tab {
  			set next [$@listbox index active]
  			incr next
--- 4821,4830 ----
  		Up|Down {
  			focus $@listbox
  			set @select 0
! 			if {$self == "browser"} {$self info $@listbox}
  		}
  		Escape {after 1 "$self cancel"} ;# doesn't really work
  		Tab {
+ 			focus $@listbox
  			set next [$@listbox index active]
  			incr next
***************
*** 4827,4844 ****
  			$@listbox selection clear 0 [expr [$@listbox size] - 1]
  			$@listbox selection set $next $next
! 			if {$next >= [expr $@height - 1]} {$@listbox yview scroll 1 units}
  		}
- 		Backspace {focus $focus1; set @focus $focus1}
  		default {
! 			if {$@focus == $@listbox} {
  				if {[regexp {^[a-zA-Z0-9~/\._]{1}$} $key]} {
  					switch $self {
  						browser {.$self.butt.2 insert end $key}
  						completion {
! 							$focus1 insert 1.end $key
  							$textself after_key $@textbox
! 							$self fill_box [$focus1 get 1.0 1.end]
! 							focus $focus1
! 							set @focus $focus1
  						}
  					}
--- 4833,4858 ----
  			$@listbox selection clear 0 [expr [$@listbox size] - 1]
  			$@listbox selection set $next $next
! 			#if {$next >= [expr $@height - 1]} {$@listbox yview scroll 1 units}
! 			$@listbox see $next
! 			if {$self == "browser"} {$self info $@listbox}
! 		}
! 		BackSpace {
! 			if {[focus] == $@listbox} {focus $@textbox}
! 			#classbrowser uses entry as input widget, where as completion is text widget...
! 			switch $self {
! 				browser {$self fill_box [$@textbox get]}
! 				completion {$self fill_box [$@textbox get 1.0 1.end]}
! 			}
  		}
  		default {
! 			if {[focus] == $@listbox} {
  				if {[regexp {^[a-zA-Z0-9~/\._]{1}$} $key]} {
  					switch $self {
  						browser {.$self.butt.2 insert end $key}
  						completion {
! 							$@textbox insert 1.end $key
  							$textself after_key $@textbox
! 							$self fill_box [$@textbox get 1.0 1.end]
! 							focus $@textbox
  						}
  					}
***************
*** 4846,4853 ****
  			}
  			switch $self {
! 				browser {$self fill_box [$focus1 get]}
  				completion {
! 					if {$@focus == $focus1 & $key != "Tab"} {
! 						if {[winfo exists .$self]} {$self fill_box [$focus1 get 1.0 1.end]}
  						#hum, no idea why i need after 1 for it to work...
  						after 1 $textself after_key $@textbox
--- 4860,4869 ----
  			}
  			switch $self {
! 				browser {
! 					if {[focus] == $@listbox} {return} else {$self fill_box [$@textbox get]}
! 				}
  				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
***************
*** 4897,4901 ****
  	set r [join $r "\n"]
  	mset {x1 y1 x2 y2} [$self bbox]
! 	Completion new_as completion $@canvas $x1 $y1 $widget
  }
  
--- 4913,4917 ----
  	set r [join $r "\n"]
  	mset {x1 y1 x2 y2} [$self bbox]
! 	set @action [Completion new_as completion $@canvas $x1 $y1 $widget]
  }
  





More information about the Pd-cvs mailing list