X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=pctb%2Fdictionary-manager;h=2c91a2a372be1a9cac3b5e5482b59bdfad8e51bd;hb=64063c86071bbfc2de0fe032e372e1321c4b34e5;hp=c1e983b6b35e7c65d2ea9223f4413b5c52936b22;hpb=8848415eea8db3c206dbc138732ff56ba51e83c6;p=ypp-sc-tools.db-live.git diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index c1e983b..2c91a2a 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -94,6 +94,13 @@ proc bgerror {m} { exit 16 } +proc execpnm_createphoto {photoname args} { + set tmpfile ./_dictimage.tmp + eval exec $args > $tmpfile + image create photo $photoname -file $tmpfile + file delete $tmpfile +} + #---------- display core ---------- set mul 6 @@ -145,6 +152,7 @@ static unsigned char csr_bits[] = { button .pe.ok -text OK pack .pe.grid .pe.ok -side left + bind .pe.ok { .pe.ok invoke } pack .d.mi .d.ctx -side top -anchor w pack .d -fill x -padx 2 -pady 2 @@ -249,7 +257,7 @@ proc write_database {} { proc select_database {dbname_spec} { global dbname set dbname $dbname_spec - read_database "./#local-$dbname#.txt" + read_database "./_local-$dbname.txt" } proc do_database_update {im def} { @@ -366,7 +374,9 @@ proc pixmap_select {ncol} { if {$col==$ncol} continue .pe.grid.l$col selection clear 0 end } - pixmap_maybe_ok + if {[pixmap_maybe_ok]} { + focus .pe.ok + } } proc pixmap_maybe_ok {} { global alloptions pixmap_selcol pixmap_selrow @@ -382,8 +392,10 @@ proc pixmap_maybe_ok {} { if {$nsel==1} { debug "MAYBE_OK YES col=$pixmap_selcol row=$pixmap_selrow." .pe.ok configure -state normal -command pixmap_ok + return 1 } else { .pe.ok configure -state disabled -command {} + return 0 } } proc pixmap_ok {} { @@ -417,8 +429,7 @@ proc required/pixmap {} { if {![string length $ppml]} break append ppm $ppml "\n" } - set data [exec pnmscale 2 << $ppm] - image create photo image/main -data $data + execpnm_createphoto image/main pnmscale 2 << $ppm set alloptions [exec ./database-info-fetch $unk_what] @@ -452,7 +463,7 @@ proc required/pixmap {} { pixmap_maybe_ok helptext { - {{Indicate the meaning of this image, and click OK.}} + {{Indicate the meaning of this image; then click OK or hit Return.}} } } @@ -695,11 +706,9 @@ proc char_read_pgm {f} { append o $ointerl } - debug "DATA1 $o" - set tmpfile ./#dictimage#.tmp - exec pnmscale 1 << $o >$tmpfile - image create photo image/main -file $tmpfile - file delete $tmpfile +# debug "DATA1 $o" + + execpnm_createphoto image/main pnmscale 1 << $o } #---------- character set editor display ---------- @@ -1198,9 +1207,7 @@ proc approve_showentry {ix file specdata} { set image [exec pgmtoppm {#008-white} << $image | pnmnoraw] append image "\n" } - set image [exec pnmscale 2 << $image] - - image create photo approve/$ix -data $image + execpnm_createphoto approve/$ix pnmscale 2 << $image label $wb-image -image approve/$ix -bd 2 -relief flat -bg black manyset [dict2_reqkind_rows $dict] reqkind