}
proc resize_widgets_core {} {
- global mulcols mulrows csrh gotsh ctxh glyphsdone
+ global mulcols mulrows csrh gotsh ctxh
global unk_l unk_contexts
foreach w {.d.csr .d.got .d.ctx} {
.d.mi.csr_$w configure -height $mulrows
}
set maxh 0
- foreach {min max contexts got} $glyphsdone {
- show_context maxh $min $contexts
+ foreach {min max context contexts got} $glyphsdone {
+ show_context maxh $min $context
foreach ctx $contexts { set all_contexts($ctx) 1 }
}
foreach ctx $unk_contexts { set all_contexts($ctx) 1 }
}
proc pixmap_ok {} {
global database ppm pixmap_selcol pixmap_selrow mainkind alloptions
+
+ return_result_start
foreach_pixmap_col col {
.d.pe.grid.l$col configure -state disabled
}
.d.pe.ok configure -state disabled
- helptext {{{ Processing }}}
+
manyset [lrange $alloptions [expr {$pixmap_selcol*3}] end] \
colname coldesc rows
manyset [lrange $rows [expr {$pixmap_selrow*2}] end] \
debug "UPDATE PIXMAP AS >$result<"
do_database_update $ppm $result
- done/$mainkind
+
+ return_result_done
}
proc required/pixmap {} {
set unk_l [expr {$unk_l - $chop_l}]
set unk_r [expr {$unk_r - $chop_l}]
set ngd {}
- foreach {min max contexts got} $glyphsdone {
+ foreach {min max context contexts got} $glyphsdone {
lappend ngd \
[expr {$min-$chop_l}] \
[expr {$max-$chop_l}] \
- $contexts $got
+ $context $contexts $got
}
set glyphsdone $ngd
set how q
} else {
set ab 0
- foreach {min max contexts got} $glyphsdone {
+ foreach {min max context contexts got} $glyphsdone {
set rhsmost_max $max
if {$x >= $min && $x <= $max} {
set how [lindex {a b} $ab]
proc draw_glyphsdone {} {
global glyphsdone mul inter
eval destroy [winfo children .d.got]
- foreach {min max contexts got} $glyphsdone {
+ foreach {min max context contexts got} $glyphsdone {
frame .d.got.m$min -bd 0 -background \#888
label .d.got.m$min.l -text "$got" -fg white -bg black -bd 0
pack .d.got.m$min.l -padx 1 -pady 1
global cur_already cur_mode cur_0 cur_1 last_ht
global glyphsdone unk_l unk_r
- set cur_already [expr {[llength $glyphsdone]/4-1}]
+ set cur_already [expr {[llength $glyphsdone]/5-1}]
set cur_mode 1 ;# one of: 0 1 already text
set cur_0 $unk_l
proc recursor/already {} {
global mul
- global glyphsdone
global cur_already mul
global glyphsdone cur_already mul
- char_exactly_selctxts [lindex $glyphsdone [expr {$cur_already*4+2}]]
+ char_exactly_selctxts [lindex $glyphsdone [expr {$cur_already*5+3}]]
.d.csr.csr.l configure -text {correct}
- set rmax [lindex $glyphsdone [expr {$cur_already*4}]]
+ set rmax [lindex $glyphsdone [expr {$cur_already*5}]]
place .d.csr.csr -x [expr {$rmax*$mul-3}]
bind_key Return {}
- bind_leftright_q cur_already 0 [expr {[llength $glyphsdone]/4-1}]
+ bind_leftright_q cur_already 0 [expr {[llength $glyphsdone]/5-1}]
bind_key space { bind_key Delete {}; set cur_mode 1; recursor }
bind_key Delete {
RETURN_RESULT DELETE [lrange $glyphsdone \
- [expr $cur_already*4] \
- [expr $cur_already*4+2]]
+ [expr $cur_already*5] \
+ [expr $cur_already*5+2]]
}
helptext {
{{<- ->} {move cursor, selecting glyph to correct}}
if {$c0 == $unk_l} {
set ncontexts $unk_contexts
} else {
- foreach {l r contexts got} $glyphsdone {
+ foreach {l r context contexts got} $glyphsdone {
if {$l==$c0} { set ncontexts $contexts; break }
}
if {![info exists ncontexts]} {
}
write_database
}
-
+
proc RETURN_RESULT {how what} {
- global mainkind
+ return_result_start
+
place forget .d.csr.csr
pack forget .d.csr.csr.e
- helptext {{{ Processing }}}
- unbind_all_keys
- update idletasks
+
debug "$how $what"
eval update_database/$how $what
- done/$mainkind
+
+ return_result_done
}
#========== server for approving updates ==========
#========== main program ==========
+proc return_result_start {} {
+ helptext {{{ Processing }}}
+ unbind_all_keys
+ update idletasks
+}
+proc return_result_finish {} {
+ global mainkind
+ done/$mainkind
+}
+
proc main/default {} {
puts stderr "Do not run this program directly."
exit 12