[PD-cvs] pd/src desire.tk,1.1.2.464,1.1.2.465

chunlee chunlee at users.sourceforge.net
Tue Sep 12 17:00:52 CEST 2006


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

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
first commit for multiple line textbox


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.464
retrieving revision 1.1.2.465
diff -C2 -d -r1.1.2.464 -r1.1.2.465
*** desire.tk	8 Sep 2006 13:42:25 -0000	1.1.2.464
--- desire.tk	12 Sep 2006 15:00:49 -0000	1.1.2.465
***************
*** 1636,1639 ****
--- 1636,1640 ----
  	set @y1 [lindex $mess 3]
  	set @text [lrange $mess 4 end]
+ 	set @longline 0
  }
  
***************
*** 1648,1652 ****
      if {$@edit} {
  	set t [$@canvas widget].${self}text
! 	$t configure -width [string length [$t get 0.0 end]]
      } {
  	$self item TEXT text [l+ {2 2} [list $x1 $y1]] \
--- 1649,1654 ----
      if {$@edit} {
  	set t [$@canvas widget].${self}text
! 	#$t configure -width [string length [$t get 1.0 1.end]]
! 	$t configure -width [string length [$t get $@longline.0 $@longline.end]]
      } {
  	$self item TEXT text [l+ {2 2} [list $x1 $y1]] \
***************
*** 1668,1671 ****
--- 1670,1674 ----
  	set @edit 1
  	set @tab_repeats 0
+ 	set @longline 0
  	$@canvas obj_in_edit= $self
  	set @selected? 1
***************
*** 1695,1700 ****
--- 1698,1708 ----
  def TextBox key {widget x y key iso shift} {
  	after 0 "$self after_key $widget"
+ 	set c [$@canvas widget]
+ 	set t $c.${self}text
+ 	#$self long_line
+ 	#$t configure -width [string length [$t get $@longline.0 $@longline.end]]
  	switch -- $key {
  		Tab {$self propose_completions; $widget configure -state disabled}
+ 		10 {$t configure -height [expr [lindex [$t configure -height] 4] + 1]}
  		#default {lower [$@canvas widget].${self}propose $widget; set @tab_repeats 0}
  	}
***************
*** 1702,1718 ****
  
  def TextBox after_key {widget} {
! 	$widget configure -state normal
  	$self changed
  }
  
  def TextBox update_size {} {
! 	global font
  	if {$@canvas == ""} {puts "update_size: this textbox has no canvas, try again later"; return}
  	set n [string length $@text]
  	set c [$@canvas widget]
  	set padx [$self look fontpadx];set pady [$self look fontpady]
  	set width [font measure [$self look fontstring] W]
! 	set height [font metrics [$self look fontstring] -linespace]
  	#set width [$self look fontwidth];set height [$self look fontheight]
  	set textwidth [expr $padx+$width*($n+$@edit)]
  	if {[llength [$c gettags ${self}TEXT]]} {
--- 1710,1745 ----
  
  def TextBox after_key {widget} {
! 	#$widget configure -state normal
! 	$self long_line
  	$self changed
  }
  
+ def TextBox long_line {} {
+ 	set c [$@canvas widget]
+ 	set t $c.${self}text
+ 	set lines [lindex [$t configure -height] 4]
+ 	for {set line 1} {$line <= $lines} {incr line} {
+ 		set len [string length [$c.${self}text get $line.0 $line.end]]
+ 		set len2 [string length [$c.${self}text get $@longline.0 $@longline.end]]
+ 		if {$len > $len2} {set @longline $line}
+ 	}
+ }
+ 
  def TextBox update_size {} {
! 	 global font
  	if {$@canvas == ""} {puts "update_size: this textbox has no canvas, try again later"; return}
  	set n [string length $@text]
  	set c [$@canvas widget]
+ 	set t $c.${self}text
  	set padx [$self look fontpadx];set pady [$self look fontpady]
  	set width [font measure [$self look fontstring] W]
! 	if {[winfo exists $c.${self}text]} {
! 		set height [expr [lindex [$t configure -height] 4] * \
! 				[font metrics [$self look fontstring] -linespace]]
! 	} else {
! 		set height [font metrics [$self look fontstring] -linespace]
! 	}
  	#set width [$self look fontwidth];set height [$self look fontheight]
+ 	#set height [font metrics [$self look fontstring] -linespace]
  	set textwidth [expr $padx+$width*($n+$@edit)]
  	if {[llength [$c gettags ${self}TEXT]]} {
***************
*** 1722,1728 ****
  	#if {[llength [$c gettags ${self}text]]} {
  	catch {
! 		set n [expr [string length [$c.${self}text get 1.0 1.end]] -1]
! 		mset {x1 y1 w h} [$c.${self}text bbox 1.$n]
! 		set textwidth [expr ($padx + $x1 + ($w * 2)+$padx+2) / [$@canvas zoom]]	
  	}
  	#}
--- 1749,1758 ----
  	#if {[llength [$c gettags ${self}text]]} {
  	catch {
! 		#set n [expr [string length [$c.${self}text get 1.0 1.end]] -1]
! 		set n [expr [string length [$c.${self}text get $@longline.0 $@longline.end]] -1]
! 		#mset {x1 y1 w h} [$c.${self}text bbox 1.$n]
! 		mset {x1 y1 w h} [$c.${self}text bbox $@longline.$n]
! 		set textwidth [expr ($padx + $x1 + ($w * 2)+$padx+2) / [$@canvas zoom]]
! 
  	}
  	#}
***************
*** 1820,1824 ****
  	set t $c.${self}text
  	set propose $c.${self}propose
! 	$self setto [$t get 1.0 1.end]
  	after 1 "destroy $t"
  	if {[winfo exists .completion]} {$@action cancel}
--- 1850,1854 ----
  	set t $c.${self}text
  	set propose $c.${self}propose
! 	$self setto [$t get 1.0 end]
  	after 1 "destroy $t"
  	if {[winfo exists .completion]} {$@action cancel}





More information about the Pd-cvs mailing list