summaryrefslogtreecommitdiffstats
path: root/library/demos/ttkscale.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'library/demos/ttkscale.tcl')
-rw-r--r--library/demos/ttkscale.tcl41
1 files changed, 41 insertions, 0 deletions
diff --git a/library/demos/ttkscale.tcl b/library/demos/ttkscale.tcl
new file mode 100644
index 0000000..473dbdb
--- /dev/null
+++ b/library/demos/ttkscale.tcl
@@ -0,0 +1,41 @@
+# ttkscale.tcl --
+#
+# This demonstration script shows an example with a horizontal scale.
+#
+# RCS: @(#) $Id: ttkscale.tcl,v 1.1.2.1 2009/12/10 11:44:07 dkf Exp $
+
+if {![info exists widgetDemo]} {
+ error "This script should be run from the \"widget\" demo."
+}
+
+package require Tk
+
+set w .ttkscale
+catch {destroy $w}
+toplevel $w -bg [ttk::style lookup TLabel -background]
+wm title $w "Themed Scale Demonstration"
+wm iconname $w "ttkscale"
+positionWindow $w
+
+pack [ttk::frame [set w $w.contents]] -fill both -expand 1
+
+ttk::label $w.msg -font $font -wraplength 3.5i -justify left -text "A label tied to a horizontal scale is displayed below. If you click or drag mouse button 1 in the scale, you can change the contents of the label; a callback command is used to couple the slider to both the text and the coloring of the label."
+pack $w.msg -side top -padx .5c
+
+## See Code / Dismiss buttons
+set btns [addSeeDismiss $w.buttons [winfo toplevel $w]]
+pack $btns -side bottom -fill x
+
+ttk::frame $w.frame -borderwidth 10
+pack $w.frame -side top -fill x
+
+# List of colors from rainbox; "Indigo" is not a standard color
+set colors {Red Orange Yellow Green Blue Violet}
+ttk::label $w.frame.label
+ttk::scale $w.frame.scale -from 0 -to 5 -command [list apply {{w idx} {
+ set c [lindex $::colors [tcl::mathfunc::int $idx]]
+ $w.frame.label configure -foreground $c -text "Color: $c"
+}} $w]
+# Trigger the setting of the label's text
+$w.frame.scale set 0
+pack $w.frame.label $w.frame.scale