3
# This demonstration script prompts the user to select a color.
5
# RCS: @(#) $Id: clrpick.tcl,v 1.2 1998/09/14 18:23:27 stanton Exp $
7
if {![info exists widgetDemo]} {
8
error "This script should be run from the \"widget\" demo."
14
wm title $w "Color Selection Dialog"
15
wm iconname $w "colors"
18
label $w.msg -font $font -wraplength 4i -justify left -text "Press the buttons below to choose the foreground and background colors for the widgets in this window."
22
pack $w.buttons -side bottom -fill x -pady 2m
23
button $w.buttons.dismiss -text Dismiss -command "destroy $w"
24
button $w.buttons.code -text "See Code" -command "showCode $w"
25
pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
27
button $w.back -text "Set background color ..." \
29
"setColor $w $w.back background {-background -highlightbackground}"
30
button $w.fore -text "Set foreground color ..." \
32
"setColor $w $w.back foreground -foreground"
34
pack $w.back $w.fore -side top -anchor c -pady 2m
36
proc setColor {w button name options} {
38
set initialColor [$button cget -$name]
39
set color [tk_chooseColor -title "Choose a $name color" -parent $w \
40
-initialcolor $initialColor]
41
if [string compare $color ""] {
42
setColor_helper $w $options $color
47
proc setColor_helper {w options color} {
48
foreach option $options {
50
$w config $option $color
53
foreach child [winfo children $w] {
54
setColor_helper $child $options $color