From 40a2e83600face2535bd28b6aa9d94b80a2af15e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 4 Jul 2009 15:18:09 +0100 Subject: [PATCH] Make entry/cursor box always be on screen. Move various stuff out of the .d frame. --- pctb/dictionary-manager | 77 +++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index a638d9e..6814586 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -108,7 +108,7 @@ proc init_widgets {} { upload_init - frame .d -bd 2 -relief groove -pady 2 -padx 2 + frame .d -pady 2 -padx 2 -bg black -bd 2 -relief sunken image create bitmap image/main label .d.mi -image image/main -bd 0 @@ -117,7 +117,8 @@ proc init_widgets {} { frame .d.got -bg black -height $gotsh frame .d.ctx -bg black - image create bitmap image/cursor -data \ + image create bitmap image/cursor -foreground white -background black \ + -data \ {#define csr_width 11 #define csr_height 11 static unsigned char csr_bits[] = { @@ -126,20 +127,20 @@ static unsigned char csr_bits[] = { } frame .d.csr.csr - label .d.csr.csr.l -image image/cursor -compound left + label .d.csr.csr.l -image image/cursor -compound left -fg white -bg black entry .d.csr.csr.e -bd 0 pack .d.csr.csr.l -side left - frame .d.selctx -bd 2 -relief groove + frame .selctx -bd 2 -relief groove frame .d.mi.csr_0 -bg white -width 1 frame .d.mi.csr_1 -bg white -width 1 - frame .d.pe - frame .d.pe.grid + frame .pe + frame .pe.grid - button .d.pe.ok -text OK - pack .d.pe.grid .d.pe.ok -side left + button .pe.ok -text OK + pack .pe.grid .pe.ok -side left - pack .d.mi .d.ctx -side top + pack .d.mi .d.ctx -side top -anchor w pack .d -fill x -padx 2 -pady 2 frame .help -bd 2 -relief groove @@ -150,9 +151,10 @@ proc resize_widgets_core {} { global mulcols mulrows csrh gotsh ctxh global unk_l unk_contexts - foreach w {.d.csr .d.got .d.ctx .d.mi} { + foreach w {.d.csr .d.got .d.ctx} { $w configure -width $mulcols } + .d.csr configure -width [expr {$mulcols+150}] eval destroy [winfo children .d.ctx] } @@ -276,30 +278,31 @@ proc required/char {} { } foreach ctx $unk_contexts { set all_contexts($ctx) 1 } - eval destroy [winfo children .d.selctx] - label .d.selctx.title -text \ + eval destroy [winfo children .selctx] + label .selctx.title -text \ {Select match context for altering dictionary:} - pack .d.selctx.title -side left + pack .selctx.title -side left set new_context [lindex $unk_contexts 0] set ci 0; foreach ctx [lsort [array names all_contexts]] { set all_contexts($ctx) $ci - set selw .d.selctx.c$ci + set selw .selctx.c$ci set seltxt $ctx radiobutton $selw -variable new_context -value $ctx -text $seltxt pack $selw -side left incr ci } $selw configure -text "$seltxt." - label .d.selctx.warning -text {See README.charset.} - pack .d.selctx.warning -side left + label .selctx.warning -text {See README.charset.} + pack .selctx.warning -side left show_context maxh $unk_l $unk_contexts .d.ctx configure -height $maxh - pack forget .d.pe - pack .d.selctx .d.csr -side top -before .d.mi - pack .d.got .d.ctx -side top -after .d.mi - pack configure .d.selctx -fill x + pack forget .pe + pack .selctx -before .d -padx 2 -fill x + pack .d.csr -side top -before .d.mi -anchor w + pack .d.got .d.ctx -side top -after .d.mi -anchor w + pack configure .selctx -fill x focus .d select_database char$rows @@ -355,7 +358,7 @@ proc pixmap_select {ncol} { debug "PIX SELECT $ncol [llength $alloptions]" foreach_pixmap_col col { if {$col==$ncol} continue - .d.pe.grid.l$col selection clear 0 end + .pe.grid.l$col selection clear 0 end } pixmap_maybe_ok } @@ -363,7 +366,7 @@ proc pixmap_maybe_ok {} { global alloptions pixmap_selcol pixmap_selrow set nsel 0 foreach_pixmap_col col { - set cs [.d.pe.grid.l$col curselection] + set cs [.pe.grid.l$col curselection] set lcs [llength $cs] if {!$lcs} continue incr nsel $lcs @@ -372,9 +375,9 @@ proc pixmap_maybe_ok {} { } if {$nsel==1} { debug "MAYBE_OK YES col=$pixmap_selcol row=$pixmap_selrow." - .d.pe.ok configure -state normal -command pixmap_ok + .pe.ok configure -state normal -command pixmap_ok } else { - .d.pe.ok configure -state disabled -command {} + .pe.ok configure -state disabled -command {} } } proc pixmap_ok {} { @@ -382,9 +385,9 @@ proc pixmap_ok {} { return_result_start foreach_pixmap_col col { - .d.pe.grid.l$col configure -state disabled + .pe.grid.l$col configure -state disabled } - .d.pe.ok configure -state disabled + .pe.ok configure -state disabled manyset [lrange $alloptions [expr {$pixmap_selcol*3}] end] \ colname coldesc rows @@ -421,23 +424,23 @@ proc required/pixmap {} { place forget .d.mi.csr_0 place forget .d.mi.csr_1 - pack forget .d.selctx .d.csr .d.got - pack .d.pe -side top -before .d.mi -pady 2 + pack forget .selctx .d.csr .d.got + pack .pe -side top -before .d -pady 2 .d configure -takefocus 0 #-pady 2 -fill x - eval destroy [winfo children .d.pe.grid] + eval destroy [winfo children .pe.grid] set col 0; foreach {colname coldesc rows} $alloptions { debug "INIT $col $colname \"$coldesc\"" - label .d.pe.grid.t$col -text $colname - listbox .d.pe.grid.l$col + label .pe.grid.t$col -text $colname + listbox .pe.grid.l$col foreach {rowname rowdesc} $rows { debug "INIT $col $colname \"$coldesc\" $rowname \"$rowdesc\"" - .d.pe.grid.l$col insert end $rowdesc + .pe.grid.l$col insert end $rowdesc } - bind .d.pe.grid.l$col <> [list pixmap_select $col] - grid .d.pe.grid.t$col -column $col -row 0 - grid .d.pe.grid.l$col -column $col -row 1 + bind .pe.grid.l$col <> [list pixmap_select $col] + grid .pe.grid.t$col -column $col -row 0 + grid .pe.grid.l$col -column $col -row 1 incr col } pixmap_maybe_ok @@ -732,7 +735,7 @@ proc char_exactly_selctxts {contexts} { global all_contexts foreach ctx [array names all_contexts] { set ci $all_contexts($ctx) - set selw .d.selctx.c$ci + set selw .selctx.c$ci if {[lsearch -exact $contexts $ctx]>=0} { set state normal } else { @@ -813,7 +816,7 @@ proc recursor/text {} { {Escape {abandon entry}} } unbind_all_keys - pack .d.csr.csr.e -side left + pack .d.csr.csr.e -side left -padx 2 focus .d.csr.csr.e bind .d.csr.csr.e { set strq [.d.csr.csr.e get] -- 2.30.2