diff options
Diffstat (limited to 'tix/demos/samples/CmpImg4.tcl')
-rw-r--r-- | tix/demos/samples/CmpImg4.tcl | 121 |
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 +} |