[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.217.116.245: ~ $
# image2.tcl --
#
# This demonstration script creates a simple collection of widgets
# that allow you to select and view images in a Tk label.

if {![info exists widgetDemo]} {
    error "This script should be run from the \"widget\" demo."
}

package require Tk

# loadDir --
# This procedure reloads the directory listbox from the directory
# named in the demo's entry.
#
# Arguments:
# w -			Name of the toplevel window of the demo.

proc loadDir w {
    global dirName

    $w.f.list delete 0 end
    foreach i [lsort [glob -type f -directory $dirName *]] {
	$w.f.list insert end [file tail $i]
    }
}

# selectAndLoadDir --
# This procedure pops up a dialog to ask for a directory to load into
# the listobx and (if the user presses OK) reloads the directory
# listbox from the directory named in the demo's entry.
#
# Arguments:
# w -			Name of the toplevel window of the demo.

proc selectAndLoadDir w {
    global dirName
    set dir [tk_chooseDirectory -initialdir $dirName -parent $w -mustexist 1]
    if {[string length $dir] != 0} {
	set dirName $dir
	loadDir $w
    }
}

# loadImage --
# Given the name of the toplevel window of the demo and the mouse
# position, extracts the directory entry under the mouse and loads
# that file into a photo image for display.
#
# Arguments:
# w -			Name of the toplevel window of the demo.
# x, y-			Mouse position within the listbox.

proc loadImage {w x y} {
    global dirName

    set file [file join $dirName [$w.f.list get @$x,$y]]
    if {[catch {
	image2a configure -file $file
    }]} then {
	# Mark the file as not loadable
	$w.f.list itemconfigure @$x,$y -bg \#c00000 -selectbackground \#ff0000
    }
}

set w .image2
catch {destroy $w}
toplevel $w
wm title $w "Image Demonstration #2"
wm iconname $w "Image2"
positionWindow $w

label $w.msg -font $font -wraplength 4i -justify left -text "This demonstration allows you to view images using a Tk \"photo\" image.  First type a directory name in the listbox, then type Return to load the directory into the listbox.  Then double-click on a file name in the listbox to see that image."
pack $w.msg -side top

## See Code / Dismiss buttons
set btns [addSeeDismiss $w.buttons $w]
pack $btns -side bottom -fill x

frame $w.mid
pack $w.mid -fill both -expand 1

labelframe $w.dir -text "Directory:"
# Main widget program sets variable tk_demoDirectory
set dirName [file join $tk_demoDirectory images]
entry $w.dir.e -width 30 -textvariable dirName
button $w.dir.b -pady 0 -padx 2m -text "Select Dir." \
	-command "selectAndLoadDir $w"
bind $w.dir.e <Return> "loadDir $w"
pack $w.dir.e -side left -fill both -padx 2m     -pady 2m -expand true
pack $w.dir.b -side left -fill y    -padx {0 2m} -pady 2m
labelframe $w.f -text "File:" -padx 2m -pady 2m

listbox $w.f.list -width 20 -height 10 -yscrollcommand "$w.f.scroll set"
scrollbar $w.f.scroll -command "$w.f.list yview"
pack $w.f.list $w.f.scroll -side left -fill y -expand 1
$w.f.list insert 0 earth.gif earthris.gif teapot.ppm
bind $w.f.list <Double-1> "loadImage $w %x %y"

catch {image delete image2a}
image create photo image2a
labelframe $w.image -text "Image:"
label $w.image.image -image image2a
pack $w.image.image -padx 2m -pady 2m

grid $w.dir -        -sticky ew -padx 1m -pady 1m -in $w.mid
grid $w.f   $w.image -sticky nw -padx 1m -pady 1m -in $w.mid
grid columnconfigure $w.mid 1 -weight 1

Filemanager

Name Type Size Permission Actions
images Folder 0755
README File 2.03 KB 0644
anilabel.tcl File 6.51 KB 0644
aniwave.tcl File 3.41 KB 0644
arrow.tcl File 7.8 KB 0644
bind.tcl File 2.87 KB 0644
bitmap.tcl File 1.38 KB 0644
browse File 1.72 KB 0755
button.tcl File 1.47 KB 0644
check.tcl File 2.22 KB 0644
clrpick.tcl File 1.4 KB 0644
colors.tcl File 4.88 KB 0644
combo.tcl File 1.94 KB 0644
cscroll.tcl File 3.31 KB 0644
ctext.tcl File 4.76 KB 0644
dialog1.tcl File 660 B 0644
dialog2.tcl File 613 B 0644
en.msg File 3.8 KB 0644
entry1.tcl File 1.35 KB 0644
entry2.tcl File 2.06 KB 0644
entry3.tcl File 5.95 KB 0644
filebox.tcl File 2.2 KB 0644
floor.tcl File 77.24 KB 0644
form.tcl File 1.02 KB 0644
goldberg.tcl File 55.23 KB 0644
hello File 512 B 0755
hscale.tcl File 1.46 KB 0644
icon.tcl File 2.01 KB 0644
image1.tcl File 1002 B 0644
image2.tcl File 3.28 KB 0644
items.tcl File 9.5 KB 0644
ixset File 7.91 KB 0755
knightstour.tcl File 8.38 KB 0644
label.tcl File 1.29 KB 0644
labelframe.tcl File 1.8 KB 0644
license.terms File 2.16 KB 0644
mclist.tcl File 3.89 KB 0644
menu.tcl File 6.57 KB 0644
menubu.tcl File 4.37 KB 0644
msgbox.tcl File 1.98 KB 0644
nl.msg File 6.61 KB 0644
paned1.tcl File 1.08 KB 0644
paned2.tcl File 2.18 KB 0644
pendulum.tcl File 7.46 KB 0644
plot.tcl File 2.69 KB 0644
puzzle.tcl File 2.54 KB 0644
radio.tcl File 2.69 KB 0644
rmt File 5.22 KB 0755
rolodex File 8.11 KB 0755
ruler.tcl File 5.09 KB 0644
sayings.tcl File 2.21 KB 0644
search.tcl File 4.29 KB 0644
spin.tcl File 1.78 KB 0644
states.tcl File 1.63 KB 0644
style.tcl File 6.78 KB 0644
tclIndex File 4.25 KB 0644
tcolor File 10.99 KB 0755
text.tcl File 3.34 KB 0644
textpeer.tcl File 2.13 KB 0644
timer File 1.09 KB 0755
toolbar.tcl File 3.19 KB 0644
tree.tcl File 3.29 KB 0644
ttkbut.tcl File 3.34 KB 0644
ttkmenu.tcl File 2.35 KB 0644
ttknote.tcl File 2.41 KB 0644
ttkpane.tcl File 3.95 KB 0644
ttkprogress.tcl File 1.52 KB 0644
ttkscale.tcl File 1.39 KB 0644
twind.tcl File 10.57 KB 0644
unicodeout.tcl File 3.45 KB 0644
vscale.tcl File 1.44 KB 0644
widget File 22.83 KB 0755