Spaces:
Running
Running
File size: 4,513 Bytes
ba2f5d6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
# $Id: CmpImg2.tcl,v 1.3 2001/12/09 05:31:07 idiscovery Exp $
#
# Tix Demostration Program
#
# This sample program is structured in such a way so that it can be
# executed from the Tix demo program "widget": it must have a
# procedure called "RunSample". It should also have the "if" statment
# at the end of this file so that it can be run as a standalone
# program using tixwish.
# This file demonstrates how to use the compound image inside NoteBook
# widgets. This file is basically a cross-over of NoteBook.tcl and CmpImg.tcl
#
proc RunSample {w} {
# Create the notebook widget and set its backpagecolor to gray.
# Note that the -backpagecolor option belongs to the "nbframe"
# subwidget.
tixNoteBook $w.nb -ipadx 6 -ipady 6
$w config -bg gray
$w.nb subwidget nbframe config -backpagecolor gray -tabpady 0
# Create the two compound images
#
#
# these are two Tix built-in images
#
set img0 [tix getimage network]
set img1 [tix getimage harddisk]
# Create the first image:
#
# Notice that the -window option must be set to the nbframe
# subwidget of the notebook because the image will be displayed
# in that widget.
#
set hdd_img [image create compound -window [$w.nb subwidget nbframe] \
-pady 0]
$hdd_img add line
$hdd_img add image -image $img1
$hdd_img add space -width 7
$hdd_img add text -text "Hard Disk" -underline 0
# Create the second compound image. Very similar to what we did above
#
set net_img [image create compound -window [$w.nb subwidget nbframe] \
-pady 0]
$net_img add line
$net_img add image -image $img0
$net_img add space -width 7
$net_img add text -text "Network" -underline 0
#
# Now create the pages
#
# We use these options to set the sizes of the subwidgets inside the
# notebook, so that they are well-aligned on the screen.
#
set name [tixOptionName $w]
option add *$name*TixControl*entry.width 10
option add *$name*TixControl*label.width 18
option add *$name*TixControl*label.anchor e
# Create the two tabs on the notebook. The -underline option
# puts a underline on the first character of the labels of the tabs.
# Keyboard accelerators will be defined automatically according
# to the underlined character.
#
$w.nb add hard_disk -image $hdd_img
$w.nb add network -image $net_img
pack $w.nb -expand yes -fill both -padx 5 -pady 5 -side top
#----------------------------------------
# Create the first page
#----------------------------------------
set f [$w.nb subwidget hard_disk]
# Create two frames: one for the common buttons, one for the
# other widgets
#
frame $f.f
frame $f.common
pack $f.f -side left -padx 2 -pady 2 -fill both -expand yes
pack $f.common -side right -padx 2 -pady 2 -fill y
# Create the controls that only belong to this page
#
tixControl $f.f.a -value 12 -label "Access Time: "
tixControl $f.f.w -value 400 -label "Write Throughput: "
tixControl $f.f.r -value 400 -label "Read Throughput: "
tixControl $f.f.c -value 1021 -label "Capacity: "
pack $f.f.a $f.f.w $f.f.r $f.f.c -side top -padx 20 -pady 2
# Create the common buttons
#
CreateCommonButtons $w $f.common
#----------------------------------------
# Create the second page
#----------------------------------------
set f [$w.nb subwidget network]
frame $f.f
frame $f.common
pack $f.f -side left -padx 2 -pady 2 -fill both -expand yes
pack $f.common -side right -padx 2 -pady 2 -fill y
tixControl $f.f.a -value 12 -label "Access Time: "
tixControl $f.f.w -value 400 -label "Write Throughput: "
tixControl $f.f.r -value 400 -label "Read Throughput: "
tixControl $f.f.c -value 1021 -label "Capacity: "
tixControl $f.f.u -value 10 -label "Users: "
pack $f.f.a $f.f.w $f.f.r $f.f.c $f.f.u -side top -padx 20 -pady 2
CreateCommonButtons $w $f.common
}
proc CreateCommonButtons {w f} {
button $f.ok -text OK -width 6 -command "destroy $w"
button $f.cancel -text Cancel -width 6 -command "destroy $w"
pack $f.ok $f.cancel -side top -padx 2 -pady 2
}
if {![info exists tix_demo_running]} {
wm withdraw .
set w .demo
toplevel $w; wm transient $w ""
RunSample $w
bind $w <Destroy> exit
}
|