summaryrefslogtreecommitdiffstats
path: root/library/demos
diff options
context:
space:
mode:
Diffstat (limited to 'library/demos')
-rw-r--r--library/demos/ttkbut.tcl58
-rw-r--r--library/demos/widget4
2 files changed, 61 insertions, 1 deletions
diff --git a/library/demos/ttkbut.tcl b/library/demos/ttkbut.tcl
new file mode 100644
index 0000000..76b23ba
--- /dev/null
+++ b/library/demos/ttkbut.tcl
@@ -0,0 +1,58 @@
+# ttkbut.tcl --
+#
+# This demonstration script creates a toplevel window containing several
+# simple Ttk widgets, such as labels, labelframes, buttons, checkbuttons and
+# radiobuttons.
+#
+# RCS: @(#) $Id: ttkbut.tcl,v 1.1 2007/10/17 14:59:27 dkf Exp $
+
+if {![info exists widgetDemo]} {
+ error "This script should be run from the \"widget\" demo."
+}
+
+package require Tk
+package require Ttk
+
+set w .ttkbut
+catch {destroy $w}
+toplevel $w
+wm title $w "Simple Ttk Widgets"
+wm iconname $w "ttkbut"
+positionWindow $w
+
+ttk::label $w.msg -font $font -wraplength 4i -justify left -text "Ttk is the new Tk themed widget set. This is a Ttk themed label, and below are three groups of Ttk widgets in Ttk labelframes. The first group are all buttons that set the current application theme when pressed. The second group contains checkbuttons, with a separator widget between the first pair and the second. The third group has a collection of linked radiobuttons."
+pack $w.msg -side top
+
+## See Code / Dismiss
+pack [addSeeDismiss $w.seeDismiss $w {cheese tomato basil oregano happyness}]\
+ -side bottom -fill x
+
+ttk::labelframe $w.buttons -text "Buttons"
+foreach theme [ttk::themes] {
+ ttk::button $w.buttons.$theme -text $theme \
+ -command [list ttk::setTheme $theme]
+ pack $w.buttons.$theme -pady 2
+}
+
+ttk::labelframe $w.checks -text "Checkbuttons"
+ttk::checkbutton $w.checks.c1 -text Cheese -variable cheese
+ttk::checkbutton $w.checks.c2 -text Tomato -variable tomato
+ttk::separator $w.checks.sep
+ttk::checkbutton $w.checks.c3 -text Basil -variable basil
+ttk::checkbutton $w.checks.c4 -text Oregano -variable oregano
+pack $w.checks.c1 $w.checks.c2 $w.checks.sep $w.checks.c3 $w.checks.c4 \
+ -fill x -pady 2
+
+ttk::labelframe $w.radios -text "Radiobuttons"
+ttk::radiobutton $w.radios.r1 -text "Great" -variable happyness -value great
+ttk::radiobutton $w.radios.r2 -text "Good" -variable happyness -value good
+ttk::radiobutton $w.radios.r3 -text "OK" -variable happyness -value ok
+ttk::radiobutton $w.radios.r4 -text "Poor" -variable happyness -value poor
+ttk::radiobutton $w.radios.r5 -text "Awful" -variable happyness -value awful
+pack $w.radios.r1 $w.radios.r2 $w.radios.r3 $w.radios.r4 $w.radios.r5 \
+ -fill x -padx 3 -pady 2
+
+pack [ttk::frame $w.f] -fill both -expand 1
+lower $w.f
+grid $w.buttons $w.checks $w.radios -in $w.f -sticky nwe -pady 2 -padx 3
+grid columnconfigure $w.f {0 1 2} -weight 1 -uniform yes
diff --git a/library/demos/widget b/library/demos/widget
index 2cf49c4..070328d 100644
--- a/library/demos/widget
+++ b/library/demos/widget
@@ -10,7 +10,7 @@ exec wish "$0" "$@"
# separate ".tcl" files is this directory, which are sourced by this script as
# needed.
#
-# RCS: @(#) $Id: widget,v 1.32 2007/10/16 15:15:19 dkf Exp $
+# RCS: @(#) $Id: widget,v 1.33 2007/10/17 14:59:27 dkf Exp $
package require Tcl 8.5
package require Tk 8.5
@@ -346,6 +346,8 @@ addFormattedText {
@@demo image1 Two labels displaying images
@@demo image2 A simple user interface for viewing images
@@demo labelframe Labelled frames
+ @@new
+ @@demo ttkbut The simple Themed Tk widgets
@@subtitle Listboxes
@@demo states The 50 states