From fdebca542be7398387f656d060e3d2b6f1d7705e Mon Sep 17 00:00:00 2001 From: dkf Date: Thu, 10 Dec 2009 11:48:38 +0000 Subject: Added demo of ttk::scale widget. --- ChangeLog | 4 ++++ library/demos/ttkscale.tcl | 41 +++++++++++++++++++++++++++++++++++++++++ library/demos/widget | 4 +++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 library/demos/ttkscale.tcl diff --git a/ChangeLog b/ChangeLog index 5c6b496..4498069 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-12-10 Donal K. Fellows + + * library/demos/ttkscale.tcl: Added demo of [ttk::scale] widget. + 2009-12-09 Donal K. Fellows * generic/tkColor.c (Tk_GetColorByValue): [Bug 2911570]: Ensure that diff --git a/library/demos/ttkscale.tcl b/library/demos/ttkscale.tcl new file mode 100644 index 0000000..13e2c4d --- /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.2 2009/12/10 11:48:38 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 diff --git a/library/demos/widget b/library/demos/widget index 1bf2217..e2c47ce 100644 --- a/library/demos/widget +++ b/library/demos/widget @@ -10,7 +10,7 @@ exec wish "$0" ${1+"$@"} # separate ".tcl" files is this directory, which are sourced by this script as # needed. # -# RCS: @(#) $Id: widget,v 1.57 2009/04/10 16:40:03 das Exp $ +# RCS: @(#) $Id: widget,v 1.58 2009/12/10 11:48:38 dkf Exp $ package require Tcl 8.5 package require Tk 8.5 @@ -357,6 +357,8 @@ addFormattedText { @@subtitle Scales and Progress Bars @@demo hscale Horizontal scale @@demo vscale Vertical scale + @@new + @@demo ttkscale Themed scale linked to a label with traces @@demo ttkprogress Progress bar @@subtitle Paned Windows and Notebooks -- cgit v0.12