chiark / gitweb /
factor out execpnm_createphoto and use it everywhere
[ypp-sc-tools.web-live.git] / pctb / dictionary-manager
index ad05c6b1760b343571a1bb3b052b57f17c2b8f82..19e067c93ba188a21222cb8411845ce19ef13b14 100755 (executable)
@@ -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
@@ -422,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]
 
@@ -700,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 ----------
@@ -1203,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