[PD-cvs] pd/src desire.tk,1.1.2.600.2.328,1.1.2.600.2.329
chunlee
chunlee at users.sourceforge.net
Thu Aug 9 05:21:37 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7905
Modified Files:
Tag: desiredata
desire.tk
Log Message:
a rather quick fix to handle ctrl+v resizing the text widget
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.328
retrieving revision 1.1.2.600.2.329
diff -C2 -d -r1.1.2.600.2.328 -r1.1.2.600.2.329
*** desire.tk 9 Aug 2007 02:07:52 -0000 1.1.2.600.2.328
--- desire.tk 9 Aug 2007 03:21:33 -0000 1.1.2.600.2.329
***************
*** 1356,1360 ****
def View draw {} {}
- #def View delete {} {if {[[$self class] <= Box]} {$self erase}; super}
def View delete {} {$self erase; super}
def View erase {} {$self item_delete}
--- 1356,1359 ----
***************
*** 2541,2544 ****
--- 2540,2544 ----
bind $t <Key> "$self key_input %W %x %y %K %A 0; after 0 \[$self resize %K\]"
bind $t <Control-Return> "$self key_input %W %x %y 10 %A 0"
+ bind $t <Control-v> "$self paste_resize"
bind $t <Return> "$self unedit"
bind $t <Escape> "$self unedit 0"
***************
*** 2604,2607 ****
--- 2604,2632 ----
}
+ def TextBox paste_resize {} {
+ if {[[$self class] <= AtomBox]} {return}
+ set c [$self cwidget]
+ set t $c.${self}text
+ $self long_line
+ set fixed [font metrics [$self look font] -fixed]
+ set text [clipboard get]
+ if {$fixed} {
+ set width [string length $text]
+ } else {
+ set textpix [font measure [$self look font] $text]
+ set fwidth [font measure [$self look font] 0]
+ set width [expr (($textpix+$fwidth-1)/$fwidth)+1]
+ }
+ set maxwidth 40
+ mset {y1 y2} [$t yview]
+ set height [$t cget -height]
+ if {$y2-$y1 < 1} {
+ set height [expr $height/($y2-$y1)]
+ }
+ $t configure -width [min $width $maxwidth] -height $height -wrap word
+ $self update_size
+ $self changed
+ }
+
def TextBox scroll_history {incr} {
set c [$self cwidget]
***************
*** 7426,7429 ****
--- 7451,7455 ----
def Dialog apply {} {}
def Dialog delete {} {destroy .$self; super}
+ def Dialog erase {} {}; # so that it doesn't call View erase
def Dialog init {args} {
More information about the Pd-cvs
mailing list