Bwidget Source Code
Check-in [704815e7b7]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:ongoing developement
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 704815e7b77325ca0c6e69a225d731949c1c34a2
User & Date: oberdorfer 2009-10-25 19:21:30
Context
2009-10-25
20:53
*** continous developement, minor changes check-in: bd460bc3a4 user: oberdorfer tags: trunk
19:21
ongoing developement check-in: 704815e7b7 user: oberdorfer tags: trunk
19:09
ongoing developement check-in: 0cd7560b8b user: oberdorfer tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to demo/themes/black/black.tcl.

1
2
3
4
5
6
7
8
9


10
11
12
13
14
15
16
# black.tcl -
#
#   Experimental!
#
#  Copyright (c) 2007-2008 Mats Bengtsson
#
# $Id: black.tcl,v 1.1 2009/09/09 19:21:38 oberdorfer Exp $

package require Tk 8.4;                 # minimum version for Tile



namespace eval ttk {
  namespace eval theme {
    namespace eval black {
      variable version 0.0.1
    }
  }





|


>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# black.tcl -
#
#   Experimental!
#
#  Copyright (c) 2007-2008 Mats Bengtsson
#
# $Id: black.tcl,v 1.2 2009/10/25 19:21:30 oberdorfer Exp $

package require Tk 8.4;                 # minimum version for Tile
package require tile 0.8;               # depends upon tile


namespace eval ttk {
  namespace eval theme {
    namespace eval black {
      variable version 0.0.1
    }
  }

Changes to demo/themes/keramik_alt/pkgIndex.tcl.

2
3
4
5
6
7
8
9
10
11
12
13
14
#
# We don't provide the package is the image subdirectory isn't present,
# or we don't have the right version of Tcl/Tk
#
# To use this automatically within tile, the tile-using application should
# use tile::availableThemes and tile::setTheme 
#
# $Id: pkgIndex.tcl,v 1.2 2009/09/16 20:43:49 oberdorfer Exp $

if {![package vsatisfies [package provide Tcl] 8.4]} { return }

package ifneeded ttk::theme::keramik_alt 0.5.2 \
    [list source [file join $dir keramik_alt.tcl]]






|





2
3
4
5
6
7
8
9
10
11
12
13
14
#
# We don't provide the package is the image subdirectory isn't present,
# or we don't have the right version of Tcl/Tk
#
# To use this automatically within tile, the tile-using application should
# use tile::availableThemes and tile::setTheme 
#
# $Id: pkgIndex.tcl,v 1.3 2009/10/25 19:24:03 oberdorfer Exp $

if {![package vsatisfies [package provide Tcl] 8.4]} { return }

package ifneeded ttk::theme::keramik_alt 0.5.2 \
    [list source [file join $dir keramik_alt.tcl]]

Changes to demo/themes/plastik/pkgIndex.tcl.

2
3
4
5
6
7
8
9
10
11
12
13
14
15
#
# We don't provide the package is the image subdirectory isn't present,
# or we don't have the right version of Tcl/Tk
#
# To use this automatically within tile, the tile-using application should
# use tile::availableThemes and tile::setTheme 
#
# $Id: pkgIndex.tcl,v 1.2 2009/09/16 20:44:15 oberdorfer Exp $

if {![package vsatisfies [package provide Tcl] 8.4]} { return }

package ifneeded ttk::theme::plastik 0.5.2 \
    [list source [file join $dir plastik.tcl]]







|
<
<




2
3
4
5
6
7
8
9


10
11
12
13
#
# We don't provide the package is the image subdirectory isn't present,
# or we don't have the right version of Tcl/Tk
#
# To use this automatically within tile, the tile-using application should
# use tile::availableThemes and tile::setTheme 
#
# $Id: pkgIndex.tcl,v 1.3 2009/10/25 19:24:34 oberdorfer Exp $



package ifneeded ttk::theme::plastik 0.5.2 \
    [list source [file join $dir plastik.tcl]]

Changes to demo/themes/plastik/plastik.tcl.

1
2
3
4
5
6
7
8
9
10
11
12









13
14
15
16
17
18
19
20
21
22
23
24
25
..
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
...
149
150
151
152
153
154
155

156
157
158
159

160
161
162
163
164
165
166
...
207
208
209
210
211
212
213










214
215
216
217
218
219
220
...
223
224
225
226
227
228
229


# plastik.tcl - Copyright (C) 2004 Googie
#
# A sample pixmap theme for the tile package.
#
#  Copyright (c) 2004 Googie
#  Copyright (c) 2005 Pat Thoyts <[email protected]>
#
# $Id: plastik.tcl,v 1.2 2009/09/16 20:44:15 oberdorfer Exp $

package require Tk 8.4;                 # minimum version for Tile
package require tile 0.8;               # depends upon tile











namespace eval ttk::theme::plastik {

  variable version 0.5.2
  package provide ttk::theme::plastik $version

  variable I

  set thisDir  [file dirname [info script]]
  set imageDir [file join $thisDir "images"]
  set imageLib [file join $thisDir "ImageLib.tcl"] \

  # try to load image library file...
................................................................................
    	-frame 		"#efefef"
	-disabledfg	"#aaaaaa"
	-selectbg	"#657a9e"
	-selectfg	"#ffffff"
    }


  ttk::style theme create plastik -parent default -settings {
    ttk::style configure . \
	-foreground "Black" \
    	-background $colors(-frame) \
	-troughcolor $colors(-frame) \
	-selectbackground $colors(-selectbg) \
	-selectforeground $colors(-selectfg) \
	-fieldbackground $colors(-frame) \
................................................................................
	    selected            $I(radio-nc) \
	] -sticky {}

    ttk::style element create Horizontal.Scrollbar.thumb image $I(hsb-n) \
	-border 3 -sticky ew
    ttk::style element create Horizontal.Scrollbar.grip image $I(hsb-g)
    ttk::style element create Horizontal.Scrollbar.trough image $I(hsb-t)

    ttk::style element create Vertical.Scrollbar.thumb image $I(vsb-n) \
	-border 3 -sticky ns
    ttk::style element create Vertical.Scrollbar.grip image $I(vsb-g)
    ttk::style element create Vertical.Scrollbar.trough image $I(vsb-t)

    ttk::style element create Scrollbar.uparrow image \
	[list $I(arrowup-n) pressed $I(arrowup-p)] -sticky {}
    ttk::style element create Scrollbar.downarrow \
	image [list $I(arrowdown-n) pressed $I(arrowdown-p)] -sticky {}
    ttk::style element create Scrollbar.leftarrow \
	image [list $I(arrowleft-n) pressed $I(arrowleft-p)] -sticky {}
    ttk::style element create Scrollbar.rightarrow \
................................................................................

    ttk::style element create Progressbar.trough \
	image $I(hprogress-t) -border 2
    ttk::style element create Horizontal.Progressbar.pbar \
	image $I(hprogress-b) -border {2 9}
    ttk::style element create Vertical.Progressbar.pbar \
	image $I(vprogress-b) -border {9 2}











    ttk::style element create Treeheading.cell \
	image [list $I(tree-n) pressed $I(tree-p)] \
	-border {4 10} -padding 4 -sticky ewns

    #
    # Settings:
................................................................................
    ttk::style configure Toolbutton -anchor center
    ttk::style configure TNotebook -tabmargins {0 2 0 0}
    ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
    ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
    ttk::style configure Treeview -padding 0
  }
}








|




>
>
>
>
>
>
>
>
>



<
<
<







 







|







 







>




>







 







>
>
>
>
>
>
>
>
>
>







 







>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24



25
26
27
28
29
30
31
..
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
...
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
...
241
242
243
244
245
246
247
248
249
# plastik.tcl - Copyright (C) 2004 Googie
#
# A sample pixmap theme for the tile package.
#
#  Copyright (c) 2004 Googie
#  Copyright (c) 2005 Pat Thoyts <[email protected]>
#
# $Id: plastik.tcl,v 1.3 2009/10/25 19:24:34 oberdorfer Exp $

package require Tk 8.4;                 # minimum version for Tile
package require tile 0.8;               # depends upon tile

namespace eval ttk {
  namespace eval theme {
    namespace eval plastik {
      variable version 0.5.2
    }
  }
}



namespace eval ttk::theme::plastik {




  variable I

  set thisDir  [file dirname [info script]]
  set imageDir [file join $thisDir "images"]
  set imageLib [file join $thisDir "ImageLib.tcl"] \

  # try to load image library file...
................................................................................
    	-frame 		"#efefef"
	-disabledfg	"#aaaaaa"
	-selectbg	"#657a9e"
	-selectfg	"#ffffff"
    }


  ttk::style theme create plastik -parent clam -settings {
    ttk::style configure . \
	-foreground "Black" \
    	-background $colors(-frame) \
	-troughcolor $colors(-frame) \
	-selectbackground $colors(-selectbg) \
	-selectforeground $colors(-selectfg) \
	-fieldbackground $colors(-frame) \
................................................................................
	    selected            $I(radio-nc) \
	] -sticky {}

    ttk::style element create Horizontal.Scrollbar.thumb image $I(hsb-n) \
	-border 3 -sticky ew
    ttk::style element create Horizontal.Scrollbar.grip image $I(hsb-g)
    ttk::style element create Horizontal.Scrollbar.trough image $I(hsb-t)

    ttk::style element create Vertical.Scrollbar.thumb image $I(vsb-n) \
	-border 3 -sticky ns
    ttk::style element create Vertical.Scrollbar.grip image $I(vsb-g)
    ttk::style element create Vertical.Scrollbar.trough image $I(vsb-t)

    ttk::style element create Scrollbar.uparrow image \
	[list $I(arrowup-n) pressed $I(arrowup-p)] -sticky {}
    ttk::style element create Scrollbar.downarrow \
	image [list $I(arrowdown-n) pressed $I(arrowdown-p)] -sticky {}
    ttk::style element create Scrollbar.leftarrow \
	image [list $I(arrowleft-n) pressed $I(arrowleft-p)] -sticky {}
    ttk::style element create Scrollbar.rightarrow \
................................................................................

    ttk::style element create Progressbar.trough \
	image $I(hprogress-t) -border 2
    ttk::style element create Horizontal.Progressbar.pbar \
	image $I(hprogress-b) -border {2 9}
    ttk::style element create Vertical.Progressbar.pbar \
	image $I(vprogress-b) -border {9 2}

    ## Panedwindow parts.
    #
    ::ttk::style element create hsash image \
            [list $I(hsb-n) {active !disabled} $I(hsb-n)] \
            -height 7 -border {2 0}
    ::ttk::style element create vsash image \
            [list $I(vsb-n) {active !disabled} $I(vsb-n)] \
            -width 7 -border {0 2}


    ttk::style element create Treeheading.cell \
	image [list $I(tree-n) pressed $I(tree-p)] \
	-border {4 10} -padding 4 -sticky ewns

    #
    # Settings:
................................................................................
    ttk::style configure Toolbutton -anchor center
    ttk::style configure TNotebook -tabmargins {0 2 0 0}
    ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
    ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
    ttk::style configure Treeview -padding 0
  }
}

package provide ttk::theme::plastik $::ttk::theme::plastik::version

Changes to demo/themes/winxpblue/CreateImageLib.def.

14
15
16
17
18
19
20




option_in
option_out
progressbar
scroll_horizontal
scroll_vertical
through
vertical_trough










>
>
>
>
14
15
16
17
18
19
20
21
22
23
24
option_in
option_out
progressbar
scroll_horizontal
scroll_vertical
through
vertical_trough
hsb-a
hsb-n
vsb-a
vsb-n

Changes to demo/themes/winxpblue/ImageLib.tcl.

176
177
178
179
180
181
182
183


















































ZHeDAAcIOURzUAIHBwQBPaAGNZwQBCUoJyoQlZWMrgisjJUhADs=
}]
set images(vertical_trough) [image create photo -data {
R0lGODlhDAAMAPMAAPTz7vb18Pf38/n49Pn59/v7+Pv7+f39+v7++wAAAAAA
AAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAMAAwAAAQ6EIQxTLkHoSDn
xRoXTMSXFYBEleCRBkR8GdnWwYVBh52sn6JY6Yc4BHEg24jVOn4KhygHQKCY
DoZABAA7
}]

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
ZHeDAAcIOURzUAIHBwQBPaAGNZwQBCUoJyoQlZWMrgisjJUhADs=
}]
set images(vertical_trough) [image create photo -data {
R0lGODlhDAAMAPMAAPTz7vb18Pf38/n49Pn59/v7+Pv7+f39+v7++wAAAAAA
AAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAMAAwAAAQ6EIQxTLkHoSDn
xRoXTMSXFYBEleCRBkR8GdnWwYVBh52sn6JY6Yc4BHEg24jVOn4KhygHQKCY
DoZABAA7
}]
set images(vsb-n) [image create photo -data {
R0lGODlhCAAQAOcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
CgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZ
GRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygo
KCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3
Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZG
RkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVV
VVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2Rk
ZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNz
c3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKC
goODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGR
kZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6Cg
oKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+v
r7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+
vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3N
zc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc
3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr
6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6
+vv7+/z8/P39/f7+/v///yH5BAEKAP4ALAAAAAAIABAAAAgvAIMJDDZtmrh/
AwkaRDiw4MGEDhkKjAhxYcWHDS1mxDhRY0eOCkFS3CgxZMmIAQEAOw==
}]
set images(hsb-n) [image create photo -data {
R0lGODlhEAAIAOcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
CgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZ
GRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygo
KCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3
Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZG
RkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVV
VVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2Rk
ZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNz
c3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKC
goODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGR
kZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6Cg
oKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+v
r7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+
vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3N
zc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc
3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr
6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6
+vv7+/z8/P39/f7+/v///yH5BAEKAP4ALAAAAAAQAAgAAAgmAP8JHEiw4D9x
CBMqXChumsOHECNKnAgxmMWLGDNq3Mixo8eOAQEAOw==
}]
set images(vsb-a) [image create photo -data {
R0lGODlhCAAQAKEAAAAAAMLT/P///////yH5BAEKAAIALAAAAAAIABAAAAIX
hH+ha8vgVIvT1RfDlZB2+2FetmkIUgAAOw==
}]
set images(hsb-a) [image create photo -data {
R0lGODlhEAAIAKEAAAAAAMLT/P///////yH5BAEKAAIALAAAAAAQAAgAAAIS
hI9pwe2+nmRxvmobzmFnBSIFADs=
}]

Changes to demo/themes/winxpblue/images.tgz.

cannot compute difference between binary files

Changes to demo/themes/winxpblue/winxpblue.tcl.

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
..
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
...
106
107
108
109
110
111
112









113
114
115
116
117
118
119
...
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#
#   Copyright (C) 2004 Pat Thoyts <[email protected]>
#
#   Import the WinXP-Blue Gtk2 Theme by Ativo
#   URL: http://art.gnome.org/download/themes/gtk2/474/GTK2-WinXP-Blue.tar.gz
# ------------------------------------------------------------------------------
# Revision change history:
#   $Id: winxpblue.tcl,v 1.2 2009/09/16 20:44:42 oberdorfer Exp $
#
#   Aug.'08: code refractured/adopted slightly for the use with >= tk8.5,
#            [email protected]
# ------------------------------------------------------------------------------

package require Tk 8.4;                 # minimum version for Tile
package require tile 0.8;               # depends upon tile
................................................................................
        }}
        return [array get images]
      }

      array set I [LoadImages $imageDir "*.gif"]
  }
  
  ::ttk::style theme create winxpblue -settings {
    
    # defaults:
    
    ::ttk::style configure "." \
        -foreground       "Black" \
        -background       "#ece9d8" \
        -selectbackground "#4a6984" \
................................................................................
    ::ttk::style layout TButton {
      Button.button -children { Button.focus -children { Button.label } }
    }
    ::ttk::style configure TButton -padding 3 -width -11
    
    ::ttk::style element create Button.button image \
        [list $I(buttonNorm) pressed $I(buttonPressed) active $I(button)] \
        -border {4 9} -padding 3 -sticky nsew

    ::ttk::style element create Checkbutton.indicator image \
        [list $I(checkbox_unchecked) selected $I(checkbox_checked)] \
        -width 20 -sticky w
	
    ::ttk::style element create Radiobutton.indicator image \
        [list $I(option_out) selected $I(option_in)] \
................................................................................
        image $I(horizontal_trough) -sticky ew -border {0 2} -height 18
    ::ttk::style element create Vertical.Scrollbar.trough \
        image $I(vertical_trough) -sticky ns -border {2 0} -width 18
    ::ttk::style element create Vertical.Scale.trough \
        image $I(vertical_trough) -sticky ns -border {2 0}
    ::ttk::style element create Progress.bar image $I(progressbar)
    ::ttk::style element create Progress.trough image $I(through) -border 4









    
    # Notebook parts:
    
    ::ttk::style element create tab image \
        [list $I(notebook_inactive) selected $I(notebook_active)] \
        -border {2 2 2 1} -width 8
    ::ttk::style configure TNotebook.Tab -padding {4 2}
................................................................................

    # Panes:
    # doesn't work: ::ttk::style configure Sash -sashthickness 6 -gripcount 10

    # maybe a nice effect
    # (although the image was not intended to be used like this):

    ::ttk::style element create Sash.hsash \
        image $I(horizontal_trough) -border 1 -width 0 -height 6 -sticky nsew
    ::ttk::style element create Sash.vsash \
        image $I(vertical_trough) -border 1 -width 0 -height 6 -sticky nsew
  }
}


namespace eval ::tablelist:: {

  proc winxpblueTheme {} {






|







 







|







 







|







 







>
>
>
>
>
>
>
>
>







 







|
|
|
|







2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
..
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
...
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#
#   Copyright (C) 2004 Pat Thoyts <[email protected]>
#
#   Import the WinXP-Blue Gtk2 Theme by Ativo
#   URL: http://art.gnome.org/download/themes/gtk2/474/GTK2-WinXP-Blue.tar.gz
# ------------------------------------------------------------------------------
# Revision change history:
#   $Id: winxpblue.tcl,v 1.3 2009/10/25 19:25:35 oberdorfer Exp $
#
#   Aug.'08: code refractured/adopted slightly for the use with >= tk8.5,
#            [email protected]
# ------------------------------------------------------------------------------

package require Tk 8.4;                 # minimum version for Tile
package require tile 0.8;               # depends upon tile
................................................................................
        }}
        return [array get images]
      }

      array set I [LoadImages $imageDir "*.gif"]
  }
  
  ::ttk::style theme create winxpblue -parent clam -settings {
    
    # defaults:
    
    ::ttk::style configure "." \
        -foreground       "Black" \
        -background       "#ece9d8" \
        -selectbackground "#4a6984" \
................................................................................
    ::ttk::style layout TButton {
      Button.button -children { Button.focus -children { Button.label } }
    }
    ::ttk::style configure TButton -padding 3 -width -11
    
    ::ttk::style element create Button.button image \
        [list $I(buttonNorm) pressed $I(buttonPressed) active $I(button)] \
        -border {4 9} -padding 5 -sticky nsew

    ::ttk::style element create Checkbutton.indicator image \
        [list $I(checkbox_unchecked) selected $I(checkbox_checked)] \
        -width 20 -sticky w
	
    ::ttk::style element create Radiobutton.indicator image \
        [list $I(option_out) selected $I(option_in)] \
................................................................................
        image $I(horizontal_trough) -sticky ew -border {0 2} -height 18
    ::ttk::style element create Vertical.Scrollbar.trough \
        image $I(vertical_trough) -sticky ns -border {2 0} -width 18
    ::ttk::style element create Vertical.Scale.trough \
        image $I(vertical_trough) -sticky ns -border {2 0}
    ::ttk::style element create Progress.bar image $I(progressbar)
    ::ttk::style element create Progress.trough image $I(through) -border 4

    ## Panedwindow parts.
    #
    ::ttk::style element create hsash image \
            [list $I(hsb-n) {active !disabled} $I(hsb-a)] \
            -border {2 0}
    ::ttk::style element create vsash image \
            [list $I(vsb-n) {active !disabled} $I(vsb-a)] \
            -border {0 2}
    
    # Notebook parts:
    
    ::ttk::style element create tab image \
        [list $I(notebook_inactive) selected $I(notebook_active)] \
        -border {2 2 2 1} -width 8
    ::ttk::style configure TNotebook.Tab -padding {4 2}
................................................................................

    # Panes:
    # doesn't work: ::ttk::style configure Sash -sashthickness 6 -gripcount 10

    # maybe a nice effect
    # (although the image was not intended to be used like this):

    #::ttk::style element create Sash.hsash \
    #    image $I(hsb-n) -border 1 -width 0 -height 7 -sticky nsew
    #::ttk::style element create Sash.vsash \
    #    image $I(vsb-n) -border 1 -width 0 -width 7 -sticky nsew
  }
}


namespace eval ::tablelist:: {

  proc winxpblueTheme {} {