~ubuntu-branches/ubuntu/dapper/tk8.0/dapper-updates

« back to all changes in this revision

Viewing changes to library/demos/clrpick.tcl

  • Committer: Bazaar Package Importer
  • Author(s): Mike Markley
  • Date: 2001-07-24 21:57:40 UTC
  • Revision ID: james.westby@ubuntu.com-20010724215740-r70t25rtmbqjil2h
Tags: upstream-8.0.5
ImportĀ upstreamĀ versionĀ 8.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# clrpick.tcl --
 
2
#
 
3
# This demonstration script prompts the user to select a color.
 
4
#
 
5
# RCS: @(#) $Id: clrpick.tcl,v 1.2 1998/09/14 18:23:27 stanton Exp $
 
6
 
 
7
if {![info exists widgetDemo]} {
 
8
    error "This script should be run from the \"widget\" demo."
 
9
}
 
10
 
 
11
set w .clrpick
 
12
catch {destroy $w}
 
13
toplevel $w
 
14
wm title $w "Color Selection Dialog"
 
15
wm iconname $w "colors"
 
16
positionWindow $w
 
17
 
 
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."
 
19
pack $w.msg -side top
 
20
 
 
21
frame $w.buttons
 
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
 
26
 
 
27
button $w.back -text "Set background color ..." \
 
28
    -command \
 
29
    "setColor $w $w.back background {-background -highlightbackground}"
 
30
button $w.fore -text "Set foreground color ..." \
 
31
    -command \
 
32
    "setColor $w $w.back foreground -foreground"
 
33
 
 
34
pack $w.back $w.fore -side top -anchor c -pady 2m
 
35
 
 
36
proc setColor {w button name options} {
 
37
    grab $w
 
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
 
43
    }
 
44
    grab release $w
 
45
}
 
46
 
 
47
proc setColor_helper {w options color} {
 
48
    foreach option $options {
 
49
        catch {
 
50
            $w config $option $color
 
51
        }
 
52
    }
 
53
    foreach child [winfo children $w] {
 
54
        setColor_helper $child $options $color
 
55
    }
 
56
}