Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4120
Modified Files: Tag: devel_0_39 desire.tk Log Message: commit some code for the object name tab completion, will continue on this a bit later....
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.197 retrieving revision 1.1.2.198 diff -C2 -d -r1.1.2.197 -r1.1.2.198 *** desire.tk 3 May 2006 14:01:15 -0000 1.1.2.197 --- desire.tk 5 May 2006 16:20:59 -0000 1.1.2.198 *************** *** 1295,1299 **** class_new TextBox {Box}
! def TextBox draw {} { # TEXT = the text label # text = the input text field --- 1295,1299 ---- class_new TextBox {Box}
! def* TextBox draw {} { # TEXT = the text label # text = the input text field *************** *** 1320,1346 **** global look font if {$@edit} {return} set @edit 1 $@canvas obj_in_edit= $self set @selected? 1 .$@canvas.c delete ${self}TEXT #set @oldtext $@text - set t .$@canvas.c.${self}text $self update_size $self changed text $t -height 1 -width [expr [string length $@text]+1] -relief flat \ -bg ${look(objectbg)} -borderwidth 0 -highlightthickness 0\ -font $font(str) -fg $look(objectfg) ! #text $t -height 1 -width $@textchars -relief flat \ ! # -bg ${look(objectbg)} -borderwidth 0 -highlightthickness 0\ ! # -font [format -*-courier-medium--normal--%d-* $font(size)] bind $t <Key> "$self key %W %x %y %K %A 0" bind $t <Control-Return> "$self key %W %x %y 10 %A 0" bind $t <Return> "$self unedit" mset {cx cy} [$self xy] .$@canvas.c create window [expr $cx+2] [expr $cy+2] \ ! -window $t -anchor nw -tags "${self}text $self" #$self draw $t configure -pady 0 -padx 1 ! $t insert 1.0 $@text focus $t } --- 1320,1355 ---- global look font if {$@edit} {return} + set t .$@canvas.c.${self}text + set propose .$@canvas.c.${self}propose set @edit 1 + set @tab_repeats 0 $@canvas obj_in_edit= $self set @selected? 1 .$@canvas.c delete ${self}TEXT #set @oldtext $@text $self update_size $self changed + # for display tab completion + text $propose -height 1 -width [expr [string length $@text]+1] -relief flat \ + -bg ${look(objectbg)} -borderwidth 0 -highlightthickness 0\ + -font $font(str) -fg red text $t -height 1 -width [expr [string length $@text]+1] -relief flat \ -bg ${look(objectbg)} -borderwidth 0 -highlightthickness 0\ -font $font(str) -fg $look(objectfg) ! #${look(objectbg)} bind $t <Key> "$self key %W %x %y %K %A 0" bind $t <Control-Return> "$self key %W %x %y 10 %A 0" bind $t <Return> "$self unedit" mset {cx cy} [$self xy] + # for display tab completion + # need to look into this font(height) for setting the -height..... no idea why .$@canvas.c create window [expr $cx+2] [expr $cy+2] \ ! -window $propose -anchor nw -tags "${self}propose $self" -height $font(height) ! .$@canvas.c create window [expr $cx+2] [expr $cy+2] \ ! -window $t -anchor nw -tags "${self}text $self" #$self draw $t configure -pady 0 -padx 1 ! $t insert 1.0 $@text ! #set @entered [$t get 1.0 1.end] focus $t } *************** *** 1350,1353 **** --- 1359,1364 ---- switch -- $key { Tab {$self propose_completions; $widget configure -state disabled} + #default {.$@canvas.c coords ${self}propose -100 -100; set @tab_repeats 0} + default {lower .$@canvas.c.${self}propose $widget; set @tab_repeats 0} } } *************** *** 1391,1395 **** }
! def ObjectBox draw {} { $self update_size set xs $@xs --- 1402,1406 ---- }
! def* ObjectBox draw {} { $self update_size set xs $@xs *************** *** 1422,1428 **** --- 1433,1441 ---- set c .$@canvas.c set t $c.${self}text + set propose $c.${self}propose set @text [$t get 1.0 1.end] $self erase after 1 "destroy $t" + after 1 "destroy $propose" set l {} foreach char [split $@text ""] {lappend l [scan $char %c]} *************** *** 3331,3334 **** --- 3344,3351 ---- def TextBox propose_completions {} { global class_list + # .x8241f48.c.x8242130text + set widget .$@canvas.c.${self}text + set propose .$@canvas.c.${self}propose + #$propose configure -state normal if {![info exists class_list]} { pd pd update-class-list $self propose_completions *************** *** 3337,3340 **** --- 3354,3358 ---- } set r {} + set c {} set n 0 set prev "" *************** *** 3343,3348 **** --- 3361,3368 ---- if {[string compare [say $class] "{{$class}}"]} { lappend r "$class : [say $class]" + lappend c $class } { lappend r $class + lappend c $class } incr n *************** *** 3350,3357 **** if {$n > 16} {lappend r ...; break} } - #post_to_gui "$r\n" set r [join $r "\n"] mset {x1 y1 x2 y2} [$self bbox] ! $@canvas show_tooltip $x2 $y1 $r }
--- 3370,3384 ---- if {$n > 16} {lappend r ...; break} } set r [join $r "\n"] + set next_obj [lindex $c $@tab_repeats] + puts "tab....$@tab_repeats ::: $next_obj" + $propose configure -width [string length $next_obj] + $propose delete 1.0 1.end + $propose insert 1.0 $next_obj mset {x1 y1 x2 y2} [$self bbox] ! #.$@canvas.c coords ${self}propose [expr $x1+1] [expr $y1+1] ! raise $propose $widget ! #$@canvas show_tooltip $x2 $y1 $r ! incr @tab_repeats }