summaryrefslogtreecommitdiff
path: root/tix/demos/samples/CmpImg4.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tix/demos/samples/CmpImg4.tcl')
-rw-r--r--tix/demos/samples/CmpImg4.tcl121
1 files changed, 121 insertions, 0 deletions
diff --git a/tix/demos/samples/CmpImg4.tcl b/tix/demos/samples/CmpImg4.tcl
new file mode 100644
index 00000000000..95a9e461345
--- /dev/null
+++ b/tix/demos/samples/CmpImg4.tcl
@@ -0,0 +1,121 @@
+# 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 to add
+# colors in Notebook tabs.
+#
+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 --
+ #
+ # 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 4 -padx 4 -bg #f09090 -showbackground 1]
+ $hdd_img add line
+ $hdd_img add text -text "Hard Disk" -underline 0 -padx 6 -pady 4
+
+ # Create the second compound image. Very similar to what we did above
+ #
+ set net_img [image create compound -window [$w.nb subwidget nbframe] \
+ -pady 4 -pady 4 -bg #9090f0 -showbackground 1]
+ $net_img add line
+ $net_img add text -text "Network" -underline 0 -padx 6 -pady 4
+
+ #
+ # 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
+ RunSample $w
+ bind .demo <Destroy> exit
+}