Version 5 of icoview2

Updated 2004-10-10 02:59:10

if 0 {Richard Suchenwirth 2004-10-01 - After I posted icoview, kroc hinted me to the pure-Tcl ico extension in Tklib. This can also read (and write!) Windows icons from .exe and .dll files, and contains the ico::Show displayer, which renders the found images - in a slightly surprising way, as it packs a scrolled window under ., without having been told so, and adds a labelframe for each shown file.

http://mini.net/files/icoview2.gif

So here's my tiny wrapper around ico::Show, which just contributes an entry for the file name, and a Select (...) button which brings up a file selector: }

 package require Tk
 package require ico 0.3

 pack [frame .f] -fill x
 pack [button .f.b -text ... -command select] -side right
 pack [entry .f.e -textvariable filename -width 60] \
    -fill x -expand 1 -side left
 bind .f.e <Return> {ico::Show $filename}
 set ::dir [file dir [info script]]
 proc select {} {
    set fn [tk_getOpenFile -initialdir $::dir -f {
        {"All Icons" .exe} {"All Icons" .ico} {"All Icons" .dll}
        {Exe .exe} {DLL .dll} {Icon .ico} {"All files" *}}]
    if {$fn ne ""} {
        set ::dir [file dir $fn]
        set ::filename $fn
        ico::Show $fn
    }
 }
 select

 bind . <Escape> {exec wish $argv0 &; exit}

if 0 {

MG Oct 2nd 2004 - Edited very slightly so that the tk_getOpenFile has an option that shows .exe, .dll and .ico files all at once, so you can view all the valid "icon" files without all the spam of viewing *.*.


Arts and crafts of Tcl-Tk programming}