Ttk Themes

Check-in Differences
Login

Check-in Differences

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

Difference From d9dfb1b5e36c3fab To 84bc058bd095c563

2025-04-09
08:44
Switch to SVG images (requires tksvg) and make the theme scalable. Implement the dark version of the theme Arc-Dark in addition to the light version of the theme Arc. Drop loading the tile package. Stricten the Tcl requirement to 8.6. Delete the openfold icon because it isn't used anywhere and cannot be loaded into a Tcl/Tk 9 interpreter. check-in: 54a643e39f user: sgolovan tags: trunk
2016-01-24
18:55
Added spinbox to the demonstrated widgets. Added a few distinctive looks for the spinbox buttons. check-in: 84bc058bd0 user: sgolovan tags: trunk
12:31
Imported new Arc theme, based on the corresponding Gtk+ 2/3 themes from https://github.com/horst3180/Arc-theme. check-in: b32541b548 user: sgolovan tags: trunk
12:17
Imported themes to a fossil repository. check-in: c8f68a5a40 user: sgolovan tags: trunk
12:15
initial empty check-in check-in: d9dfb1b5e3 user: sgolovan tags: trunk

Added ChangeLog.















































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
2016-01-24  Sergei Golovan <sgolovan@nes.ru>

	* *: Imported themes to a fossil repository.

	* themes/aquablue/pkgIndex.tcl, themes/clearlooks/pkgIndex.tcl,
	  themes/radiance/pkgIndex.tcl: Fixed theme loading for newer Tk.

	* themes/Arc/*: Imported new Arc theme, based on the corresponding
	  Gtk+ 2/3 themes from https://github.com/horst3180/Arc-theme.

	* demo/demo.tcl: Added spinbox to the demonstrated widgets.

	* themes/Arc/Arc/down-background-active.png,
	  themes/Arc/Arc/down-background-hover.png,
	  themes/Arc/Arc/down-background.png,
	  themes/Arc/Arc/up-background-active.png,
	  themes/Arc/Arc/up-background-hover.png,
	  themes/Arc/Arc/up-background.png, themes/Arc/arc.tcl: Added a few
	  distinctive looks for the spinbox buttons.

2011-06-26  Schelte Bron  <sbron@users.sourceforge.net>
	* plastik/plastik.tcl: Make the visual appearance of a non-readonly
	combobox in disabled state different from the normal state.

2010-11-22  Schelte Bron  <sbron@users.sourceforge.net>
	* plastik/plastik.tcl: The plastik theme generated an error on Tcl/Tk
	8.5.7 and earlier: Invalid state name hover.
	Reported by saedelaere on the Tcl chat.

2010-09-05  Schelte Bron  <sbron@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl:
	Apply the spinbox and combobox changes that were introduced earlier
	for Ttk 8.6b1 also to the 8.5 series if the patchlevel is 8.5.9 or
	greater.

2010-02-16  Schelte Bron  <sbron@users.sourceforge.net>
	* plastik/plastik.tcl: The treeview item indicator from the alt theme
	is more appropriate for the plastik theme than the one inherited from
	the default theme

2009-01-24  Schelte Bron  <sbron@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl:
	There was no visible clue of which ttk::treeview items were selected.

2008-12-27  Schelte Bron  <sbron@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl:
	Add ttk::spinbox, introduced with Ttk 8.6b1.
	Correct ttk::combobox behaviour using the hover state bit that was
	also introduced with Ttk 8.6b1 (See bug	#1574874).
	Correct the select foreground and background colors for the keramik
	theme and make the information available via [ttk::style configure .]

2007-12-19  Schelte Bron  <sbron@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl:
	Counteract the side effects of the fix for bug #1614540, which caused
	text on (tool)buttons to be left aligned instead of centered.
	* Aquativo/Aquativo.tcl:
	Counteract the side effect of the fix for bug #1614540. Improvements
	to png image format support detection. Make notebook tabs resizable.
	* WinXP-Blue/WinXP-Blue.tcl:
	Updates to work with Tile 0.8.X. Also allow using different libraries
	that support PNG images. Fix bug #1825571

2007-11-04  Schelte Bron  <sbron@users.sourceforge.net>
	* plastik/plastik.tcl:
	Add a grip to the scrollbars in the plastik theme.

2007-11-04  Schelte Bron  <sbron@users.sourceforge.net>
	* Aquativo/Aquativo.tcl:
	Updates to Aquativo theme to work with Tile 0.8.X
	Also allow using different libraries that support PNG images.

2007-08-26  Joe English  <jenglish@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl, */*/*.gif:
	Updates to Keramik and Plastik themes to work with
	Tile 0.8.X (updates from Schelte Bron).

2006-10-22  Joe English  <jenglish@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl, */*/*.gif:
	More updates from Schelte Bron: improved Notebook
	layout, others.

2006-10-21  Joe English  <jenglish@users.sourceforge.net>
	* keramik/keramik.tcl, plastik/plastik.tcl, */*/*.gif:
	Updates to Keramik and Plastik themes, submitted by 
	Schelte Bron.

2006-08-04  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* keramik/keramik.tcl:  Switched to Progressbar.pbar element.
	                        Improvements to notebook tabs.

2005-10-22  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* plastik/plastik.tcl:   Additional fixes for bug #1123406 - add
	* keramik/keramik.tcl:   variable declarations for variables.
	* Aquativo/Aquativo.tcl:

2005-03-04  Joe English  <jenglish@users.sourceforge.net>

	* plastik/plastik.tcl: Converted to use the image engine.

2004-10-30  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* Aquativo/Aquativo.tcl: Converted to use the image engine.
	* keramik/keramik.tcl:   Removed unnecessary layouts.
	
2004-10-29  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* keramik: Updated to use image engine. Added additional elements.

2004-10-29  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* kroc: Imported kroc theme written by David Zolli aka. kroc.
	* WinXP-Blue: Imported tile theme file for the WinXP-Blue Gtk theme.
	* Aquativo: Imported tile theme file for the Aquativo-1.5 Gtk theme.
	* keramik: Imported keramik theme. Originally written by 'Googie'
	* plastik: Imported plastik theme. Originally written by 'Googie'

Added demo/StyleIntrospection.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
26
27
28
29
30
31
32
33
34
35
36
###############################################################################
## StyleIntrospection.tcl:
## This demo shows information about the Gtk/GNOME style currently in use.
##
###############################################################################
if {[catch {package require Ttk}]} {
  package require tile
}
ttk::setTheme tilegtk

set win {}
label $win.lbl_option   -text Option:
label $win.lbl_1 -text NORMAL
label $win.lbl_2 -text PRELIGHT
label $win.lbl_3 -text ACTIVE
label $win.lbl_4 -text SELECTED
label $win.lbl_5 -text INSENSITIVE
grid $win.lbl_option $win.lbl_1 $win.lbl_2 $win.lbl_3 $win.lbl_4 $win.lbl_5 \
     -sticky snew -padx 2 -pady 2
set row 1
foreach base {fg bg base text light mid dark text_aa} {
  set col 0
  label $win.$base -text "$base:" -anchor w
  grid  $win.$base -row $row -column $col
  foreach state {NORMAL PRELIGHT ACTIVE SELECTED INSENSITIVE} {
    set colour [ttk::theme::tilegtk::currentThemeColour ${base}($state)]
    label $win.${base}_$state -background $colour \
      -relief raised -borderwidth 1
    label $win.${base}_${state}_value -text $colour
    grid $win.${base}_$state -row $row -column [incr col] \
         -sticky snew -padx 2 -pady 2
    grid $win.${base}_${state}_value -row [expr {$row+1}] -column $col \
         -sticky snew -padx 2 -pady 2
  }
  incr row 2
}

Added demo/WidgetStates.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
###############################################################################
## WidgetStates.tcl:
## This demo shows information about the Gtk/GNOME style currently in use.
##
###############################################################################
if {[catch {package require Ttk}]} {
  package require tile
}
ttk::setTheme tilegtk
foreach {arg val} $argv {
  switch -glob -- $arg {
    -st* {ttk::theme::tilegtk::applyStyle $val}
  }
}

set exit_image_data {
R0lGODlhEAAQAOepAI0LC5ANDZMODpsTE58WFqIYGKUbG6gdHbAcHKwgIK0i
IrQfH64iIrEjI7MlJboiIrYnJ7coKLgpKb8mJroqKr0qKsQqKsktLcguLrk2
NsovL780NM0wMMQ2NtEzM9IzM8g5Oa5FRdU1Nc84ONY2NtM4ONo5OdU+PsNG
Rt07O948PN8+PuI/P9VFRdtDQ9xDQ+FBQeBDQ+BEROZCQulEROpERMRVVdVO
TsdWVuZJSe1GRulISOpISOlKSu5ISOtKSuxLS+1LS8ZcXMdcXPBLS9RYWOdQ
UOVTU8dgYPZNTddbW8phYflPT/pQUM5kZPxRUc1mZtFnZ79yctVpaexgYORk
ZNlsbM5xccV1ddlubtZwcNxubutoaOhqas91dct3d+Bubt5wcN9yculvb+Zy
ctp4eOV2dtl+ftuDg+GDg9eOjs+Tk+mJidmUlNGdneOcnNqhocmqqtikpO6e
nt+lpcyxsd6srOWrq9iysuGwsNuzs92zs+yurvOrq9m3t9i4uPSsrO6vr9y4
uPCwsOG3t+S3t+C7u9+9vee7u+i7u+jAwN3Hx97Hx9/IyOLOzurNzezOzu/P
z+bU1PDQ0PLQ0OvU1OPY2OnW1uXZ2e/a2u/b2+3c3O3d3fHq6vPr6/j09Pr1
9fv19fn29vv29vn39/v39/v5+fz5+f7+/v//////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
/////////////////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQB
CgD/ACwAAAAAEAAQAAAI/gD/KaBAsKBBggoElhiCpOESJ1GmWNkSBgwPBRKE
0Nmo6JKnTpIM8Qk0iIyECDbUtKmUipQlTKRSOXozZ0wECBm8PEJVR8qZNGgO
oVrEhgsEBwiupIoDJcsdOWLMIEq1hoqDBgvsfApRREkpUTiqdBn150cDBg8y
MaowosUpUyiOGJm0KQaDBBM0NcLggcTbDjNoUOL0IsEBC3k+bSBh4i0IGkBC
4SFywMAFLancmFCRyM8JHYBSYWFioACHD4VQwZExA0aQPqgE5WhSgMAHEi4I
pQIFKVKoVIJuNHlCYICIzSzK7OHESc+XHsOfDAigIQWLGTV0+NiRhEn0FQH+
CwEQQL68efIA/gUEADs=}

set help_image_data {
R0lGODlhEAAQAMZxABpk+htl/CJo+CJr/yVt/yZt/yht+ypw/ytw/S5z/zF1
/zJ2/zV4/jZ4/zt8/zx8/z58+j1+/0B//0GA/0iA8EuC80iD/kmE/EqF/U6F
9U6H/E+I/lSK91OL/laM+1aM/FmM9FSN/1WO/1aO/lqQ/lyQ+l2Q+l+Q9lqR
/1uR/VuR/1yR/l2S/16T/16U/l+U/WCU/2OW/mma/G2c/Gyd/22d/26e/3Cf
/3eg9Hmj+X6n+Xyo/4as94es+Iet+oSu/4eu/Yiw/4yy/5S3/pq5+Zq8/6C/
/qbD/6nF/arF/arG/qzH/7DK/7bN/LfN+rXO/7vQ+b/Q9LzS/r7S+8XU8sLW
/sfX+MjY+sra+c/e/NDf/tTg+Nji+Nfj/dbk/trk+Nzk9tnl/dzm+N3m993n
+97p/97q/+Lr/uLs/+vv+Orx/+3y++7y/PD1//j6//z9//3+////////////
/////////////////////////////////////////////////yH+FUNyZWF0
ZWQgd2l0aCBUaGUgR0lNUAAh+QQBCgB/ACwAAAAAEAAQAAAHuYB/goOEhYYP
EyUmDwuGgg4dSGdfXGRQHgeFDjJaWGJxcWxbXjgFhBtSU2txamhvcVlVGoMP
QExOcW1MTFZxZUo6A4ISQ0VGZk9FRGBxSSMhCYIYP9TUPGNxYSkhIQ2CFjTh
NDVUcV0vIukMghEtLi0sKmluMSj2KAiCCisw/TBNS/zBIBFg0AUbCGdEuXID
oQ0IhA6c2LEjB5w4QSiCAFCIAAcfQo4sEdIjA0dHBip88EBBgKOXhgIBADs=
====}

image create photo exit_image -data $exit_image_data
image create photo help_image -data $help_image_data

grid [ttk::label .themel -text {Current Qt Theme:}] \
     [ttk::label .theme -textvariable ttk::theme::tilegtk::theme] \
     -sticky snew
set win [ttk::frame .frame]
grid $win - -sticky snew
grid columnconfigure . 1 -weight 1
set row 0; set column 0
set widgets {button checkbutton radiobutton entry menubutton combobox rcombobox
             scrollbar scale progressbar notebook panedwindow labelframe}
set states {active disabled focus pressed selected readonly background
             alternate}
foreach widget $widgets {
  foreach state $states {
    switch $widget {
      labelframe {
        set w [ttk::$widget $win.${widget}_$state -class Toolbar]
        ttk::menubutton $w.mb -text Toolbar -width 8
        pack $w.mb -fill both
      }
      rcombobox {
        set w [ttk::combobox $win.${widget}_$state -state readonly]
      }
      default {
        set w [ttk::$widget $win.${widget}_$state]
      }
    }
    catch { $w configure -from 0 -to 100 }
    catch { $w configure -value 35 }
    catch { $w configure -text $state }
    catch { $w configure -image help_image -compound left }
    catch { $w configure -orient horizontal }
    catch { $w configure -exportselection 0}
    catch { $w delete 0 end }
    catch { $w insert end "$state" }
    catch { $w selection range 0 5 }
    if {$widget == "notebook"} {
      set pw [ttk::panedwindow $w.client -orient horizontal]
      $w add $pw -text "Demo 1"
      $pw state $state
      ttk::label $pw.l -text "Notebook Page"
      pack $pw.l -fill both
      if {$state != "pressed"} {
        set pw [ttk::panedwindow $w.client2 -orient horizontal]
        $w add $pw -text "Demo 2"
      }
    } else {
      $w state $state
    }
    switch -glob $widget {
      *combobox - menubutton - entry {
        $w configure -width 8
      }
    }
    grid $w -row $row -column $column -sticky snw -padx 1 -pady 1
    incr column
    #if {$column > 4} {incr row; set column 0}
  }
  incr row
  set column 0
}
ttk::labelframe $win.themes -text Themes:
  set col -1; set row 0
  foreach style [lsort [ttk::theme::tilegtk::availableStyles]] {
    if {$col > 6} {incr row; set col -1}
    grid [ttk::button $win.themes.[string tolower $style] -text $style \
          -command "ttk::theme::tilegtk::applyStyle \{$style\}"] \
      -column [incr col] -row $row -sticky snew -padx 1 -pady 1
  }
  ttk::button $win.themes.exit -text Exit -image exit_image \
    -compound left -command exit
  grid $win.themes.exit -columnspan 8 -padx 5 -pady 10
grid $win.themes -columnspan [llength $states] -padx 2 -pady 2
grab set $win.themes
focus $win.themes.exit

Added demo/autocomplete.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#
# $Id: autocomplete.tcl,v 1.1 2008/08/03 14:52:09 petasis Exp $
#
# Demonstration of inline auto-completion for Tile combobox widgets.
#
# Usage:
#
#	enableAutoComplete path ?presorted?
#
#	path may be an individual window to enable auto-completion for only
#	that window, or TCombobox to enable it for all comboboxes.
#
#	By default, the values list is assumed to be pre-sorted to optimize
#	the search.  If it is not presorted, pass 0 in for the second arg,
#	and the list will be sorted before the search at the cost of some
#	overhead.
#

namespace eval tile::combobox {
	namespace export enableAutocomplete
}

## enableAutocomplete
#
#	Enable inline auto-completion for the specified combobox widget.
#
proc tile::combobox::enableAutocomplete { w {presorted 1} } {
	bind $w <KeyPress> [namespace code [list DoAutoComplete %W %A $presorted]]
}

## DoAutoComplete
#
#	Perform inline auto-completion of typed text in the combobox.
#
proc tile::combobox::DoAutoComplete { w s presorted } {
    set old [$w get]
    tile::entry::Insert $w $s
    set new [$w get]

    # Only auto-complete if the string length has changed due to insertion.

    if {[string length $old] != [string length $new]} {
       	set values [$w cget -values]

		if {!$presorted} {
			set values [lsort -dictionary $values]
		}

        set match [lsearch -inline $values $new*]

        if {[string length $match]} {
            $w delete 0 end
            $w insert end $match
            $w selection range [string length $new] end
            $w icursor [string length $new]
        }
    }
}

Added demo/demo.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
#
# $Id: demo.tcl,v 1.3 2010/09/30 13:44:44 petasis Exp $
#
# Tile widget set -- widget demo
#
package require Tk

eval destroy [winfo children .]		;# in case script is re-sourced

### Load auxilliary scripts.
#
variable demodir [file dirname [info script]]
#foreach dir [glob -directory [file join $demodir styles] -types d *] {
#    lappend auto_path . $dir
#}
lappend auto_path . [file join $demodir .. themes]

if {[catch {package require Ttk}]} {
  package require tile
}

source [file join $demodir iconlib.tcl]
source [file join $demodir toolbutton.tcl]
source [file join $demodir repeater.tcl]

# This forces an update of the available packages list.
# It's required for package names to find the themes in demos/themes/*.tcl
eval [package unknown] Tcl [package provide Tcl]

### Global options and bindings.
#
option add *Button.default normal 
option add *Text.background white
option add *Entry.background white
option add *tearOff false

# See toolbutton.tcl.
#
option add *Toolbar.relief groove
option add *Toolbar.borderWidth 2
option add *Toolbar.Button.Pad 2
option add *Toolbar.Button.default disabled
option add *Toolbar*takeFocus 0

# ... for debugging:
bind all <ButtonPress-3> { set ::W %W }
bind all <Control-ButtonPress-3> { focus %W }

# Stealth feature:
#
if {![catch {package require Img 1.3}]} {
    bind all <Control-Shift-Alt-KeyPress-S> screenshot
    proc screenshot {} {
	image create photo ScreenShot -format window -data .
	bell
	# Gamma looks off if we use PNG ... 
	# Looks even worse if we use GIF ...
	ScreenShot write screenshot.png -format png
	image delete ScreenShot
	bell
    }
}

### Global data.
#

# The descriptive names of the builtin themes:
#
set ::THEMELIST {
    default  	"Default"
    classic  	"Classic"
    alt      	"Revitalized"
    winnative	"Windows native"
    xpnative	"XP Native"
    aqua	"Aqua"
}
array set ::THEMES $THEMELIST;

# Add in any available loadable themes:
#
foreach name [ttk::themes] {
    if {![info exists ::THEMES($name)]} {
	lappend THEMELIST $name [set ::THEMES($name) [string totitle $name]]
    }
}

# Generate icons (see also: iconlib.tcl):
#
foreach {icon data} [array get ::ImgData]  {
    set ::ICON($icon) [image create photo -data $data]
}

variable ROOT "."
variable BASE [ttk::frame .base]
pack $BASE -side top -expand true -fill both

array set ::V {
    COMPOUND	top
    CONSOLE	0
    MENURADIO1	One
    PBMODE	determinate
    SELECTED 	1
    CHOICE	2
    SCALE	50
    VSCALE	0
}

### Utilities.
#

## foreachWidget varname widget script --
#	Execute $script with $varname set to each widget in the hierarchy.
#
proc foreachWidget {varname Q script} {
    upvar 1 $varname w
    while {[llength $Q]} {
    	set QN [list]
	foreach w $Q {
	    uplevel 1 $script
	    foreach child [winfo children $w] {
		lappend QN $child
	    }
	}
	set Q $QN
    }
}

## sbstub $sb -- stub -command option for a scrollbar.
#	Updates the scrollbar's position.
#
proc sbstub {sb cmd number {units units}} { sbstub.$cmd $sb $number $units }
proc sbstub.moveto {sb number _} { $sb set $number [expr {$number + 0.5}] }
proc sbstub.scroll {sb number units} {
    if {$units eq "pages"} {
    	set delta 0.2
    } else {
	set delta 0.05
    }
    set current [$sb get]
    set new0 [expr {[lindex $current 0] + $delta*$number}]
    set new1 [expr {[lindex $current 1] + $delta*$number}]
    $sb set $new0 $new1
}

## sbset $sb -- auto-hide scrollbar 
#	Scrollable widget -[xy]scrollcommand prefix.
#	Sets the scrollbar, auto-hides/shows.
#	Scrollbar must be controlled by the grid geometry manager.
#
proc sbset {sb first last} {
    if {$first <= 0 && $last >= 1} {
    	grid remove $sb
    } else {	
        grid $sb
    }
    $sb set $first $last
}

## scrolled -- create a widget with attached scrollbars.
#
proc scrolled {class w args} {
    set sf "${w}_sf"

    frame $sf
    eval [linsert $args 0 $class $w]
    scrollbar $sf.hsb -orient horizontal -command [list $w xview]
    scrollbar $sf.vsb -orient vertical -command [list $w yview]

    configure.scrolled $sf $w
    return $sf
}

## ttk::scrolled -- create a widget with attached Tile scrollbars.
#
proc ttk::scrolled {class w args} {
    set sf "${w}_sf"

    ttk::frame $sf
    eval [linsert $args 0 $class $w]
    ttk::scrollbar $sf.hsb -orient horizontal -command [list $w xview]
    ttk::scrollbar $sf.vsb -orient vertical -command [list $w yview]

    configure.scrolled $sf $w
    return $sf
}

## configure.scrolled -- common factor of [scrolled] and [ttk::scrolled]
#
proc configure.scrolled {sf w} {
    $w configure -xscrollcommand [list $sf.hsb set]
    $w configure -yscrollcommand [list $sf.vsb set]

    grid $w -in $sf -row 0 -column 0 -sticky nwse
    grid $sf.hsb -row 1 -column 0 -sticky we
    grid $sf.vsb -row 0 -column 1 -sticky ns

    grid columnconfigure $sf 0 -weight 1
    grid rowconfigure $sf 0 -weight 1
}

### Toolbars.
#
proc makeToolbars {} {
    set buttons [list open new save]
    set checkboxes [list bold italic]

    #
    # Tile toolbar:
    #
    set tb [ttk::frame $::BASE.tbar_styled -class Toolbar]
    set i 0
    foreach icon $buttons {
	set b [ttk::button $tb.tb[incr i] \
	       -text $icon -image $::ICON($icon) -compound $::V(COMPOUND) \
	       -style Toolbutton]
	grid $b -row 0 -column $i -sticky news
    }
    ttk::separator $tb.sep -orient vertical
    grid $tb.sep -row 0 -column [incr i] -sticky news -padx 2 -pady 2
    foreach icon $checkboxes {
	set b [ttk::checkbutton $tb.cb[incr i] \
		-variable ::V($icon) \
	       -text $icon -image $::ICON($icon) -compound $::V(COMPOUND) \
	       -style Toolbutton]
	grid $b -row 0 -column $i -sticky news
    }

    ttk::menubutton $tb.compound \
    	-text "toolbar" -image $::ICON(file) -compound $::V(COMPOUND)
    $tb.compound configure -menu [makeCompoundMenu $tb.compound.menu]
    grid $tb.compound -row 0 -column [incr i] -sticky news

    grid columnconfigure $tb [incr i] -weight 1

    #
    # Standard toolbar:
    #
    set tb [frame $::BASE.tbar_orig -class Toolbar]
    set i 0
    foreach icon $buttons {
	set b [button $tb.tb[incr i] \
		  -text $icon -image $::ICON($icon) -compound $::V(COMPOUND) \
		  -relief flat -overrelief raised]
	grid $b -row 0 -column $i -sticky news
    }
    frame $tb.sep -borderwidth 1 -width 2 -relief sunken
    grid $tb.sep -row 0 -column [incr i] -sticky news  -padx 2 -pady 2
    foreach icon $checkboxes {
	set b [checkbutton $tb.cb[incr i] -variable ::V($icon) \
		  -text $icon -image $::ICON($icon) -compound $::V(COMPOUND) \
		  -indicatoron false \
		  -selectcolor {} \
		  -relief flat \
		  -overrelief raised \
		  -offrelief flat]
	grid $b -row 0 -column $i -sticky news
    }

    menubutton $tb.compound \
    	-text "toolbar" -image $::ICON(file) -compound $::V(COMPOUND) \
	-indicatoron true
    $tb.compound configure -menu [makeCompoundMenu $tb.compound.menu]
    grid $tb.compound -row 0 -column [incr i] -sticky news

    grid columnconfigure $tb [incr i] -weight 1
}

#
# Toolbar -compound control:
#
proc makeCompoundMenu {menu} {
    variable compoundStrings {text image none top bottom left right center}
    menu $menu
    foreach string $compoundStrings {
	$menu add radiobutton \
	    -label [string totitle $string] \
	    -variable ::V(COMPOUND) -value $string \
	    -command changeToolbars ;
    }
    return $menu
}

proc changeToolbars {} {
    foreachWidget w [list $::BASE.tbar_styled $::BASE.tbar_orig] {
	catch { $w configure -compound $::V(COMPOUND) }
    }
}

makeToolbars

### Theme control panel.
#
proc makeThemeControl {c} {
    ttk::labelframe $c -text "Theme"
    foreach {theme name} $::THEMELIST {
	set b [ttk::radiobutton $c.s$theme -text $name \
		   -variable ::ttk::currentTheme -value $theme \
		   -command [list ttk::setTheme $theme]]
	pack $b -side top -expand false -fill x
	if {[lsearch -exact [package names] ttk::theme::$theme] == -1} {
	    $c.s$theme state disabled
	}
    }
    return $c
}
makeThemeControl $::BASE.control

### Notebook widget.
#
set nb [ttk::notebook $::BASE.nb]
ttk::notebook::enableTraversal $nb

### Main demo pane.
#
# Side-by comparison of Tile vs. core widgets.
#


set pw [ttk::panedwindow $nb.client -orient horizontal]
$nb add $pw -text "Demo" -underline 0 -padding 6
set l [ttk::labelframe $pw.l -text "Themed" -padding 6 -underline 1]
set r [labelframe $pw.r -text "Standard" -padx 6 -pady 6]
$pw add $l -weight 1; $pw add $r -weight 1

## menubuttonMenu -- demo menu for menubutton widgets.
#
proc menubuttonMenu {menu} {
    menu $menu
    foreach dir {above below left right flush} {
	$menu add command -label [string totitle $dir] \
	    -command [list [winfo parent $menu] configure -direction $dir]
    }
    $menu add cascade -label "Submenu" -menu [set submenu [menu $menu.submenu]]
    $submenu add command -label "Subcommand 1"
    $submenu add command -label "Subcommand 2"
    $submenu add command -label "Subcommand 3"
    $menu add separator
    $menu add command -label "Quit"  -command [list destroy .]

    return $menu
}

## Main demo pane - themed widgets.
#
ttk::checkbutton $l.cb -text "Checkbutton" -variable ::V(SELECTED) -underline 2
ttk::radiobutton $l.rb1 -text "One" -variable ::V(CHOICE) -value 1 -underline 0
ttk::radiobutton $l.rb2 -text "Two" -variable ::V(CHOICE) -value 2
ttk::radiobutton $l.rb3 -text "Three" -variable ::V(CHOICE) -value 3 -under 0
ttk::button $l.button -text "Button" -underline 0

ttk::menubutton $l.mb -text "Menubutton" -underline 2
$l.mb configure -menu [menubuttonMenu $l.mb.menu]

set ::entryText "Entry widget"
ttk::entry $l.e -textvariable ::entryText
$l.e selection range 6 end 

set ::spinboxText 10
ttk::spinbox $l.s -from 0 -to 20 -textvariable ::spinboxText

set ltext [ttk::scrolled text $l.t -width 12 -height 5 -wrap none]

grid $l.cb  -sticky ew
grid $l.rb1 -sticky ew
grid $l.rb2 -sticky ew
grid $l.rb3 -sticky ew
grid $l.button -sticky ew -padx 2 -pady 2
grid $l.mb -sticky ew -padx 2 -pady 2
grid $l.e -sticky ew -padx 2 -pady 2
grid $l.s -sticky ew -padx 2 -pady 2
grid $ltext -sticky news

grid columnconfigure $l 0 -weight 1
grid rowconfigure    $l 8 -weight 1 ; # text widget (grid is a PITA)

## Main demo pane - core widgets.
#
checkbutton $r.cb -text "Checkbutton" -variable ::V(SELECTED) 
radiobutton $r.rb1 -text "One" -variable ::V(CHOICE) -value 1 
radiobutton $r.rb2 -text "Two" -variable ::V(CHOICE) -value 2 -underline 1
radiobutton $r.rb3 -text "Three" -variable ::V(CHOICE) -value 3
button $r.button -text "Button"
menubutton $r.mb -text "Menubutton" -underline 3 -takefocus 1
$r.mb configure -menu [menubuttonMenu $r.mb.menu]
# Add -indicatoron control:
set ::V(rmbIndicatoron) [$r.mb cget -indicatoron]
$r.mb.menu insert 0 checkbutton -label "Indicator?" \
    -variable ::V(rmbIndicatoron) \
    -command "$r.mb configure -indicatoron \$::V(rmbIndicatoron)" ;
$r.mb.menu insert 1 separator

entry $r.e -textvariable ::entryText
spinbox $r.s -from 0 -to 10 -textvariable ::spinboxText

set rtext [scrolled text $r.t -width 12 -height 5 -wrap none]

grid $r.cb -sticky ew
grid $r.rb1 -sticky ew
grid $r.rb2 -sticky ew
grid $r.rb3 -sticky ew
grid $r.button -sticky ew -padx 2 -pady 2
grid $r.mb -sticky ew -padx 2 -pady 2
grid $r.e -sticky ew -padx 2 -pady 2
grid $r.s -sticky ew -padx 2 -pady 2
grid $rtext -sticky news

grid columnconfigure $r 0 -weight 1
grid rowconfigure    $r 8 -weight 1 ; # text widget

#
# Add some text to the text boxes:
#

set cb $::BASE.tbar_orig.cb5
set txt "checkbutton $cb \\\n"
foreach copt [$cb configure] {
    if {[llength $copt] == 5} {
	append txt "  [lindex $copt 0] [lindex $copt 4] \\\n"
    }
}
append txt "  ;\n"

$l.t insert end $txt
$r.t insert end $txt

### Scales and sliders pane.
#
proc scales.pane {scales} {
    ttk::frame $scales

    ttk::panedwindow $scales.pw -orient horizontal
    set l [ttk::labelframe $scales.styled -text "Themed" -padding 6]
    set r [labelframe $scales.orig -text "Standard" -padx 6 -pady 6]

    ttk::scale $l.scale -orient horizontal -from 0 -to 100 -variable ::V(SCALE)
    ttk::scale $l.vscale -orient vertical -from 100 -to 0 -variable ::V(VSCALE)
    ttk::progressbar $l.progress -orient horizontal -maximum 100 
    ttk::progressbar $l.vprogress -orient vertical -maximum 100
    if {1} {
	$l.scale configure -command [list $l.progress configure -value]
	$l.vscale configure -command [list $l.vprogress configure -value]
    } else {
	# This would also work, but the Tk scale widgets 
	# in the right hand pane cause some interference when 
	# in autoincrement/indeterminate mode.
	#
    	$l.progress configure -variable ::V(SCALE)
        $l.vprogress configure -variable ::V(VSCALE)
    }

    $l.scale set 50
    $l.vscale set 50

    ttk::label $l.lmode -text "Progress bar mode:"
    ttk::radiobutton $l.pbmode0 -variable ::V(PBMODE) \
    	-text determinate -value determinate -command [list pbMode $l]
    ttk::radiobutton $l.pbmode1 -variable ::V(PBMODE) \
    	-text indeterminate -value indeterminate -command [list pbMode $l]
    proc pbMode {l} {
	variable V
	$l.progress configure -mode $V(PBMODE)
	$l.vprogress configure -mode $V(PBMODE)
    }

    ttk::button $l.start -text "Start" -command [list pbStart $l]
    proc pbStart {l} {
	set ::V(PBMODE) indeterminate; pbMode $l
	$l.progress start 10
	$l.vprogress start
    }

    ttk::button $l.stop -text "Stop" -command [list pbStop $l]
    proc pbStop {l} {
    	$l.progress stop
    	$l.vprogress stop
    }

    grid $l.scale -columnspan 2 -sticky ew
    grid $l.progress -columnspan 2 -sticky ew
    grid $l.vscale $l.vprogress -sticky nws

    grid $l.lmode -sticky we -columnspan 2
    grid $l.pbmode0 -sticky we -columnspan 2
    grid $l.pbmode1 -sticky we -columnspan 2
    grid $l.start -sticky we -columnspan 2
    grid $l.stop  -sticky we -columnspan 2

    grid columnconfigure $l 0 -weight 1
    grid columnconfigure $l 1 -weight 1

    grid rowconfigure $l 99 -weight 1

    scale $r.scale -orient horizontal -from 0 -to 100 -variable ::V(SCALE)
    scale $r.vscale -orient vertical -from 100 -to 0 -variable ::V(VSCALE)
    grid $r.scale -sticky news
    grid $r.vscale -sticky nws

    grid rowconfigure $r 99 -weight 1
    grid columnconfigure $r 0 -weight 1

    ##
    $scales.pw add $l -weight 1
    $scales.pw add $r -weight 1
    pack $scales.pw -expand true -fill both

    return $scales
}
$nb add [scales.pane $nb.scales] -text Scales -sticky nwes -padding 6

### Combobox demo pane.
#
proc combobox.pane {cbf} {
    ttk::frame $cbf
    set values [list abc def ghi jkl mno pqr stu vwx yz]
    pack \
	[ttk::combobox $cbf.cb1 -values $values -textvariable ::COMBO] \
	[ttk::combobox $cbf.cb2 -values $values -textvariable ::COMBO ] \
    -side top -padx 2 -pady 2 -expand false -fill x;
    $cbf.cb2 configure -state readonly
    $cbf.cb1 current 3
    return $cbf
}
$nb add [combobox.pane $nb.combos] -text "Combobox" -underline 7

### Treeview widget demo pane.
#
proc tree.pane {w} {
    ttk::frame $w
    ttk::scrollbar $w.vsb -command [list $w.t yview]
    ttk::treeview $w.t -columns [list Class] \
	-padding 4 \
	-yscrollcommand [list sbset $w.vsb] 

    grid $w.t $w.vsb -sticky nwse
    grid columnconfigure $w 0 -weight 1
    grid rowconfigure $w 0 -weight 1
    grid propagate $w 0

    #
    # Add initial tree node: 
    # Later nodes will be added in <<TreeviewOpen>> binding.
    #
    $w.t insert {} 0 -id . -text "Main Window" -open 0 \
	-values [list [winfo class .]]
    $w.t heading \#0 -text "Widget"
    $w.t heading Class -text "Class"
    bind $w.t <<TreeviewOpen>> [list fillTree $w.t]

    return $w
}

# fillTree -- <<TreeviewOpen>> binding for tree widget. 
#
proc fillTree {tv} {
    set id [$tv focus]
    if {![winfo exists $id]} {
	$tv delete $id
	return
    }

    #
    # Replace tree item children with current list of child windows.
    #
    $tv delete [$tv children $id]
    set children [winfo children $id]
    foreach child $children {
	$tv insert $id end -id $child -text [winfo name $child] -open 0 \
	    -values [list [winfo class $child]]
	if {[llength [winfo children $child]]} {
	    # insert dummy child to show [+] indicator
	    $tv insert $child end
	}
    }
}

$nb add [tree.pane $nb.tree] -text "Tree" -sticky news

### Other demos.
#
$nb add [ttk::frame $nb.others] -text "Others" -underline 4

set Timers(StateMonitor) {}
set Timers(FocusMonitor) {}

set others $::BASE.nb.others

ttk::label $others.m -justify left -wraplength 300
bind ShowDescription <Enter> { $BASE.nb.others.m configure -text $Desc(%W) }
bind ShowDescription <Leave> { $BASE.nb.others.m configure -text "" }

foreach {command label description} {
    trackStates "Widget states..." 
    "Display/modify widget state bits"

    scrollbarResizeDemo  "Scrollbar resize behavior..."
    "Shows how Tile and standard scrollbars differ when they're sized too large"

    trackFocus "Track keyboard focus..." 
    "Display the name of the widget that currently has focus"

    repeatDemo "Repeating buttons"
    "Demonstrates custom classes (see demos/repeater.tcl)"

} {
    set b [ttk::button $others.$command -text $label -command $command]
    set Desc($b) $description
    bindtags $b [lreplace [bindtags $b] end 0 ShowDescription]

    pack $b -side top -expand false -fill x -padx 6 -pady 6
}

pack $others.m -side bottom -expand true -fill both


### Scrollbar resize demo.
#
proc scrollbarResizeDemo {} {
    set t .scrollbars
    destroy $t
    toplevel $t ; wm geometry $t 200x200
    frame $t.f -height 200
    grid \
	[ttk::scrollbar $t.f.tsb -command [list sbstub $t.f.tsb]] \
	[scrollbar $t.f.sb -command [list sbstub $t.f.sb]] \
    -sticky news

    $t.f.sb set 0 0.5	;# prevent backwards-compatibility mode for old SB

    grid columnconfigure $t.f 0 -weight 1
    grid columnconfigure $t.f 1 -weight 1
    grid rowconfigure $t.f 0 -weight 1
    pack $t.f -expand true -fill both
}

### Track focus demo.
#
proc trackFocus {} {
    global Focus
    set t .focus
    destroy $t
    toplevel $t 
    wm title $t "Keyboard focus"
    set i 0
    foreach {label variable} {
	"Focus widget:" Focus(Widget)
	"Class:" Focus(WidgetClass)
	"Next:"  Focus(WidgetNext)
	"Grab:"  Focus(Grab)
	"Status:"  Focus(GrabStatus)
    } {
	grid [ttk::label $t.l$i -text $label -anchor e] \
	     [ttk::label $t.v$i -textvariable $variable \
		-width 40 -anchor w -relief groove] \
	-sticky ew;
	incr i
    }
    grid columnconfigure $t 1 -weight 1
    grid rowconfigure $t $i -weight 1

    bind $t <Destroy> {after cancel $Timers(FocusMonitor)}
    FocusMonitor
}

proc FocusMonitor {} {
    global Focus

    set Focus(Widget) [focus]
    if {$::Focus(Widget) ne ""} {
	set Focus(WidgetClass) [winfo class $Focus(Widget)]
	set Focus(WidgetNext) [tk_focusNext $Focus(Widget)]
    } else {
	set Focus(WidgetClass) [set Focus(WidgetNext) ""]
    }

    set Focus(Grab) [grab current]
    if {$Focus(Grab) ne ""} {
	set Focus(GrabStatus) [grab status $Focus(Grab)]
    } else {
	set Focus(GrabStatus) ""
    }

    set ::Timers(FocusMonitor) [after 200 FocusMonitor]
}

### Widget states demo.
#
variable Widget .tbar_styled.tb1

bind all <Control-Shift-ButtonPress-1> { TrackWidget %W ; break }

proc TrackWidget {w} {
    set ::Widget $w ;
    if {[winfo exists .states]} {
	UpdateStates
    } else {
    	trackStates 
    }
}

variable states [list \
    active disabled focus pressed selected readonly \
    background alternate invalid]

proc trackStates {} {
    variable states
    set t .states
    destroy $t; toplevel $t ; wm title $t "Widget states"

    set tf [ttk::frame $t.f] ; pack $tf -expand true -fill both

    ttk::label $tf.info -text "Press Control-Shift-Button-1 on any widget"

    ttk::label $tf.lw -text "Widget:" -anchor e -relief groove
    ttk::label $tf.w -textvariable ::Widget -anchor w -relief groove

    grid $tf.info - -sticky ew -padx 6 -pady 6
    grid $tf.lw $tf.w -sticky ew

    foreach state $states {
	ttk::checkbutton $tf.s$state \
	    -text $state \
	    -variable ::State($state) \
	    -command [list ChangeState $state] ;
	grid x $tf.s$state -sticky nsew
    }

    grid columnconfigure $tf 1 -weight 1

    grid x [ttk::frame $tf.cmd] -sticky nse
    grid x \
    	[ttk::button $tf.cmd.close -text Close -command [list destroy $t]] \
    	 -padx 4 -pady {6 4};
    grid columnconfigure $tf.cmd 0 -weight 1

    bind $t <KeyPress-Escape> [list event generate $tf.cmd.close <<Invoke>>]
    bind $t <Destroy> { after cancel $::Timers(StateMonitor) }
    StateMonitor
}

proc StateMonitor {} {
    if {$::Widget ne ""} { UpdateStates }
    set ::Timers(StateMonitor) [after 200 StateMonitor]
}

proc UpdateStates {}  {
    variable states
    variable State
    variable Widget

    foreach state $states {
	if {[catch {set State($state) [$Widget instate $state]}]} {
	    # Not a Tile widget:
	    .states.f.s$state state disabled
	} else {
	    .states.f.s$state state !disabled
	}
    }
}

proc ChangeState {state} {
    variable State
    variable Widget
    if {$Widget ne ""} {
	if {$State($state)} { 
	    $Widget state $state
	} else {
	    $Widget state !$state
	}
    }
}

### Repeating button demo.
#

proc repeatDemo {} {
    set top .repeatDemo
    if {![catch { wm deiconify $top ; raise $top }]} { return }
    toplevel $top
    wm title $top "Repeating button"
    #keynav::enableMnemonics $top

    set f [ttk::frame .repeatDemo.f]
    ttk::button $f.b -class Repeater -text "Press and hold" \
    	-command [list $f.p step]
    ttk::progressbar $f.p -orient horizontal -maximum 10

    ttk::separator $f.sep -orient horizontal
    set cmd [ttk::frame $f.cmd]
    pack \
    	[ttk::button $cmd.close -text Close -command [list destroy $top]]  \
    -side right -padx 6;

    pack $f.cmd -side bottom -expand false -fill x -padx 6 -pady 6
    pack $f.sep -side bottom -expand false -fill x -padx 6 -pady 6
    pack $f.b -side left -expand false -fill none -padx 6 -pady 6
    pack $f.p -side right -expand true -fill x -padx 6 -pady 6

    $f.b configure -underline 0
    $cmd.close configure -underline 0
    bind $top <KeyPress-Escape> [list event generate $cmd.close <<Invoke>>]

    pack $f -expand true -fill both
}


### Command box.
#
set cmd [ttk::frame $::BASE.command]
ttk::button $cmd.close -text Close -underline 0 -command [list destroy .]
ttk::button $cmd.help -text Help -command showHelp

proc showHelp {} {
    if {![winfo exists .helpDialog]} {
	ttk::dialog .helpDialog -type ok -message "Tile demo" \
	    -detail "Tile version [package provide tile]"
    }
}

grid x $cmd.close $cmd.help -pady 6 -padx 6
grid columnconfigure $cmd 0 -weight 1

## Status bar (to demonstrate size grip)
#
set statusbar [ttk::frame $BASE.statusbar]
pack [ttk::sizegrip $statusbar.grip] -side right -anchor se

## Accelerators:
#
bind $::ROOT <KeyPress-Escape>	[list event generate $cmd.close <<Invoke>>]
bind $::ROOT <<Help>>		[list event generate $cmd.help <<Invoke>>]
# keynav::enableMnemonics $::ROOT
# keynav::defaultButton $cmd.help

### Menubar.
#
set menu [menu $::BASE.menu]
$::ROOT configure -menu $menu
$menu add cascade -label "File" -underline 0 -menu [menu $menu.file]
$menu.file add command -label "Open" -underline 0 \
    -compound left -image $::ICON(open)
$menu.file add command -label "Save" -underline 0 \
    -compound left -image $::ICON(save)
$menu.file add separator
$menu.file add checkbutton -label "Checkbox" -underline 0 \
    -variable ::V(SELECTED)
$menu.file add cascade -label "Choices" -underline 1 \
    -menu [menu $menu.file.choices]
foreach {label value} {One 1 Two 2 Three 3} {
    $menu.file.choices add radiobutton \
    	-label $label -variable ::V(CHOICE) -value $value
}

$menu.file insert end separator
if {[tk windowingsystem] ne "x11"} {
    $menu.file insert end checkbutton -label Console -underline 5 \
	-variable ::V(CONSOLE) -command toggleconsole
    proc toggleconsole {} {
	if {$::V(CONSOLE)} {console show} else {console hide}
    }
}
$menu.file add command -label "Exit" -underline 1 \
    -command [list event generate $cmd.close <<Invoke>>]

# Add Theme menu.
#
proc makeThemeMenu {menu} {
    menu $menu
    foreach {theme name} $::THEMELIST {
	$menu add radiobutton -label $name \
	    -variable ::ttk::currentTheme -value $theme \
	    -command [list ttk::setTheme $theme]
	if {[lsearch -exact [package names] ttk::theme::$theme] == -1} {
	    $menu entryconfigure end -state disabled
	}
    }
    return $menu
}

$menu add cascade -label "Theme" -underline 3 -menu [makeThemeMenu $menu.theme]

### Main window layout.
#

pack $BASE.statusbar -side bottom -expand false -fill x
pack $BASE.command -side bottom -expand false -fill x
pack $BASE.tbar_styled -side top -expand false -fill x
pack $BASE.tbar_orig -side top -expand false -fill x
pack $BASE.control -side left -expand false -fill y -padx 6 -pady 6
pack $BASE.nb -side left -expand true -fill both -padx 6 -pady 6

wm title $ROOT "Tile demo"
wm iconname $ROOT "Tile demo"
update; wm deiconify $ROOT

## Test the theme configuration panel...
namespace eval ttk::theme::tilegtk {
  if {0 && ![info exists ::testConfigurationPanel]} {
    toplevel .themeConfPanel
    wm withdraw .themeConfPanel
    wm title .themeConfPanel "TileGtk Configuration Panel..."
    frame .themeConfPanel.page
    createThemeConfigurationPanel .themeConfPanel.page
    update
    pack .themeConfPanel.page -fill both -expand 1
    wm deiconify .themeConfPanel
  }
}

Added demo/dirbrowser.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#
# $Id: dirbrowser.tcl,v 1.2 2010/09/30 13:44:44 petasis Exp $
#
# treeview widget demonstration.
#
#

lappend auto_path ../generic ..
if {[catch {package require Ttk}]} {
  package require tile
}

# Create a treeview widget:
#
set f [ttk::frame .f]
ttk::scrollbar $f.vsb -orient vertical -command [list $f.tv yview]

set tv [ttk::treeview $f.tv -columns {size mtime} \
	-yscrollcommand [list $f.vsb set] ]

grid $f.tv $f.vsb -sticky news
grid columnconfigure $f 0 -weight 1
grid rowconfigure $f 0 -weight 1

#
# Set column headings:
#
# Column #0 is the tree colum.
#
$tv heading #0 -text "Name" -command [list sortBy $tv #0]
$tv heading size -text "Size" -command [list sortBy $tv size]
$tv heading mtime -text "Modified" -command [list sortBy $tv mtime]

$tv column size -anchor e
$tv column mtime -anchor e

#
# Create some images to use as tree icons:
# (images taken from tkfbox.tcl)
#

foreach {icon data} {
    folder {R0lGODlhEAAMAKEAAAD//wAAAPD/gAAAACH5\
	    BAEAAAAALAAAAAAQAAwAAAIghINhyycvVFsB\
	    GtkmS3rjaH1Hg141WaT5ouprt2HHcUgAAOw==}
    file   {R0lGODlhDAAMAKEAALLA3AAAAP//8wAAACH5\
    	    BAEAAAAALAAAAAAMAAwAAAIgRI4Ha+IfWHsO\
	    rSASvJTGhnhcV3EJlo3kh53ltF5nAhQAOw==}
} {
    set Icons($icon) [image create photo -data $data]
}

# scanDirectory -- 
#	Scan a directory and add items to the treeview widget.
#
#	To prevent a long initial delay, subdirectories are
#	scanned "on demand" in the <<TreeviewOpen>> binding.
#	The "Pending" array holds a script to be evaluated
#	when an item is first opened.
#
proc scanDirectory {tv parent dir} {
    variable Icons
    variable Pending

    foreach subdir [glob -nocomplain -type d -directory $dir *] {
        set item [$tv insert $parent end \
		-text [file tail $subdir] -image $Icons(folder) \
		-values [list {} [datestamp [file mtime $subdir]] ] ]
	set Pending($item) [list scanDirectory $tv $item $subdir]
    }
    foreach file [glob -nocomplain -type f -directory $dir *] {

	set item [$tv insert $parent end \
		-text [file tail $file] -image $Icons(file)]

    	$tv set $item size [file size $file]
    	$tv set $item mtime [datestamp [file mtime $file]]
    }
}

bind $tv <<TreeviewOpen>> { itemOpened %W }

proc itemOpened {w} {
    variable Pending
    set item [$w focus]
    if {[info exists Pending($item)]} {
    	uplevel #0 $Pending($item)
	unset Pending($item)
    }
}

# scanAll --
#	Force the tree to be fully populated, by repeatedly
#	evaluating the contents of the Pending array.
#
proc scanAll {} {
    variable Pending
    . configure -cursor watch
    while {[llength [set pending [array get Pending]]]} {
    	array unset Pending
	foreach {_ script} $pending { uplevel #0 $script }
    }
    . configure -cursor {}
}

# openAll --
#	Recursively open all nodes in the tree.
#
proc openAll {tv {item {}}} {
    foreach child [$tv children $item] {
	$tv item $child -open true
	openAll $tv $child
    }
}

# datestamp --
#	Convert clock values to a human-readable format
#
proc datestamp {clockValue} {
    variable clockfmt "%Y-%m-%d %H:%M"
    clock format $clockValue -format $clockfmt
}

# sortBy --
#	Sort the children of each item by the specified column,
#	or by the -text label if $column is {}.
#
proc sortBy {tv column {parent {}}} {
    foreach child [$tv children $parent] {
	sortBy $tv $column $child
    }
    set items [list]
    if {$column eq "#0"} {
	# Sort by -text label:
	foreach child [$tv children $parent] {
	    lappend items [list $child [$tv item $child -text]]
	}
    } else {
	foreach child [$tv children $parent] {
	    lappend items [list $child [$tv set $child $column]]
	}
    }

    set children [list]
    foreach item [lsort -dictionary -index 1 $items] {
	lappend children [lindex $item 0]
    }
    $tv children $parent $children
}

# Rest of GUI.
#
set cmd [ttk::frame .cmd]
grid x \
    [ttk::button $cmd.open -text "Open all" -command [list openAll $tv]] \
    [ttk::button $cmd.scan -text "Scan all" -command {scanAll} ] \
    [ttk::button $cmd.close -text "Close" -command [list destroy .]] \
    -padx 6 ;
grid columnconfigure $cmd 0 -weight 1

bind . <KeyPress-Escape> [list event generate $cmd.close <<Invoke>>]

pack $cmd -side bottom -expand false -fill x -padx 6 -pady 6
pack $f -side top -expand true -fill both

# Load the initial directory:
#
scanDirectory $tv {} ~

Added demo/dlgtest.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#
# test/demo script for dialog.tcl
#

if {[catch {package require Ttk}]} {
  package require tile
}

catch {package require tile::theme::*}

array set DLG {
    icon	question
    title	"Quit..."
    message	"Are you sure you want to quit?"
    detail	"Quitting the application will cause it to stop running. \
    		 You will lose any unsaved data, and make the application \
		 feel unloved.  Please consider leaving it open."
}

proc displayDialog {} {
    variable DLG

    if {[winfo exists .dlg]} { ttk::dialog::dismiss .dlg }

    ttk::dialog .dlg \
	-icon $DLG(icon) \
	-title $DLG(title) \
	-message $DLG(message) \
	-detail $DLG(detail) \
    	-type yesnocancel \
	-default yes \
	-cancel cancel \
	;

    if {0} {
	set f [ttk::dialog::clientframe .dlg]
	pack [ttk::progressbar $f.progress -value 50] -expand false -fill x
	tile::progressbar::start $f.progress
    }
}

# displayMessageBox --
#	Display standard Tk mesageDialog, for comparison.
#
proc displayMessageBox {} {
    variable DLG
    tk_messageBox -parent . \
	-type yesnocancel \
	-icon $DLG(icon) \
	-title $DLG(title) \
	-message $DLG(message) \
	-detail $DLG(detail) \
	-default yes \
	;
}


proc dialogDemo {t} {
    variable DLG

    ttk::frame $t
    set f [ttk::frame $t.f]
    foreach field {title message detail} { 
	grid \
	    [ttk::label $f.l$field -text "[string totitle $field]:" -anchor e] \
	    [ttk::entry $f.$field -textvariable ::DLG($field) -width 60] \
	-sticky new -padx 3
    }

    grid \
    	[ttk::label $f.licon -text "Icon:" -anchor e] \
        [ttk::combobox $f.icon -state readonly -textvariable DLG(icon) \
		-values [list info question warning error]] \
    -sticky new -padx 3

    grid columnconfigure $f 0 -weight 1
    grid columnconfigure $f 1 -weight 5
    grid rowconfigure $f 99 -weight 1

    set cmd [ttk::frame $t.cmd]
    grid x \
    	[ttk::button $cmd.go -text "Display" -command displayDialog] \
    	[ttk::button $cmd.alt -text "Message" -command displayMessageBox] \
	[ttk::button $cmd.quit -text "Close" \
		-command [list destroy [winfo toplevel $t]]] \
	-padx [list 6 0] -pady 6 -sticky ew;
    grid columnconfigure $cmd 0 -weight 1
    bind . <KeyPress-Escape> [list event generate $cmd.quit <<Invoke>>]
    keynav::defaultButton $cmd.go

    pack $t.cmd -side bottom -expand false -fill x -padx 6 -pady 6
    pack $t.f -side top -expand true -fill both -padx 12 -pady 12

    return $t
}

proc dlgtest-main {} {
    pack [dialogDemo .t] -expand true -fill both
}

if {[info exists argv0] && $argv0 eq [info script]} { dlgtest-main }

Added demo/iconlib.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
array set ImgData {
bold {R0lGODlhEAAQAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAQABAAAAI6hI+py60U3wj+
RYQFJYRvEWFBCeFbRFhQQvhG8YPgX0RYUEL4FhEWlBC+RYQFJYQPFN8IPqYut/8hBQA7}
copy {R0lGODlhEAAQAJEAANnZ2QAAAP///wAAhCH5BAEAAAAALAAAAAAQABAAAAJUhI8JFJ/gY4iI
UEL4FyIiFIXgW0iEUDgfACBI9pzMAAGRiIghWSMDECR7JEKGtkFIRFBG+TIQKDQxtgzcDcmX
IfgwQrFlCD4MyZch+EDzj+Bj6mYBADs=}
cut {R0lGODlhEAAQAJEAANnZ2QAAAAAAhP///yH5BAEAAAAALAAAAAAQABAAAAJFhI+pcUHwEeIi
E0gACIKPEAFBIXy0gMg8EhM+YmQiKSL4eAIiJMI/EQEhQGYGYiQIQAg+iAkIATIzECMBIgT/
RBARERlSADs=}
dragfile {R0lGODlhGAAYAKIAANnZ2TMzM////wAAAJmZmf///////////yH5BAEAAAAALAAAAAAYABgA
AAPACBi63IqgC4GiyxwogaAbKLrMgSKBoBoousyBogEACIGiyxwoKgGAECI4uiyCExMTOACB
osuNpDoAGCI4uiyCIkREOACBosutSDoAgSI4usyCIjQAGCi63Iw0ACEoOLrMgiI0ABgoutyM
NAAhKDi6zIIiNAAYKLrcjDQAISg4usyCIjQAGCi63Iw0AIGiiqPLIyhCA4CBosvNSAMQKKo4
ujyCIjQAGCi63Iw0AIGiy81IAxCBpMu9GAMAgKPL3QgJADs=}
dragicon {R0lGODlhGAAYALMAANnZ2TMzM/////8zM8zMzGYAAAAAAJmZmQCZMwAzZgCZzGZmZv//////
/////////yH5BAEAAAAALAAAAAAYABgAAAT/EMAgJ60SAjlBgEJOSoMIEMgZoJCT0iADBFIG
KOSkNMwAAABhwiHnIEKIIIQQAQIZhBBwyDmKEMIEE0yABoAghIBDzlGEENDIaQAIQgg45BwF
CinPOccAECYcUiKEEBFCiHPgMQAEIcQYYyABBUGIQCHlMQCEScZAAhKEEApCECGOARAEIQQp
BRGIpAyCJCGOASBAISdEcqJAVBLiGABggELOAJGUKyiVhDgGABigkJMEhNAKSqkEhTgGgCCl
FCQEGIJSSiUhjgEgQCEnJVBJmYQ4BoAAhZyTQCVnEuIYAAIUckoCk5xSiGMACFDISSs9BoBg
rRXQMQAEKOSklR4DEUAI8MhJ6wwGAACgkZNWCkAEADs=}
error {R0lGODlhIAAgAKIAANnZ2YQAAP8AAISEhP///////////////yH5BAEAAAAALAAAAAAgACAA
AAP/CLoMGLqKoMvtGIqiqxEYCLrcioGiyxwIusyBgaLLLRiBoMsQKLrcjYGgu4Giy+2CAkFX
A0WX2wXFIOgGii7trkCEohsDCACBoktEKLpKhISiGwAIECiqSKooukiqKKoxgACBooukKiIo
SKooujGDECi6iqQqsopEV2MQAkV3kXQZRXdjEAJFl5F0FUWXY3ACRZcFSRdFlyVwJlB0WZB0
UXRZAmcCRZeRdBVFl2NwAkV3kXQZRXdjcAJFV5FURVaR6GoMDgSKLpKqiKAgqaLoxgwOBIoq
kiqKLpIqimrM4ECg6BIRiq4SIaHoxgyCBoou7a5AhKIbMzgAAIGiy+2CTWJmBhAAAkWX2wXF
zCDoBooud2PMDIKuRqDocgtGzMwg6O4Eii5z4Kgi6DIMhqLoagQGjiqCLvPgYOgqji6CLrfi
6DIj6HI7jq4i6DIkADs=}
file {R0lGODlhCwANAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAALAA0AAAIyhI9G8Q0AguSH
AMQdxQgxEyEFQfItICQokYgEBMm3gBCKLRIQJN8CQii2SECQfAug+FgAOw==}
folder {R0lGODlhEAANAKIAANnZ2YSEhMbGxv//AP///wAAAP///////yH5BAEAAAAALAAAAAAQAA0A
AANjCIqhiqDLITgyEgi6GoIjIyMYugCBpMsaWBA0giMjIzgyUYBBMjIoIyODEgVBODIygiMj
E1gQJIMyMjIoI1GAQSMjODIyghMFQSgjI4MyMhJYEDSCIyMjODJRgKHLXAiApcucADs=}
hourglass {R0lGODlhIAAgAKIAANnZ2YAAAAAAAP8AAP///8DAwICAgP///yH5BAEAAAAALAAAAAAgACAA
AAPZCLrc/jDKSau9OGcUuqyCoMvNGENVhaMrCLrcjaLLgqDL7WhFVIVVZoKgy+1oRUSFVWaC
oMvtaEVEhVVmgqDL7WhFRIVVZoKgy+1oVVaCJWaCoMvtgKxISrBMEHS5fZEVSRkKgi63NzIq
EwRdbndkVCYIutzeyIqqDAVBl9sXWRFJYZkg6HI7ICsiKqwyEwRdbkcrIhKsMhMEXW5HKyIp
lDITBF1uRysyEiwxEwRdbkcrIyuUEhMEXW5H0WVB0OVujKGqwtEVBF1uRtHlRdDl9odRTlrt
xRmjBAA7}
info {R0lGODlhIAAgAKIAANnZ2YSEhMbGxv///wAA/wAAAP///////yH5BAEAAAAALAAAAAAgACAA
AAP/CLoMGLqKoMvtGCo4uhKBgaDLDRghOLqsghEIuryBgqPLPSiBoMsQOLojhEQkOLpTCLob
OLqKpIujq4WgC4Gju0i6OLpbCKohOLorhEQkOLorhaAQOLrc3qgCIARHl9sbSQUEji4j6RKO
Lk9hQODosiKp4ujyFIbi6LIiqeLo8hSG4uiyIqni6PIUhuLosiKp4ujyFIYKji4PkiqOLkth
BASOLg+SKo4uV2AEhODoMpIqju5KYShA4Ogqku7i6E4FRgAAYOHocvugiohAUC0cXe7GiohA
0IUSHF3uQamICATdrULB0WUVrIqIQNBlCCwVHF2pwsJQRdDlDYyoKsHRPMLQDQRdbsDQqBmc
wlBF0OV2jJqZwggEXW5vVDMVgaDL7Y5qKgJBl9sfVUUg6HL7AxSKoMvtr1AEgi5DAgA7}
italic {R0lGODlhEAAQAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAQABAAAAIrhI+py+1A4hN8
hIjINBITPlpEZBqJCR8tIjKNxISPFhGZQOITfExdbv9FCgA7}
new {R0lGODlhEAAQAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAQABAAAAJFhI95FN8IvgXJ
jyD4ECQ/JAh+kPyICIIdJP+CYAfJvyDYQfIvCHaQ/AuCHST/gmAHyb8g2EHyLwh2kPwLgk3x
MQg+pu4WADs=}
open {R0lGODlhEAAQAKIAANnZ2QAAAP//AP///4SEAP///////////yH5BAEAAAAALAAAAAAQABAA
AANZCLrczigUQZc1EDQgEHSZAwMgIhB0NQIDQkYwdANBNUZwZGQEJxBUQwZlZGRQAkE1RnAE
Q5dVcCSQdDcAYySQdDcAISSQdDcAASKQdDcAAQBDlwNBl9sfApQAOw==}
openfold {R0lGODlhEAANAKIAANnZ2YSEhP///8bGxv//AAAAAP///////yH5BAEAAAAALAAAAAAQAA0A
AANgCIqhiqDLgaIaCLoagkNDIxi6AIFCQ0M4KKpRgCFDQzg0NIGTKhaHLSxgVKLochRMVMkhD
Q4M0VBFYEDKEQ0NDOFFRgCE0NEhDQ4MVBRAoNDSEQ0NRWAAYuqyFBQBYurwJADs=}
overstrike {R0lGODlhEAAQAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAQABAAAAI3hI+py80Uh+Aj
RFhQCP8iMILgWwRGEHyLwAiCbxEYQfCB4iPBhwiMIPgXYREEHyEiguBj6nI7FQA7}
palette {R0lGODlhEAAQAKIAANnZ2QAAAP//AP////8A/4QAhP8AAAD//yH5BAEAAAAALAAAAAAQABAA
AANtCLrcjqGBoMsRKCMTgaALMSgDAYMSCKoxgAFBITgSAIAQEhUIARCAEgAQOBAwghMQEwga
MoIjIxAIEgCAEBEyKBAgg4GgGxAIYTGCgaALcRgQIIGgCwEYICODgaALITgyEoGguxiqCLrc
/lChBAA7}
passwd {R0lGODlhIAAgAMQAANnZ2QAAAICAgICAAP///7CwsMDAwMjIAPjIAOjo6Pj4AODg4HBwcMj4
ANjY2JiYANDQ0MjIyPj4yKCgoMiYAMjImDAwAMjIMJiYmJCQkP//////////////////////
/yH5BAEAAAAALAAAAAAgACAAAAX/ICCOIhiIIgiII1maZSCMQnCeJyAIQiAIAiAMwxCcJwkk
EAQRCIUwGMSBDEEAAuJIlgKRJEEgGAMRBIGiDENQlqNAJAsYCEwgEEEgBAHSIEMAAuJIAgKR
LEsgGEMgCEJgBMqhHENQlgJILMsSCMRABEFgGAESHMcRgIA4kgKxOIsTBAOhKAITKEGDHMhD
kqIAEqAjisJAgIooBkpwNMcTgIA4jgLhOBAkEAOhKIoSKEGDIMcTkKQICgQEQQIxEIqiBEpw
IMdxPAEIiCMJCEQUMUQ0EIqiHIfSIM3xBGUpCiABCUQyEMqhHMiBHMjxBCAgjuQoEAKxRANB
HMqhHM1x/zxDUJajQIACsUTDQBAEIR3IcQRDAALiSIoCYQiEE03gII7HQR3BEICAOJICYRSC
QDjRNE1CAAzVQR3WE5AkAAqEUQiFQEARBAUAAAzHQR3BEICAOI4CUQhFIBAREwXjUFUHdQRD
QJJAABbCFAhEJBgBAADAMAwXdQRDAALiCAhEIRQCYRiCEZDjUFFHMAQkIBAFOAmTQBiFUAQg
II7AUFXUEQwBCQjEJExBkBRCEZCjMIBD9RxDAALiGEzCFBBYIRTBOI7AQB1DMIoCMQkYGAjL
JEwBCIgjOVDDEJCAQGACJiTTJEwBSY5BEJAiSCCwTAiCZBKmAATEkSzNQBCCYCDBJgELTNMk
g0AMEgwTAhAQR7I0zYARgvM8TyAIznMMAQA7}
paste {R0lGODlhEAAQAKIAANnZ2QAAAP//AISEAISEhP///wAAhP///yH5BAEAAAAALAAAAAAQABAA
AANwCLrcjqGBoKsYqiKrCDSGBkMiJJCGAgCDKBB0gwYDIKYwdJUIAyBokIaGBmloAhBiaAgH
TdcCEIKGBsmwVM0AIYaGcAxL1coQgoYGySoisMzMAoeGxrB01QJpaMiwMHTLAEPVsHTVEHTR
dBlBlxswAQA7}
print {R0lGODlhEAAQAKIAANnZ2QAAAP///4SEhP//AP///////////yH5BAEAAAAALAAAAAAQABAA
AANZCLrcjqG7CLqBoquBoBuCoSqBoBsouhoIuiEYqrKBoIGiqwEYEIChyxAIEYGgywEYgKHL
DAgRCLozgwABARgIukSEABEBGLq8gAEQCLobgAEAgKHLgaDLzZgAOw==}
question {R0lGODlhIAAgAKIAANnZ2YSEhMbGxv///wAAAAAA/////////yH5BAEAAAAALAAAAAAgACAA
AAP/CLoMGLqKoMvtGCo4uhKBgaDLDRghOLqsghEIuryBgqPLPSiBoMsQOLrcjYSgu4GjO4Kl
Kzi6Qwi6EDi6I4UyU1VYgqM7hKAagqM7VTg6VYWFoztCCAqBo6tVWDVThVU4ukqBACE4ulqF
VSNVWIWjq0IYEDi6K4UlU1VYOLpMgRA4uryCpTi6PIShOLq8hVU4uqyEoTi6vIUlOLqshKE4
uryFhaPLSxgqOLrc3kgoAgJHl0ewSnB0eQhDIQRHl6uwCkeXhTAUIHB0uQqrcHSZAiMAAJBw
dFcKS3B0lwIjAkGVcHS5GykiAkEXSHB0uQeFIiIQdJcIBUeXVZAoIgJBT5chkFRwdIUICUMV
QZc3MIKIBEcJQzcQdLkBQ4NmcAhDFUGX2zFoZggjEHS5vRHNUASCLrc7oqEIBF1uf0QUgaDL
7Q9QKIIut79CEQi6DAkAOw==}
redo {R0lGODlhEAAQAJEAANnZ2QAAhP///////yH5BAEAAAAALAAAAAAQABAAAAIvhI+py+1vSByC
jxAYQXDMwsyAggQAQBB8iwgMgg8REQgUwqbYBDsIPqYutz+MgBQAOw==}
save {R0lGODlhEAAQAJEAANnZ2QAAAISEAP///yH5BAEAAAAALAAAAAAQABAAAAJWhI9pFB8RIIRC
+BYQFqQQvkWEBSmEbyFhQQrhW0hYkEL4FhIWpBC+hYQFSYxvIgFAoXy0AAiSGP8kAIIkxgcI
CSBEQvEBQgIIkVB8gJAAAhgfj+BjWgEAOw==}
underline {R0lGODlhEAAQAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAQABAAAAI3hI+py60UBy4I
vkVcBMG/iIsg+BdxEGTK/Ii6C4F/ERRD8i7gIgn8RF0HwkWITfExFin8EH1OXCwA7}
undo {R0lGODlhEAAQAJEAANnZ2QAAhP///////yH5BAEAAAAALAAAAAAQABAAAAIuhI+py+2vSByC
HxdxQCHsCIg7oAAAEUHwLTAiKIQPgRSbYMfd3VEIH1OX2x8mUgA7}
warning {R0lGODlhIAAgAKIAANnZ2YSEAP//AMbGxgAAAISEhP///////yH5BAEAAAAALAAAAAAgACAA
AAP/CLq8gREIutz+KESGEHS5vVGIiAxSIehy+6JAUaUqBF1uBxQoukOFhaDL7RgoukKFhaDL
3RgoujqEVQi63IyBortUWAi63IuBostDWIWgy60YIjKERCMiSFUIutyAISKCpCoiOFSFoMsd
KCpIqiKCQlUIusyBooqkKiIoQ1UIuryBooqkiqJKVQi6rIGii6SKojpUWAi6DIGiG0RIgaJL
VQi6HCi6MoREg6I7VFgIuhsoukqEhKKrVFgIuhoouhuEgaKrQ1iFoAuBortDOCi6S4WFoBso
uiyEostDWIWgGii63K6IqgAAIVB0WQaJBkV3h7AKAAJFl4WQiFB0mQoLRyBQdFkJiQhFl4ew
CgJFl3WQaFB0WQirIFB0ud0RVVWg6HJ7o6GqAgwUXW5fNFRVhQCBpMvti0oVABCwdLndEehi
6XI7I4AEADs=}
}

Added demo/repeater.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#
# $Id: repeater.tcl,v 1.1 2008/08/03 14:52:09 petasis Exp $
#
# Demonstration of custom classes.
#
# The Tile button doesn't have built-in support for autorepeat.
# Instead of adding -repeatdelay and -repeatinterval options,
# and all the extra binding scripts required to deal with them,
# we create a custom widget class for autorepeating buttons.
#
# Usage:
#	ttk::button .b -class Repeater [... other options ...]
#
# TODO:
#	Use system settings for repeat interval and initial delay.
#
# Notes:
#	Repeater buttons work more like scrollbar arrows than
#	Tk repeating buttons: they fire once immediately when
#	first pressed, and $State(delay) specifies the initial 
#	interval before the button starts autorepeating.
#

namespace eval tile::Repeater {
    variable State
    set State(timer) 	{}	;# [after] id of repeat script
    set State(interval)	100	;# interval between repetitions
    set State(delay)	300	;# delay after initial invocation
}

### Class bindings.
#

bind Repeater <Enter>		{ %W state active }
bind Repeater <Leave>		{ %W state !active }

bind Repeater <Key-space> 	{ tile::Repeater::Activate %W }
bind Repeater <<Invoke>> 	{ tile::Repeater::Activate %W }

bind Repeater <ButtonPress-1> 	{ tile::Repeater::Press %W }
bind Repeater <ButtonRelease-1> { tile::Repeater::Release %W }
bind Repeater <B1-Leave> 	{ tile::Repeater::Pause %W }
bind Repeater <B1-Enter> 	{ tile::Repeater::Resume %W } ;# @@@ see below

# @@@ Workaround for metacity-induced bug:
bind Repeater <B1-Enter> \
    { if {"%d" ne "NotifyUngrab"} { tile::Repeater::Resume %W } }

### Binding procedures.
#

## Activate -- Keyboard activation binding. 
#	Simulate clicking the button, and invoke the command once. 
#
proc tile::Repeater::Activate {w} {
    $w instate disabled { return }
    set oldState [$w state pressed]
    update idletasks; after 100
    $w state $oldState
    after idle [list $w invoke]
}

## Press -- ButtonPress-1 binding.
#	Invoke the command once and start autorepeating after 
#	$State(delay) milliseconds.
#
proc tile::Repeater::Press {w} {
    variable State
    $w instate disabled { return }
    $w state pressed
    $w invoke
    after cancel $State(timer)
    set State(timer) [after $State(delay) [list tile::Repeater::Repeat $w]]
}

## Release -- ButtonRelease binding.
#	Stop repeating.
#
proc tile::Repeater::Release {w} {
    variable State
    $w state !pressed
    after cancel $State(timer)
}

## Pause -- B1-Leave binding
#	Temporarily suspend autorepeat.
#
proc tile::Repeater::Pause {w} {
    variable State
    $w state !pressed
    after cancel $State(timer)
}

## Resume -- B1-Enter binding
#	Resume autorepeat.
#
proc tile::Repeater::Resume {w} {
    variable State
    $w instate disabled { return }
    $w state pressed
    $w invoke
    after cancel $State(timer)
    set State(timer) [after $State(interval) [list tile::Repeater::Repeat $w]]
}

## Repeat -- Timer script
#	Invoke the command and reschedule another repetition 
#	after $State(interval) milliseconds.
#
proc tile::Repeater::Repeat {w} {
    variable State
    $w instate disabled { return }
    $w invoke
    set State(timer) [after $State(interval) [list tile::Repeater::Repeat $w]]
}

#*EOF*

Added demo/toolbutton.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#
# $Id: toolbutton.tcl,v 1.1 2008/08/03 14:52:09 petasis Exp $
#
# Demonstration of custom widget styles.
#

#
# ~ BACKGROUND
#
# Checkbuttons in toolbars have a very different appearance 
# than regular checkbuttons: there's no indicator, they
# "pop up" when the mouse is over them, and they appear sunken
# when selected.
# 
# Tk added partial support for toolbar-style buttons in 8.4 
# with the "-overrelief" option, and TIP #82 added further
# support with the "-offrelief" option.  So to get a toolbar-style 
# checkbutton, you can configure it with:
#
# checkbutton .cb \
#     -indicatoron false -selectcolor {} -relief flat -overrelief raised -offrelief flat
#
# Behind the scenes, Tk has a lot of rather complicated logic
# to implement this checkbutton style; see library/button.tcl,
# generic/tkButton.c, and the platform-specific files unix/tkUnixButton.c
# et al. for the full details.
#
# The tile widget set has a better way: custom styles.
# Since the appearance is completely controlled by the theme engine,
# we can define a new "Toolbutton" style and just use:
#
# checkbutton .cb -style Toolbutton
#
#
# ~ DEMONSTRATION
#
# The tile built-in themes (default, "alt", windows, and XP) 
# already include Toolbutton styles.  This script will add
# them to the "step" theme as a demonstration.
#
# (Note: Pushbuttons and radiobuttons can also use the "Toolbutton" 
# style; see demo.tcl.)
#

ttk::style theme settings "default" {

#
# First, we use [ttk::style layout] to define what elements to
# use and how they're arranged.  Toolbuttons are pretty
# simple, consisting of a border, some internal padding,
# and a label.  (See also the TScrollbar layout definition 
# in demos/blue.tcl for a more complicated layout spec.)
#
    ttk::style layout Toolbutton {
        Toolbutton.border -children {
            Toolbutton.padding -children {
                Toolbutton.label
            }
        }
    }

# (Actually the above isn't strictly necessary, since the same layout 
# is defined in the default theme; we could have inherited it 
# instead.)
#
# Next, specify default values for element options.
# For many options (like -background), the defaults
# inherited from the parent style are sufficient.
#
    ttk::style configure Toolbutton \
    	-width 0 -padding 1 -relief flat -borderwidth 2

#
# Finally, use [ttk::style map] to specify state-specific 
# resource values.  We want a flat relief if the widget is
# disabled, sunken if it's selected (on) or pressed, 
# and raised when it's active (the mouse pointer is
# over the widget).  Each state-value pair is checked
# in order, and the first matching state takes precedence.
#
    ttk::style map Toolbutton -relief {
	disabled 	flat
    	selected	sunken  
	pressed 	sunken  
	active		raised
    }
}

#
# ~ A final note:  
#
# TIP #82 also says: "When -indicatoron is off and the button itself
# is on, the relief continues to be hard-coded to sunken. For symmetry,
# we might consider adding another -onrelief option to cover this
# case. But it is difficult to imagine ever wanting to change the
# value of -onrelief so it has been omitted from this TIP.
# If there as strong desire to have -onrelief, it can be added later."
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
# The Tile project aims to make sure that this never needs to happen.
#

Added themes/Aquativo/CreateImageLib.def.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
32
33
34
arrow_down_active
arrow_down_insensitive
arrow_down_normal
arrow_left_active
arrow_left_insensitive
arrow_left_normal
arrow_right_active
arrow_right_insensitive
arrow_right_normal
arrow_up_active
arrow_up_insensitive
arrow_up_normal
button
buttonNorm
buttonPressed
checkbox_checked
checkbox_unchecked
horizontal_trough
hseparator
menubar_option
menubar_option_arrow
menubar_option_arrow_insensitive
notebook
notebook_active
notebook_inactive
option_in
option_out
progressbar
scrollbar_horizontal
scrollbar_horizontal_inactive
scrollbar_vertical
scrollbar_vertical_inactive
vertical_trough
vseparator

Added themes/Aquativo/ImageLib.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
# ImageLib.tcl ---
# Automatically created by: CreateImageLibCmd.tcl

set images(arrow_down_active) [image create photo -data {
R0lGODlhDwAPAPUiAAYNFREUFw4ZJBUnOyIoLzc/SC5La1lsfytdlThfiz5w
qRZkxjl/0l9jvT2C0nOInU6N1UyQ1liV2GCd32Ke4G6l3nOm32yp6nCs7H7A
/5WqwJy835q/6aO344HH/6jI67HP7rrU8AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBACIALAAAAAAPAA8AAAbK
wMVisVgsFovFYrFYLBaLRqfDqTAcEQkF4/EsFo1O5/OxOCKSCsbjWSwanc4H
BHJEJBIMxrNYNICdzucTckAkk0vGs1g0Op0DIAAAAAwYj2exaHQ6G0IAABBM
MBjPYtHocD6PAACQqGA8nsWi0ekAP58CYAChYDyexaLR6XxAGoBCQsF4PItF
o9P5fEKIiESC8XgWi0an8wGFHBEJBePxLBaNTqcDAn4cEQkFg/EsFo1O5/Ox
OCISCsbjWSwWi8VisVgsFovFYrEIAgA7
}]
set images(arrow_down_insensitive) [image create photo -data {
R0lGODlhDAAMAPECAAAAALOzswAAAAAAACH5BAEBAAIALAAAAAAMAAwAAAJS
lChRokSJEiVKlChRokSJEiVKlChRYsKECRNKlJgwYcKEEiUqTJgwokSJEhMm
lChRokSFESVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKBQA7
}]
set images(arrow_down_normal) [image create photo -data {
R0lGODlhDwAPAPMLAEZGRlhYWGVlZXFxcZGRka6urrq6usHBwdvb2+jo6Pj4
+P///wAAAAAAAAAAAAAAACH5BAEBAAsALAAAAAAPAA8AAASYsJRSSimllFJK
gcUopVRCKCmlFFTFKKWUSiklpaBSxSillFIoJQWVUqUopZRSKSWolFLFKKVI
AABAQJRSxSilVAAAgpCUUsUopVQBEICilFLFKKWUggOIpJRSxSilFFQImKSU
UsUopaBSqqSklFLFKAWVUgqlpJRSpSiolFIKpZSUUsVApZRSCaWUlFIFllJK
KaWUUkopsEQAOw==
}]
set images(arrow_left_active) [image create photo -data {
R0lGODlhDwAPAPUiAAYNFREUFw4ZJBUnOyIoLzc/SC5La1lsfytdlThfiz5w
qRZkxjl/0l9jvT2C0nOInU6N1UyQ1liV2GCd32Ke4G6l3nOm32yp6nCs7H7A
/5WqwJy835q/6aO344HH/6jI67HP7rrU8AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBACIALAAAAAAPAA8AAAbK
wMVisVgsFovFYrFYLBaLRqPRaDQajUaj0WgsFp1Op9PpdDqdTqfTWSw6nU6n
0+l0Op1Op7NYfICfz+fz+WwOn8+Hs1h8PiAQ6PMgBD6gz2WxqHxCIE0hEAiE
QBXGYuFwOBAAAAAAcDAcjsUCAoEAI4oBAACIRCKRxUIikUgkkYQAIJFIJIvF
ZDKZTCYVieEiqUwWCwwGg8FcMBcMBoPBLBaZTCaTAXo8HozH4/EsFh5PxuPx
eDwej8fjWSwWi8VisVgsFovFYrEIAgA7
}]
set images(arrow_left_insensitive) [image create photo -data {
R0lGODlhDAAMAPECAAAAALOzswAAAAAAACH5BAEBAAIALAAAAAAMAAwAAAJS
lChRokSJEiVKlChRokSJEiUqjChRokSJCSNKlChRYcKIEiVKTJgwokSJEhMm
jChRokSFCSNKlChRYsKIEiVKlKgwokSJEiVKlChRokSJEiVKBQA7
}]
set images(arrow_left_normal) [image create photo -data {
R0lGODlhDwAPAPMLAEZGRlhYWGVlZXFxcZGRka6urrq6usHBwdvb2+jo6Pj4
+AAAAAAAAAAAAAAAAAAAACH5BAEBAAsALAAAAAAPAA8AAASYsJhijDHGGGOM
gaYopZRSSimlFFSlKKWUUkoppaBSpSillFJKKQWVUqUopZRSShGolFKlKKWU
UiZAoJRKpaSkFBoAAqBUQqUghAoAEACAUEKlpJSSgQIAkFJKpaSUFEypBJCS
SqWkpKBSSiWilFKlKAWVUkoppZRSpSiolFJKKaWUUqVApZRSSimllFIFllKK
KaWUUoopsEQAOw==
}]
set images(arrow_right_active) [image create photo -data {
R0lGODlhDwAPAPUiAAYNFREUFw4ZJBUnOyIoLzc/SC5La1lsfytdlThfiz5w
qRZkxjl/0l9jvT2C0nOInU6N1UyQ1liV2GCd32Ke4G6l3nOm32yp6nCs7H7A
/5WqwJy835q/6aO344HH/6jI67HP7rrU8AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBACIALAAAAAAPAA8AAAbK
wMVisVgsFovFYrFYLBaLRqPRaDQajUaj0WgsFp1Op9PpdDqdTqfTWSw6nU6n
0+l0Oh1Op7NYcICfz+ew+Xw+n8/ns1hUPiBQgPAAgT6fz2exYFg+oQAgUNCE
Qh/LYuFwOBwAAAAAQDgcjsUiEoEAIQAAYKCAQCKRxUIikUgCgoREIpFIJIsF
hTKZGCQTCkVCoVQWiwvmcsFcMBgMBoPBLBaeTCaTAXo8mUwmk8ksFh6Px+Px
eDwejyfjWSwWi8VisVgsFovFYrEIAgA7
}]
set images(arrow_right_insensitive) [image create photo -data {
R0lGODlhDAAMAPECAAAAALOzswAAAAAAACH5BAEBAAIALAAAAAAMAAwAAAJS
lChRokSJEiVKlChRokSJCiNKlChRosKEEiVKlKgwYUSJEiUqTJhQokSJChMm
lChRosKEESVKlKgwoUSJEiUqjChRokSJEiVKlChRokSJEiVKBQA7
}]
set images(arrow_right_normal) [image create photo -data {
R0lGODlhDwAPAPMLAEZGRlhYWGVlZXFxcZGRka6urrq6usHBwdvb2+jo6Pj4
+AAAAAAAAAAAAAAAAAAAACH5BAEBAAsALAAAAAAPAA8AAASYsBhjjDGmGGOM
gaUopZRSSimlFFSlKKWUUkoppaBSpSillFJKKQWVSqUopRRRSimolFKlJKUU
CEZBpZRSpaCkFAAADqSUSqWghBIAEABQEEKlpJQSgACIk1JKpSSVFASgpJRS
SqUopaAiSSmllEqlKAWVUkoppZRSpSiolFJKKaWUUqVApZRSSimllFIFllKK
KaWYUkopsEQAOw==
}]
set images(arrow_up_active) [image create photo -data {
R0lGODlhDwAPAPUiAAYNFREUFw4ZJBUnOyIoLzc/SC5La1lsfytdlThfiz5w
qRZkxjl/0l9jvT2C0nOInU6N1UyQ1liV2GCd32Ke4G6l3nOm32yp6nCs7H7A
/5WqwJy835q/6aO344HH/6jI67HP7rrU8AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBACIALAAAAAAPAA8AAAbK
wMVisVgsFovFYrFYLBaLRqfz+VgcEQkF48ksFo1O5wP6OCISyiXjWSwanc4H
FHJEJJRLJrNYNICdzucTQkQklEvGs1g0OpzPRwNQRCqXjGexaHQ6H1ABMJBU
MB7PYtHocD6PAACQmGA8nsWi0ekAN4QAACCQXDyexaLR6RwCAQAAYMB4PItF
o9P5fEIOiGRyyXgWi0an8wF9GBDJ5JLxLBaNTqfzAVYcEAkFk8ksFo1OpzNh
QCKSCibjWSwWi8VisVgsFovFYrEIAgA7
}]
set images(arrow_up_insensitive) [image create photo -data {
R0lGODlhDAAMAPECAAAAALOzswAAAAAAACH5BAEBAAIALAAAAAAMAAwAAAJS
lChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRYUSJEiVKTJhQokSJChMm
jChRYsKECRNKlJgwYcKEEiVKlChRokSJEiVKlChRokSJEiVKBQA7
}]
set images(arrow_up_normal) [image create photo -data {
R0lGODlhDwAPAPMLAEZGRlhYWGVlZXFxcZGRka6urrq6usHBwdvb2+jo6Pj4
+AAAAAAAAAAAAAAAAAAAACH5BAEBAAsALAAAAAAPAA8AAASYsJRSSimlmFJK
gcUopVRKCKWkFFTFKKWUUgglpaBSxSillFIoJQWVUsUopZRSJSWolFLFKKWU
QuDApJRSxSillBoAiqSUUsUopZQBEICilFLFKKVSgACAkJRSxiilCgQAAECU
UqUopaBSKqWklFLFKAWVUgqlpJRSxSiolFIJpaSUUsVApZRKCCGllFIFllJK
KaWUUoopsEQAOw==
}]
set images(button) [image create photo -data {
R0lGODlhGwAbAPIGAAAAAL+/v83NzdfX1+jo6Pb29gAAAAAAACH5BAEBAAYA
LAAAAAAbABsAAAP+aGZmhmZmZmhmZoZmZmZoZmaBERERGBERgRESERgRYYYW
IiIoIiKCIiIiKCIighJmISgiIoIiIiIoIiKCIiJhaCEygjIiIigyIoIiIjIo
YRaDIiMyOCMjgzIyMjgiE4YWIyM4IyODMyMyODMygxJmMTgzM4MzMzM4MzOD
MzNhaDEzgzMzMzgzNIMzMzM4YRaEMzQzOEMzg0MzM0gzE4YWM0NIQzODNDQz
ODNDgxRmQTg0M4NEM0M4NESEMzRhaEEzhERENEhDM4QzQzRIYRaERDM0OERE
hEREREhDFIYWRERIRESEQ0RDSEREhBRmQUhERIRERERIRESERERhaEGsRIRE
RERIRESFREVFSGIWhVREVUhFVIRFRERIRRSGFkRFWFREhEVFVUhFRIUUZlFY
VVSEVUVVSEVFhVVUYWhRRYVVVVVYVVWFVVVUWGEWhVVVVVhVVYVVVVVYVRWG
FlVVWFVVhVVVVVhVVYUVZlFYVVWFVVVVWFVVhVVVYWhRVYVVVVVYVVWFVVVV
WGFmgRIhIRghEYIhERIYEmKGZmZmaGZmhmZmZmhmZoZmlgA7
}]
set images(buttonNorm) [image create photo -data {
R0lGODlhGwAbAPIGAAAAAL+/v83NzdfX1+jo6Pb29gAAAAAAACH5BAEBAAYA
LAAAAAAbABsAAAP+aGZmhmZmZmhmZoZmZmZoZmaBERERGBERgRESERgRYYYW
IiIoIiKCIiIiKCIighJmISgiIoIiIiIoIiKCIiJhaCEygjIiIigyIoIiIjIo
YRaDIiMyOCMjgzIyMjgiE4YWIyM4IyODMyMyODMygxJmMTgzM4MzMzM4MzOD
MzNhaDEzgzMzMzgzNIMzMzM4YRaEMzQzOEMzg0MzM0gzE4YWM0NIQzODNDQz
ODNDgxRmQTg0M4NEM0M4NESEMzRhaEEzhERENEhDM4QzQzRIYRaERDM0OERE
hEREREhDFIYWRERIRESEQ0RDSEREhBRmQUhERIRERERIRESERERhaEGsRIRE
RERIRESFREVFSGIWhVREVUhFVIRFRERIRRSGFkRFWFREhEVFVUhFRIUUZlFY
VVSEVUVVSEVFhVVUYWhRRYVVVVVYVVWFVVVUWGEWhVVVVVhVVYVVVVVYVRWG
FlVVWFVVhVVVVVhVVYUVZlFYVVWFVVVVWFVVhVVVYWhRVYVVVVVYVVWFVVVV
WGFmgRIhIRghEYIhERIYEmKGZmZmaGZmhmZmZmhmZoZmlgA7
}]
set images(buttonPressed) [image create photo -data {
R0lGODlhGwAbAPQRAAAAAAAkrWOq3nOq73uy73u294y+54S+95a+7IzH/5zH
75zP/6XJ66XZ+b3T787f797r9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBABEALAAAAAAbABsAAAX+YBRFURRF
URRFURRFURRFURRFURRFURSAQRAEQRAEQRAEQRAEQRAEQRBFUQBBEARCEARB
EARBEARBEARBEBREUfA8z/M8D/g8z/M8z/M8z/M8zxNEUeA4juM4juM4oOM4
juM4juM4jhNEUcAwDMMwDMMwDMOADMMwDMMwDBNEUcAwDMMwDMMwDMMwDAMy
DMMwDBNEUaAoiqIoiqIoiqIoiqIoCqgoihJEUYAgCIIgiIEgCIIgCGIgCIIg
IBJEUYAgCIIgCoIgCIIgCIIoCIIgSBCBUWAYhmEYhmEYhmEYhmEYhmEYRhBF
AQIiCIIgCIIgCIIgCIIgCIIgSBBFgSD+CAIoCIIgCIIgCIIgCIIgCEIQRYEg
CIIgCKAgCIIgCIIgCIIgCEIQRYEgCIIgCIIggIIgCIIgCIIgCEIQRcEwDMMw
DMMwDMMADsMwDMMwDEMQRQFBEARBEARBEARBEARIEARBEEQQRUFRFEVRFEVR
FEVRFEVRFGBRFEUQRcFxHMdxHMdxHEVyHMdxHMdxgEkQRUGSHElyJEmSJEly
JEeSJEdyJEEERkGSLEmSJEmSJEmSJEmSLEmSJEEUBQu4LMuyLMuyNMvSLMuy
LMuyNEEUBU3TNGDTNE3TNE3TNE3TNE3TNEEUBU3TNE3TgE3TNE3TNE3TNE3T
NEEUBU3TNE070zRNAzZN0zRN0zRN0zRBFEVBEARBEARBEAQBGARBEARBEARR
FEVRFEVRFEVRFEVRFEVgFEVRFEVRFAIAOw==
}]
set images(checkbox_checked) [image create photo -data {
R0lGODlhEAAQAPQfAAAAAB4yQyQ2Ryg8US1BWTREVTRLZDpSakNUZAAkrVZo
rVuZ2mid6Gys32qr4nqp5Xmu8Hmw8YOp4Yqz4oS79pa86KC14o7B7o/H/ZrB
6ZDI/p7T/KDH7LXI6rbR7QAAACH5BAEBAB8ALAAAAAAQABAAAAXI4Pd93/d9
3/d93/d93/cpiqIoiqIoiqKA3/cpVtd1Xdd1XedZyvcpled5nud5ngd6lvJ9
ysQhSJVxHIJkk/J9ipQhQFFlBQgUmaR8nyJVUwEUBSBk1aN8n7I4TjMAICA0
jbMo36csjuMMACA4jrMo36cwUUSAgCAAQwQxyvcpEHUAAkUNwEE5yvcpkQYe
hKZh2FFokPJ9CrVt27Zt27ZtlPJ9Cvhc13Vd13VdFaR836coiqIoiqIoivJ9
4Pd93/d93/d93/d9XwgAOw==
}]
set images(checkbox_unchecked) [image create photo -data {
R0lGODlhEAAQAPIGAAAAAL+/v8zMzNbW1ujo6Pb29gAAAAAAACH5BAEBAAYA
LAAAAAAQABAAAAOWaGZmhmZmZmhmZoYRIREYERKBZhYiKCIigiIiYWgiIoMy
MiIoEmaBMyMzODMzg2IWMzgzM4MzM2FoMUODNENDOBNmgUQ0NDg0RIRhFkRI
RESERDRiaEFEhEREREgUZoFURVVYVFWEYRZUWFVVhUVVYWhRVYVVVVVYFWaB
VVVVWFVVhWFmEhgRIYIREWZoZmaGZmZmaGaWADs=
}]
set images(horizontal_trough) [image create photo -data {
R0lGODlhEQAPAIQYALm5ubq6usDAwMfHx8jIyNLS0tPT09ra2tvb2+Pj4+np
6erq6u3t7e7u7u/v7/Dw8PLy8vPz8/T09PX19ff39/j4+Pn5+fr6+v//////
/////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACwAAAAA
EQAPAAAFYmAQACQgimUqrGzrrkQsD/Qg34ZR7EWe88CDcIgoIobIhHLJbCoV
ioV0KoVCp46s9sHtcrWTsFhCLpPFlbR6zU5b3vC4/H2p2+/4eprC7/v/EREQ
gxCBhoeBDYqLjAyOjwwhADs=
}]
set images(hseparator) [image create photo -data {
R0lGODlhHgAIAMIEAHx8fNDUyOjo6PX29f///////////////yH5BAEKAAQA
LAAAAAAeAAgAAAMqCLrc/mrISau92Iq7ZadfJ4STSIKjN6Zr67bDK8/0GtTt
Peq3LkDA4CIBADs=
}]
set images(in) [image create photo -data {
R0lGODlhBQAFAPECAJuuuf///wAAAAAAACH5BAEBAAIALAAAAAAFAAUAAAIP
BAgQYMKACBMCTBgQIEAUADs=
}]
set images(menubar_option) [image create photo -data {
R0lGODlhlgAWAPUoAGlpaXx8fAgInAAIpQAkrRggrTk8lCEopTFRxlJRtXN4
jVJxzlqCzlqG1mOq3nOq73uy73u294KCgpaWlpyavaCgoLm5uYy+54S+95e9
67O1wIzG/5zH75vP/6XJ66XY+73T78fHx9ra2s7f79ze497r9+fn5/39/QAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBACgALAAAAACWABYAAAb+
QBQKhUKhUJMAIBCQBAKSQEASCAQCgUBAEpBIAoFAICAJBAKBQCAQCAQCgYAk
EAhIAoFAIBAIBICBgCQQkAQCgUAgEAgEApKARBIISAIBSSAQCAQCAUkgIAkE
JIGAJBAIBAKBQCAQkAQCkkBAEggAA4EAgUAgEAgEAoFAIBAIhQQKhUKhUCgU
CoVCSQCTScVisVgsFovFYrFYLBaLxWKxWCwWi8ViAVosFovFYrFYLBaLxWKx
WCwWi8VisVgsFovFYrFYLBaLxWKxWCwWi8VisVgsFovFYrFYLBaLxQK0WCwW
i8VisVgsFovFYrFYLBaLxWKxWCwWS6lUKpVKpVL+qVQqlUqjzOKAQqFQKBQK
hQIELCGRCCgSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJ
RCKRSCQSiUQikUgkEolEIhFQJBKJRCKRSCQSmUQikUgkEolEIpFJJBKJRCKR
SCQyiUQikUgkEolEIpFIJBKJRCLRaDQajUYj4Gg0Go1GI1ApszigUCgUCoUC
BCwhkchkMplMIpNJZDKZTCKTyGQSmUwik8lkMplMIpNJZDKZTECRyWQSmUQm
E8lkMplMJpHJJDKZTCaTyWQSmUQmk0hkMplMJpHJJDKZRCaTySQymUwmkUlk
MpmAJpPIJDKZTCKTyWT+MolMJpEJBAKBQCAQCAQCgUAjT6mUWRRQKBQKBQhM
QiKTyWQymUwmk8lkMgFNJpPJZDKZTCbTyWQymUwmk8lkMplMJtPJZDqZTCaT
6WQymUwmk8lkMplMJpPJZDKZTCaTyWQCmkwmk8lkMplMJpPJZDKdTCaTyWQy
mUwnk8lkMplMppPJZDKdTCaTyePxeDwej8fj8Xg8Ho+nBCxlFgUUCjWRTCoh
k8lkMplMJ5PJZDKdTqaTyWQ6mUwmk8lkOplOppPJZDKdTCeT6WQymUwnkwlo
MplMppPJZDKdTCaTyXQynUymk8l0MplMJtPJZDKZTieTyXQymUwmk+l0Mpn+
TCaTyXQymUwmE/BkOplMJpPp5PF4PB6Px+PxeDwej8fjKZkyiwMKJZlULCGR
yWQymUwmk8lkMplMJpPpZDKZTCag6WQymUwmk8lkMplMJpPJZDKZTCbTyWQy
mUymk8lkMp1MJ5PJZDKZTCbTyWQymUymk8lkMplMQJPJZDKZTCaTyWQymUwm
k8lkMplMJpPJZDKZTCaTycThcDgcDofD4XA4Ho6H4+GMRhmEoTKpVICWkEhk
MplMJpPJZDKZTCaTyUQymUwmk0lkMplMJpPJZDKZTCaTyWQymUwmkclkMplE
JpPJZDIBTSKTyWQymUwmk0lkMplMIpPJZDKZTCb+k8lkMplMJpPJZDKZTCaT
yWQymUwmk8lkMplMJhPJlAFeMplLJpPJZC6Zy+WSuVwymcxCUKlYLKGQKCQS
iUgikUgkEolEIpFIJBKJRCKRyCQSmUQikUgEFIlEIpFIJBKJRCKRSCQSiUQi
kUgkEolEIpFIJBKJRCKSSCQSiUQikUgkEolEIpFIJBKJRCKRCCgSiUQikUhk
EolEIpFIJBKJRCKRSCTyZDiZTCaTyXAymUwmk8lkMplMYzCpWCyhkEgkEolM
JhFQZBKZTCKTyGQSmUwik8gkEolEJpFJJDKZTCKTyGQSmUwkk8gkMolEJpPI
JDKZTCKTyGQyiUQioEn+ZDKZRCaRyWQSmUQmkUlkMolMIpNJZBKZRCaTSCQy
mUwmkUlkMolMIpFJZLpcLpnLJXO5ZC7Ay+aSyVwymUuGIZhULCGRSCQyiUwm
k8lkMplMIpPJZDKZTCSTyGQymUwmk8lkMplMJpPJZDKZgCaTyWQymUwmk8lk
MplMJpPJZDKZTCSTSWQymUwmk8kkMplMJpPJZDKZTCaTyWQymUwmk8lkMgFN
JpPJZDKZTCaTyWQyXTKYTCaTwWQymUwmk8lkMplMpjGoWEKhkEgkEplMJpPJ
ZDKZTCaTyWQCmkwmk8lkMplMJpPJZDKJTCaRyWQymUQmk8lkMplMJpPJZDL+
iUwmkclkMplMJpPJZDKZTCaTyQQ0mUwmk8hkMplMJpPJZDKZTCKTyWQymUQm
k8hkMplMJpOJZDI5HA6Hw+FwOBwOh8PhcDgcDocDyBBULCGRSGQymUwmk+lk
MplMJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaT6WQymUwmE9BkMplM
JpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyXQymUwmk8l0MplMJpPJ
ZDKZTCagyWQymR6Px+PxeDwej8fj8Xg8HpDH47EYVCyhkEhkMplOp5PpdDqd
TqfT6XQ6nU6n0+l0Op1OwNPpdDqdTqfT6XQ6nU7+p9PJdDqdTqfT6XQ6nU6n
0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op2Ap9PpZDqdTqfT6WQ6nU6n0+l0
Op1Op9PpdDqdMBAIBAKBQCCPCAQCgUAgD8wDwxBYLCGRyHQyAU+n0+l0Op1O
p9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9Pp
dAKeTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqd
TqfT6XQ6nSCRSCQCjEQikUgkEolEIhFIJBJpDFAWkchkOp1Op9PpdDqdTqfT
6XQ6nU6n0+l0Op1Op9P+6XQ6nU6n0wl4Op1Op9PpdDqdTqfT6XQ6nU6n0+l0
Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqcT8HQ6nU6n0+l0Op1O
p9PpdDqdThgMBoPBYDAYDAaDwWAwGAwGg2kMUBWRyGQ6nU6n0+l0Op1OJ+Dp
dDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqd
TqfT6XQ6nU7A0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT
6XQ6nU6bzWaz2Ww2m81ms9lsgJvNZpNZHFAo1ERkOp1Op9PpdDqdTqfT6XT+
Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDoBT6fT6XQ6nU6n0+l0Op1O
p9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Ap5Op9Pp
dDqdTqfNZrPZbDabzWaz2Ww2m80msyigUCiUZWI6nU6n0+l0Op1Op9PpdDqd
TqfT6QQ8nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT
6XQ6nU6n0+l0Op1Op9MJeDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6
nU6nTqfD+XQ6nU6n0+l0Op1OZlFAoVAoFBBVmYj+TqfT6XQ6nU6n0+l0Op1O
p9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU4n4Ol0Op1Op9Pp
dDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqd
TsDT5/P5fD6fz+fz+Xw+n09mcUChUCgUCoVCBSYWk+l0Op1Op9PpdDqdTqfT
6XQ6nU6n0+l0Op2Ap9PpdDqdTqfT6XQ6nU6n0+l0Op1Op9PpdDqdTqfT6XQ6
nU6n0+l0Op1Op9PpdDqdTqfT6XQ6AU+n0+l0Op1Op9PpdDqdTqfT6XQ6nU6n
0+cD+nw+n8/n8/l8Pp2OzOKAQqFQKBQKhUKhUCHLpFIBViqVSqVSqVQqlUql
UqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlUKpVKpVKpVCqVSqVSqVQqlUqlAqxU
KpVKpVKpVCqVSqVSqVQqlUqlUqlUKpVKpVKpVCqVSqVSqVQqlUqlUqlUKpUK
gUAgEAgEAgFIIBAIhEIChUKhUChUEAA7
}]
set images(menubar_option_arrow) [image create photo -data {
R0lGODlhFQAQAPMOAAAAABgYGCIlIjI0MkBFQFJUUmVoZXV4dYKGgpOVk5ig
mLK1ssjMyOTm5AAAAAAAACH5BAEBAA4ALAAAAAAVABAAAATi0DnnnHPOOeec
g84555w7zTnnHHTOOeecc84556BpzjnnnHPOOQedc845d5pzzjnonHPOOeec
c87B05xzzjnnnHMOOuecc+4055xz0DnnnHPOOeecg6c55xwAAAAAAHTOOefc
ac45ByAAAAAAnHPOOQdRc845BwAAADjonHPOOdScc85BBwAAzjnnnHMOouac
c845AJxz0DnnnHOoOeecg84555xzzjnnHETNOeecc84556BzzjnnUHPOOQed
c84555xzzjmYmnPOOeecc85B55xzzjnnnHMOOuecc84555xzEQA7
}]
set images(menubar_option_arrow_insensitive) [image create photo -data {
R0lGODlhCAAQAPMMAIuTsLOzs6evzLS82b3F4sPL6MnR7svT8NLa99zk/uPr
/+31/wAAAAAAAAAAAAAAACH5BAEBAAwALAAAAAAIABAAAARXkDEWAmOMsRBC
gIyxEEIIgYUQAgwhhBBCCCEExiBjjDHGGGOMMQYZY4wxxhhjjDHIGGOMMcYY
Y4xBxhgLIYQQQggBhhBCCCyEEEJgkLEQQmCMMRYCg4xFADs=
}]
set images(notebook) [image create photo -data {
R0lGODlhIAAgAPIFAHx8fGOq3pzP/6XX//Hx8QAAAAAAAAAAACH5BAEBAAUA
LAAAAAAgACAAAAP+CAAAgAAAAAgAAIAAAAAIAACAADAzODMzgzMzMzgzM4Mz
MzM4MwCCIiIiKCIigiIiIigiIoIiIgEIERGBERERGBERgRERERgREYEBQERI
RESERERESEREhEREREhEAIRERERIRESERERESEREhEREBAhERIRERERIRESE
RERESEREhARAREhERIRERERIRESERERESEQAhEREREhERIRERERIRESEREQE
CEREhEREREhERIRERERIRESEBEBESEREhEREREhERIRERERIRACERERESERE
hEREREhERIRERAQIRESERERESEREhEREREhERIQEQERIRESERERESET+RIRE
RERIRACERERESEREhEREREhERIRERAQIRESERERESEREhEREREhERIQEQERI
RESERERESEREhEREREhEAIRERERIRESERERESEREhEREBAhERIRERERIRESE
RERESEREhARAREhERIRERERIRESERERESEQAhEREREhERIRERERIRESEREQE
CEREhEREREhERIRERERIRESEBEBESEREhEREREhERIRERERIRACERERESERE
hEREREhERIRERAQIRESERERESEREhEREREhERIQEQERIRESERERESEREhERE
REhEAIRERERIRESERERESEREhEREBAhERIRaRERESEREhEREREhERIQEQERI
RESERERESEREhEREREhEAIRERERIRESERERESEREhEREBAhARIRERERIRESE
RERESEREhAQAAAgAAIAAAAAIAACAAAAACACQADs=
}]
set images(notebook_active) [image create photo -data {
R0lGODlhWgAWAPU4AAAAAAgInAAIpQAatQAkrQAouQA6vRggrTk8lCEopQBF
xgBTygBm2ABt5wh67DFRxil91lJRtVJxzhiG9ymC1jOH3keO2EqW3lqCzlqI
1lKe3keX7FKe51qi71aq+2Oq3mWo7GOu/2uy72O4+3Oq7nOu/3uy73q293vF
+5yavYu854S+95a97KWqzovH/5vG7pvO/5TX96XJ66XZ+b3T787f797r9+fv
5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBADgALAAAAABaABYAAAb+
QBwOh4scBAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKB
QCAQCAQCgUAgEIAEAoFAIBAIBAKBQCAQCAQCgUAgHCI4HA6Hw+ESEpbNZrPZ
bDabzWaz2Ww2m81ms9lsNpvNZrMBbTabzWaz2Ww2m81ms9lsNpvNZrPZbDab
zWaz2Ww2m81ms9lsNpvNZrPZbDaWJIHD4XA4xINVA9ZqtVqtVqvVarVarVar
1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarVarQas1Wq1
Wq1Wq9VqtVqtVqOxHggcDocLYGQyWq1Go9FoNBr+jUaj0Wg0Go1Go9FoNBqN
RqPRaDQaDUij0Wg0Go1Go9FoNBqNRqPRaDQajUaj0Wg0Go1Go9FoNBqNRqPR
aDKaJIDD4XCCDEsmk8lkMhlQJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZ
TCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyWQyoEwmk8lkMplMJlNhAjgcDjfI
sF4ymUwmk8lkMplMJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZECZTCaTyWQy
mUwmk8lkMplMJpPJZDKZTCaTyWQymUwmk8lYrMwAh8PhBhaVisV6vV6v14v1
kr2Ar9fr9Xq9Xi/ZSyb+k71eMtlL9nrJXq/X6/V6vWSv10smk7FestdL9nrJ
Xq/X6/V6vV4v2UsmkwFfLxmLpbIQcDgcrmBRqVgqlYrFYqlYLBWLxVKxWCwV
S8VSqVQslkrFUqlYKpZKxWKxWC+WSsUCqlQslUrFUrFUKhZLxWKpWCyWiqVi
qVQqloqlYqlUlgIOh8MVLCoViyVjsVgsFkvGYrFYLxaLBWSxWCwWi8VisWQs
FovFYr1YLBaLxWKxWCzWi8WSsVgslozFYrFeLBaLxWKxWCwWi8VisVgylQoI
KeBwOJyhQlKpVCqVSsVSqVgqlUrFYqlULJVKxVKxVCqVSqVSsVQqFYulUqn+
VCyVSsVSqVQqFlClUqlULJWKpVKxVCqWiqViqVgqlkqlUpEgBhwOhzNASCoW
i8VisVgsFovFUr1YKhaLxWKxWCwgi8VisVgsFoulYrFYLJbqxWKxWCwWi8Vi
sVgsFoulYqleLBaLxWK9VCwWi8VisVgqEsWAw+FwQAXEYvl8Pp/Pp/P5fD4f
0Af0+XxAoM/n8/mAPp/P5/MBfUCfD+jzAX0+oM/nA/p8Pp/P5/P5gICfD+gD
+nw+n87n8wF9PqDP56O5QBQ4HA63qGxAJBKJRCKRSCQSiUQikUgkEolEIpFI
JBKJRCIBSSQSiUQikUgkEolEIpFIJBKJRCKRSCT+EolEIpFIJBKJRCKRSCQS
iUQikTiXygKHw+EWFY7IZAKaTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyWQy
mUwmk8lkMplMJpPJZDKZTCYTyWQymUwmk8kENJlMJpPJZDKZTCaTicSpLHA4
HI6x6YhOp9PpZDqdTCfT6XQ6nUynk8l0Op1Oq9PpdDqdTieTCXgynUyn08l0
Op1Op9PpdDqdTqfT6XQynU6m08l0Op1Op5PpdDqJOhsGDofDMTag02q1Wq1W
qxVwtVq5TqvVauU6rVyn1Wq1Wq1Wq9VqtTq5Tq6Ta7U6rVyn1Wq1Wq1Wq9Vq
tVqtVivXaeU6rVYu4Gr+tVqtVqvVCbRh4HA4HKNTOrlcLpfL5Vq5XK7VyrVy
rVyulcvlWq1cK9dq5XK5XK6Va+VyuVZAl8vlcq1cLpfLtYKtXC6Xy+VyrVwu
l8u1crlWLpfL5UKVNgwcDodreE4nlyvmcrlcLpfL5XK5gC6Yy+WKuVwul8vl
grlcLpfL5XLBXC6XK+ZyuVwul8vlcrlcLpfLFXO5XC6Xy+VyuVwul8vlcgFd
rtPJ08DhcDiH54SCwWAwWQwGg8FmMBgMBpvBZrHYbAaDwWYwGGwGm71gMBgM
BovFYDAYDAYDxmYwGAwGg8FgMFhMBoPBYDDYDDaDwV4wGAzmQnkcOBwO5wju
oWCz2Ww2m81ms9lsNpvBZrPZbAaczWaz2Ww2m81ms9lsNpvNZrPZbDabzWaz
2Ww2m81ms9lsNpvNZrPZbDabzWaz2Ww2m81cKI8DiMPhcBMPKjabzWaz2Ww2
i81ms9lsNpvNZrPZbDabzWaz2Ww2m81ms9lsNpvNZrPZbDabzWYzGnA2m81m
s9lsNpvNZrPZbDabzWaz2SyGCjlwOBxugnLFZrPZbDabzWax2Ww2m81ms9ls
NpvNZDPgbDabzWaz2Ww2m81ms9lsNpvNZrPZbDabzWaz2Ww2m81ms9lsNpvN
ZrPZbDabxVyoCQ4XBAA7
}]
set images(notebook_inactive) [image create photo -data {
R0lGODlhWgAWAPMIAAAAAHx8fJ6enr29vczMzNXV1enp6fj4+AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAACH5BAEBAAgALAAAAABaABYAAAT+ECFUiBBCCCGE
gEIIIYQQQgghBBRCCCGEEEIIIaAQQgghhBBCCAGFEEIIIYQQQggohBBCCCGE
EEJAQQhCCKFCCiEEklJKIaQUUggpsJBCSiGlkFJIgaQUQgoppJRCCiyEEFIK
IaWUQmAhpJBSSCGkFAILKaWQUkhBCCE4SDnGGGOMMcZAY4wxxhhjjDEGGmOM
McYYY4wx0BhjjDHGGGOMgcYYY4wxxhhjDDTGGGOMMcaYUyAZCCEkSDnGHAOP
McecY4455hh4zDHHHGOOOebAY4455phjzDEHHnOMOcccc8wx8JhjzDHHnGOO
geaYcwoRCCEkBiTnnHPOOcecc+D+Oeecc84555wDzznnnGPOOecceM455xxz
jjnnwHPOOeecc845B55zzjnnnHPIEBAhhAQhpRRSSIGllFIKIYWQUggspZBS
SCGFFFJgKaQQUkohpZQCSymFFFIIIYUUWAgppJRCSCmkQEIIIQIhhEQhBZZC
CimkEEJIKZCQUkgphZRSSIGllFJIKaQUUgokpRRSSiGFlEJgIaWUQggppZQC
SymFEFJKIQIhiJAopZRSiinFwFJMKaWUUkopBZZSSimllFJKKbCYUkoppZRS
SoGlmFJMKcWUUgospZRSSimlFFNgKUUghJAoxZgCTSnGFFNMMaUYWIwpxRRT
jCmmwGL+SjHFFFNMKQYWU4wpphRTTDHQFFNMKcaUYoqBxZhiSjFGIIQQFMYU
Y4wxxhhjoDHGGGOMMcYYA40xxhhjjDHGGGiMMcYYY4oxxkBjjDHGGGOMMQYa
Y4wxxhhjjDHQCIQQEsYYY4yBxhhjjDHHGGMMNMYYY4wxxhhjoDHGmGOMOcYY
A40xxhhzjDHGGGiMMcYYY4wxxkBjjDHGCIQQEgYec8wxxxxjjjHQGGOMMecY
c46Bx5hjjDnmGHMMNMYcY44xxhxj4DHHmGOMMeaYA48x5xhjjjHGCIgQQuIY
c4wxx8BzzDnmGGOMOQeaY44x5phjjDHwmGOOMeYYc8yB5hz+Y4wxx5hjDDTG
mHPMMceYY6A5xhiBEELCHAOPOeecY8wx5xh4zjnHmHPOOcfAY845xpxjzjkH
nnPMMceYc8458JxzzjnnnGPMgeecY84x5hiBEERIGHPOOeaYc+A55pxzzjHn
nAPPOeecc8455xx4zjHnmHPOOebAc8455pxjzjkHHnPOOeecc8458BgjEEJI
nHPOgeecc84555xjDjznnHPOOeecc+Ax55xzzjnnnAPPOeecc8455xx4zjnm
nHPOOefAc84555wjEEIICnPOOeecc8458JxzzjnnnHPOgeecc84555xzDjzn
nHPOOeecc+A555xzzjnnnAPPOef+nHPOOecceARCCIlzzjnnwHPOOeecc845
B55zzjnnnHPOOfCcc84555xzzoHnnHPOOeeccw4855xzzjnnnHPgOeecYwRC
CIkDzznnnHPOOecceM4555xzzjnnwHPOOeecc845B55zzjnnnHPOOfCcc845
55xzzoHnnHPOOeecYwRECCFxzjnnnHPgOeecc84555wDzznnnHPOOecceM45
55xzzjnnwHPOOeecc845B55zzjnnnHPOOfCcc4xACCFxzoHnnHPOOeeccw48
55xzzjnnnHPgOeecc84555wDzznnnHPOOecceM4555xzzjnnwHPOOeecc45A
CIYQggg5IYQQgggwhBBEECGEEEKAIoQgQgghiCACDCGEEIIIIYQQYAgiiBBC
CCGEAEUIIoQQQhAhBBiCCCFEADs=
}]
set images(option_in) [image create photo -data {
R0lGODlhEgASAOe2ADROcj9NaTpXeDtYdQ9p71VskVlivVVzkVVrvSh85Exu
0G9vb3BwbmNrszx53m5vpHBxpnRzo3V0nlKAxFuDr3R3vluIsVGJz39/iUqL
3F+Fw4ODgU+O3X2AuXOMpXKRplmU3WGV1WSWymuUw2yWypOTp5aVo32cw5OZ
m5Oam4WbvXueyX6ewpWanZabnImfvXij2Jmdn3mk1ZqeoIeiwZegqYWh1Xin
3Jmiq5ahvqCipo2mxaCiqI6j1JSmuKOiqH6r3oSq1JamuoOr2YWr1ZSovpim
voGs4aWlpaSmpaalraamqpWrv6enp6enraSpsKCrsoaw5JytvKKssqarrpyv
vIaz5qmqvairwKip0Juxz6Kwwoy16KOxw4625K2uva+vu5y01LCxr521z4+4
57Gxsayu0py21JO77ZW855O+65a/6Ji/5qG+2ba6up+/35nA67i8vKXA27u7
u7y8vK/Byb28vr29vb69vJ3F86+/57+/v6HF8bHFyaLH7K3I26TI9KPJ86XJ
8anL8bDK6rbI7KrS+sfI47DQ+LPR67XR67TT7szNzs3NzbDW/MzM5rrV6rTW
+LbX8MXR8dHR0b7X6rTZ/rrb/Lfc/8Dc6rrd/sXd483Y88bf5MDe+tfX7b/h
/dPa98Hj/8Lk/sTk+tzc7tfe98jn9sjq/srq/srr+s7u+szv/s3v/dHy/dby
+NXz99T2/tr6/tv6/9r7/t79/v//////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
/////////////////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQB
CgD/ACwAAAAAEgASAAAI/gD/CRxIsKDBgU4wLGCwYcnBgV8gPCih5IcJCRHA
HMRioEKWQ59KPTLTocEVgxMc2NAzKZQpToV6KEBQ0EgCEEfYvAlz5s0aIBwI
5CA4IsQNK0QsAABAIUgUGBk0DIwjYggZNSwELB1wAg0XGRfiCIyzIk0gQS8C
LA2gAlAeLyTE/ouzg4+jSGMOLC2gBZEhODTkxhEyCBOoREw+eChC6JIlPz4E
T5EjChUpSH/+KPI0SlMbKHLnVpHEytWqU6dUtUq1SIobgoyodMkkqxatWbRi
VdrypFFBOjxw9OkE69WmOjV0zDm4J8kMFylQtIiBBM/Df5TslGnSRMwdStfD
AxMMCAA7
}]
set images(option_out) [image create photo -data {
R0lGODlhEgASAOdjAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
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///yH5BAEKAP8ALAAAAQASABEAAAj1AP8JFHjNVqhL
l0LZujawoUBkqUbJ2rVL1ihTwhwKbObKFrJq3LhVW3arVTKH2GjlWoZNnLmX
35rZgoWtIbFbyKJp+8bzm0hitIANxOaLWLRq2pJqw4at2jNhu2r+wyYsGjZu
4bKG48kNWzNeUrUZwxaOnDl06tCZI0fu2zVh2gRiQxYOrTt38ODdVUeOGzGp
fsWpk0fPXr589uS5Q/dNGDeB04BVY0cv375++/blk6cu8jTIwnyJo3e5n+l8
9MLxEvYZ8i5j5EqfJkdsV+uBzXLlahYub7jcuzVOW5ZLFixXrmDJWnnb4VNe
tmztqqqxunWBAQEAOw==
}]
set images(progressbar) [image create photo -data {
R0lGODlhGwAbAPQRAAAAAAAkrWOq3nOq73uy73u294y+54S+95a+7IzH/5zH
75zP/6XJ66XZ+b3T787f797r9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBABEALAAAAAAbABsAAAX+YBRFURRF
URRFURRFURRFURRFURRFURSAQRAEQRAEQRAEQRAEQRAEQRBFUQBBEARCEARB
EARBEARBEARBEBREUfA8z/M8D/g8z/M8z/M8z/M8zxNEUeA4juM4juM4oOM4
juM4juM4jhNEUcAwDMMwDMMwDMOADMMwDMMwDBNEUcAwDMMwDMMwDMMwDAMy
DMMwDBNEUaAoiqIoiqIoiqIoiqIoCqgoihJEUYAgCIIgiIEgCIIgCGIgCIIg
IBJEUYAgCIIgCoIgCIIgCIIoCIIgSBCBUWAYhmEYhmEYhmEYhmEYhmEYRhBF
AQIiCIIgCIIgCIIgCIIgCIIgSBBFgSD+CAIoCIIgCIIgCIIgCIIgCEIQRYEg
CIIgCKAgCIIgCIIgCIIgCEIQRYEgCIIgCIIggIIgCIIgCIIgCEIQRcEwDMMw
DMMwDMMADsMwDMMwDEMQRQFBEARBEARBEARBEARIEARBEEQQRUFRFEVRFEVR
FEVRFEVRFGBRFEUQRcFxHMdxHMdxHEVyHMdxHMdxgEkQRUGSHElyJEmSJEly
JEeSJEdyJEEERkGSLEmSJEmSJEmSJEmSLEmSJEEUBQu4LMuyLMuyNMvSLMuy
LMuyNEEUBU3TNGDTNE3TNE3TNE3TNE3TNEEUBU3TNE3TgE3TNE3TNE3TNE3T
NEEUBU3TNE070zRNAzZN0zRN0zRN0zRBFEVBEARBEARBEAQBGARBEARBEARR
FEVRFEVRFEVRFEVRFEVgFEVRFEVRFAIAOw==
}]
set images(scrollbar_horizontal) [image create photo -data {
R0lGODlh7AAPAPZmABUfZhkjaR4tdBkwfiAsbCMtdCU4c0tcaEtfcVdaaUtg
bElkdFJhalNtfgcohxIsiRQ4mBA/pyI9lhtIqBtTuypOjCRMkTJMlzpXmCNV
ti9hti90vztooylozCtn1zZ83Dd75kBZm0pxmExntF9upV5/ql1xsFyEnlaJ
uG+RrWSQs3SPrHqIt3GRqEyMykWD0EiW3FeI11KSzliY1lyO4Vud51qY916h
2Fyh6G6H22icxGKd+Waj2X2pxnmy32Kj62iq9G2z+Has6Hqs9Xqw7Ha5+nvC
+4SapYyYyoWW7Yma8oq32JiywZi61oWs742h94i46Ii49ZCg+JS/4Zi6/aG4
zqC+/prJ3YXK/IzT/prI6pTB/JTY/p3i/qnE2aLQ3rHF3qPN6KDN8aPQ6KLR
86Ll/v///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBAGcA
LAAAAADsAA8AAAf+gGdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ4BnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2ckBgYEBAUCAgIEBAH+gAEB
AAAAAAAAAQQFBQUFBQEEAAAAAAAAAQEFBQUFBQUBAQEAAAAAAAEEBAUFBQUF
AAAAAAAAAAAAAQQFBQUFBQEEAAAAAAAAAQEFBQUFBQUBAQEAAAAAAAEEBAUF
BQUFAAAAAAAAAAAAAQQFBQUFBQEEAAAAAAAAAQEFBQUFBYAFAQEBAAAAAAAB
AQQFBQUFBQABAQAAAAAAAAEEBQUFBQUBBAAAAAAAAAEBBQUFBQUFAQEBAAAA
AAABBAQFBQUFBQAAAAAAAAAAAAEEBQUFBQQBBAABBQUGBiRnZ2dnZ2csGAMX
I0lKSk9PT1JKSkpJSUlJSUlKSkpSUlJSUkr+gElJSUlJSUlKSkpKUlJST0pK
SklJSUlKSkpSUkpSUlJKSklJSUlJSUpKSlJSUlJSSklJSUlJSUlKSkpKUlJS
T0pKSklJSUlKSkpSUkpSUlJKSklJSUlJSUpKSlJSUlJSSklJSUlJSUlKSkpK
UlJSUkpKSklJSUlKSkpSUlJSUoBSSkpJSUlJSUlKSkpSUlJSUkpJSUlJSUlJ
SkpKSlJSUk9KSkpJSUlJSkpKUlJKUlJSSkpJSUlJSUlKSkpSUlJSUklJSUpJ
OSMXDxgsZ2dnSCEPDjlOVFZiW1tbYlZWVlRUVFRUVFRUVlZWVlZWVlZUVFZU
VFRUVFZWVlZWYlT+gFRUVFRUVFRUVFRWYlZWVlZWVFRUVFRWVFRWVlZWVlZW
VlRUVlRUVFRUVlZWVlZiVFRUVFRUVFRUVFRWYlZWVlZWVFRUVFRWVFRWVlZW
VlZWVFZUVFRUVFRUVlZWVlZWYlRUVFRUVFRUVFRiW1ZWVlZWVFRUVFRWVFRW
VlZWVoBWVlZUVFZUVFRUVFZWVlZWYlRUVFRUVFRUVFRUVmJWVlZWVlRUVFRU
VlRUVlZWVlZWU1ZWVmRkTzEODyFIZ2ckEBATNENUVFRbW1haW1pUUVFRUVRR
UVRRW1RUW1tUUVFRUVFRUVFUUVRbW1tbVFFUUU5RVFFOUVtbW1tUW1T+gFRR
UVFRUVFRUVRUW1RbVFRRUVFRUVFRUVRRVFtbW1tUUVRRTlFUUU5RW1tbW1Rb
VFRRUVFRUVFRUVRUW1RbVFRUUVFRUVFQWFRRVFFbW1RRVFFRUVFUTlRRVFtb
W1tbW1RRUVFRUVFRUVRUW1RUW1RRUVFRUVFRUVRRVFtbW4BbVFFUUU5RVFFO
UVtbW1tUW1RUUVFRUVFRUVFbVFRiVFRQUU5DUVtFNBMQEiZnXiEQERQvP0ND
RUVFRFA+RERCQkJCQkJERE5FUVFFREROQkRCQkJEREREUVFRRVFERERCQkJC
QkREQ1FEUUVRRERCQkJCQkJORERFUVFFRET+gE5CREJCQkRERERRUVFFUURE
REJCQkJCRERDUURRRVFEREJCQkJCQk5EREVRUUVERERCQkJCQkJCRERRUUVR
UUREQkJCQkJCQkRDRFFRUUVEREJCQkJCQk5EREVRUUVERE5CREJCQkRERERR
UVFFUUREREJCQkJCRERDUURRRYBRRERCQkJCQkJORERRUVFRRU5RUUNDRDgv
FBEQIVVVFRMUHRsuLzAzODc3OjcyLi4uLi4uLjIzMzM3MzMzMzIuLi4uLi4y
MzMzMzMzMzIuLi4uMi4yMjIzMzM3MzMyLi4uLi4uLjMzMzMzMzM3MjIuLi4u
Li4yMzMzMzMzMzL+gC4uLi4yLjIyMjMzMzczMzIuLi4uLi4uMzMzMzMzMzcy
Mi4uLi4uLjAzMzM3MzM3MjIuLi4uLi4yMjMzMzMzMzIuLi4uLi4uMzMzMzMz
MzcyMi4uLi4uLjIzMzMzMzMzMi4uLi4yLjIyMjMzMzczMzIuLi4uLi4uMzMz
MzM3N4A3LjI0MDIzLhsdFBMVVU0WGR4gMDA1OEBAQUFAPDg/NTU1NTU1P0A/
QEBBQUA4PzU1NTU1NTg/QEBAQEFAPzU/NTU1NTU/P0BBQUBBQD8/NTU1NTU1
Pz9AQEFBQEE4PzU1NTU1NTg/QEBAQEFAPzU/NTU1NTU/P0BBQUBBQD/+gD81
NTU1NTU/P0BAQUFAQTg/NTU1NTU4OD9AQEBAQUA/PzU1NTU1NT9AQEBBQEFB
OD81NTU1NTU/P0BAQUFAQTg/NTU1NTU1OD9AQEBAQUA/NT81NTU1NT8/QEFB
QEFAPz81NTU1NTU/P0BAQEBAQDs7NjY4ODAwHx4ZFk1gGIAaHR8wOEBBRkZG
RkZGRkFBQUFBQUFBRUVGRkZFRkFBQUFBQUFBRUVFRUZGRUVBQUFAQUFBQUFF
RUVGWEZFQUFBQUFBQUFBRUVGRkZGRUVBQUFBQUFBRUVFRUZGRUVBQUFAQUFB
QUFFRUVGWEZFQUFBQUFBQUFBRUVGRkZGRUX+gEZBQUFBQUZGRUVGUUVGRkFB
QUFBQUFBRkZGRkZGRkZBQUFBQUFBQUFFRUZGRkZFRUFBQUFBQUFFRUVFRkZF
RUFBQUBBQUFBQUVFRUZYRkVBRUFBQEFBQUFBRkZGRUZFRUFAQUVBODAfHRoY
YWAlHC4wOEZGRkZGRlxcWVlYRoBYRkZFWFhGWVlcWVlZWVhRWEZERlhYWFlZ
WVlZWVlYWFhYRkRYWFhYWVxZWVlZWEZYRkZFWFhYWVlZWVlZWVhRWEZERlhY
WFlZWVlZWVlYWFhYRkRYWFhYWVxZWVlZWEZYRkZFWFhYWVlZWVlZWUZGRkZG
RkZGWFlZZFxZWVz+gEZGRkZGRkZGRkZdRllZWVlYRlhGRkVYWFhZWVlZWVlZ
WFFYRkRGWFhYWVlZWVlZWVhYWFhGRFhYWFhZXFlZWVlYRVhYRkVYWFhZXFxZ
WVlZWFhFRkZBODMuHCVgZysiKDxFWFlGXWVlZWVdZVxcWVxZXFxcXV1dZWVl
XV1cXIBcXFlZXFxcXWVlZWVlZVxZWVlZXFxcXF1lZWVlXWVcXFlcWVxcXFxd
XWVlXWVlXFxcXFlZXFxcXWVlZWVlZVxZWVlZXFxcXF1lZWVlXWVcXFlcWVxc
XFxdXWVdXV1dXFlZWUZZXVxcZWVlZWVlZV1ZXFlZWVxZXV1lZWVdXWX+gFxc
WVxZXFxcXF1dZWVdZWVcXFxcWVlcXFxdZWVlZWVlXFlZWVlcXFxcXWVlZWVd
ZVxcWVxZXFxcXF1dZWVlXVxcWVlZXFlGNygiLWdnVSkqKj5YWWVlZWVlZWVc
XFlZWVpZXFlcXV1dXWVcXFxZWVhZWVxcXFxlXGVlZVxcXIBZXFlYXFlcXGVd
XV1cXFxZWVlaWVxZXF1dXWVlXFxcWVlYWVlcXFxcZVxlZWVcXFxZXFlYXFlc
XGVdXV1cXFxZWVlaWVxZXF1dXV1dXV1cWVlZRl1cXFxkZWVlZGRcWVlZWUZZ
XFlZXWVlZWVdXFxZWVlaWVxZXF1dXWVlXFz+gFxZWVhZWVxcXFxlXGVlZVxc
XFlcWVhcWVxcZV1dXVxcXFlZWVpZXFlcXVxlXV1kZGRkXFxcRj46KitVZ2dn
TC0nPUtaX1dXX19fX2FhWlpaWlpaWlpiYmJkZGFiWlpaWlpaWlphYmRkYVpi
YmFaWlNaWlpaY2JiZGJiYmFhWoBaWlpaWlpaYmJiYmJhYlpaWlpaWlpaYWJk
ZGFaYmJhWlpTWlpaWmNiYmRiYmJhYVpaWlpaWlpaYmJiWmRiWlpaWlpaWlpa
Y2FjYmFhWlxZWUZXWlhXV1lfX19fX19jYVpaWlpaWlpaYmJiYmJhYlpaWlpa
WlpaYWJkZGFaYmL+gGFaWlNaWlpaY2JiZGJiYmFaWlpaWlpaWlpiZFpaZGJe
Wk1NU1dLPSUtTGdnZ2dnZ0cLDQcKCwcHBwcHCQkJCQkJCQkJCQkJCQkJCQkJ
CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ
CQkJCYAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ
CQkMCQwMDAwHBwcMBwcICgwIBwcKCwsKCgoHCgcHCgoHBwkMCQkJCQkJCQkJ
CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQn+gAkJ
CQkJCQkJCQkJCQwMCQcHCAgLDQ0KR2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ4BnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dn
Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cOgGdnZ2dnZ2dnZ2dnZ4EAOw==
}]
set images(scrollbar_horizontal_inactive) [image create photo -data {
R0lGODlh7AAPAOdjAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
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///yH5BAEBAP8ALAAAAADsAA8AAAj+AP8JHEiwoMGD
CBMqXMiwocOHECNKnEixYkJbbNho0dJli8eNSkIOGUlSCccuKLuYJFlSScqU
IZWwHGLyZMqZLE2+VKkFZ8idKkXm3LgTZ0mbKFfO/Lkz5lKdL2nKXIqUp0+X
TYUerWp0JFSUWlZizWjL4DJOXxy5upYtG7e33Npmu0a3rly4b+fWtXsXrty9
fd3m1Qu4Ld64e/ka9tu2sGDBcQkrPixZMeTIkvvibZxYc97EdOVe/js5LmPQ
nrnZvbbMlSMsnJYNvOYJi5Nl4M6hY4euN+/e54ILD967eHHiw3UbZ5e8+W7j
6JJHVw59+nTh0Jk3H/7cuHTi1XX+b6+uffu53965gw8vnvty89jRA1dP/Xhx
d+64HXOCxdM1gbaooYYgy3yDHTrqqIPgOeQ0SA6DD5JjXXQOVhhhfQwyCE6E
G3o3nYUOIvchiBd6x+GJHgZH4oPiXWfhOOpkKCGFEDZ4Tm4PhrcicuLtmONx
J2o4I3AjgjidduOQA843EoqzjCBq3IHLP+p4okYdkgRzzTffiOMlOOOAI2Y3
ZJYpJjjiNCjOmd2AY+aZDqbJZpltLqkkOXK6SWedaKrJpp58bqimkmPSKSaT
G+a5J59p4jnnnmIOSuiibX4jqKOAvtknpm4CeualeWZaJ6J4TgpppHEKyiU4
1QQjSR3+anhijjmMCCJJKrIcEwwz0FTj6zTVLHPMsMQesww0yFaDLLLCFmvs
stA2O6ywy1S7rLLQSFsstNdW6+yz3GZbLLXWJsvst8eE26u3zvJq7rraTnss
t/EOq26w9c5L77jGltvrud9y62s1/TJz7DGypCKJIIzMioglqejCDDPAbrON
mNtcU80103Ts8TUZW4zxxh57vLHFImc8Dccl03UxOBdnzHLLIL98McklA1tz
yhzP3LHLGMNMV84r1xw0ziafjLLQPv+89MtIf2w0zKw2rTPKMfecM9BUy0y0
y1hv46s00vg6sS6pWIKIOetwQkrEzFRz8XaffuqlcOLcWLf+mF7efc6XQdt9
d4xr7s133ngXXnffiANOteB5E2744cPdXXdwd+MZ3OTmTY4m4pgrDnnjir98
Zt/nSF646WLi/feaF69ZDTNok8IJO+sEo8oxcTf3zjvssBNjjH8neB47wAcv
PDkx5pagOspH/3zz0yMvfeqYPx+98uowf2PqCW4f/PQ3Vp/8+NgXH7745kHP
jjvJvwPfOfIcjz7x4mgvfvfNg+/+9uQDh/mklz/Cae930lMH4lgFjWOoIhjr
+AczZnGMa+SPOfKYhwbnkUEEAu9375CHCDcoQhDG73cZ3KAGz4c8EKZQgx38
YAtRmMIUmjB4LlThCqNnwhdycB7+HpxhCDMowhIq7zzy+J0OYWg9HLJjhDCM
ofV6WMMVghCHKFwiC3uoQil+0IUvTOL5gHcOgs2iGQIxRzOqJUB2LBGI54Pe
B4sYw+S5z4RA3OAVgaeOL3KwhAgc3xSLaEU7YlGJ79BjEPvYwj+KMY6DpKMR
g0c/ELpjg/hh4XmS50Mxci+SNgzkHUGYx0Jaj5FKLOIVBTnHRIoQP5n83Y2m
sQxmmGMg4miGMLYBI+H9j3vT09/73DG+YK4PP8IDpv/UQcz3AdCYvwSmMYOH
zP8Zb3rNbKY0g8k9YkIzQcTUJiOZw03xeROa4vPlNIeZzGIuM5sJRKc7wOnL
WaVuHNtiCEYzxGEQapgCFp8YhSk+QVCCguKgCE2oQhfK0IY69KEQjahEJ5rQ
UoCiFBgtRUE1GtBRlGIUBBWoKUZB0oCGFKSfuChFV8rSiWIUFCf9JyxGQQ2L
2PSmOM2pTnfK054aJCAAOw==
}]
set images(scrollbar_vertical) [image create photo -data {
R0lGODlhDwDsAPZmABUfZhkjaR4tdBkwfiAsbCMtdCU4c0tcaEtfcVdaaUtg
bElkdFJhalNtfgcohxIsiRQ4mBA/pyI9lhtIqBtTuypOjCRMkTJMlzpXmCNV
ti9hti90vztooylozCtn1zZ83Dd75kBZm0pxmExntF9upV5/ql1xsFyEnlaJ
uG+RrWSQs3SPrHqIt3GRqEyMykWD0EiW3FeI11KSzliY1lyO4Vud51qY916h
2Fyh6G6H22icxGKd+Waj2X2pxnmy32Kj62iq9G2z+Has6Hqs9Xqw7Ha5+nvC
+4SapYyYyoWW7Yma8oq32JiywZi61oWs742h94i46Ii49ZCg+JS/4Zi6/aG4
zqC+/prJ3YXK/IzT/prI6pTB/JTY/p3i/qnE2aLQ3rHF3qPN6KDN8aPQ6KLR
86Ll/v///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEBAGcA
LAAAAAAPAOwAAAf+gGdnZ2dnVVVNX2BnZ2dnZ2dnZ0gmIRUWGCgrTGdnZ2dn
LCESEBMZGhwiKkxnZ2dnGA8QERQeHSgoKi1nZ2ckAw4TGR0gHzA3OidHZ2cG
Fzk0Lx0wMDhGPj0LZ2cCI09FPC4wMEZYW0sNZ2cCOWRbRTM3QUZdXFMNZ2cF
Q1ZRQ4AzNUFGWVxTC2dnAkpWQ0MxNkFGWVxNCGdnAUlWTlE0NkBYWVxaCGdn
AElWUFExO0FZXGRNCGdnAElWS04vQEVZXGRaB2dnBFJWW1AzQUVbZVxiCWdn
BVJWVFEzQEZZXWViCWdnBFJiW1E3QEZcXV1iCWdnBVJWW1EzQUVZZWX+gGIJ
Z2cFSlZbUTNARlxdZWIJZ2cET1RRRDM/RVllXGIJZ2cCSlRURDM/QVhcXFoJ
Z2cBSlRRTjI/RVhcXFoJZ2cASlRRQjI1QVhcXFoJZ2cASVRRQi41QUZZWVMJ
Z2cASVRRQi41QURZWVoJZ2cASVROQi41QUZcWVoJZ2cASYBUVEIuNUBYXFxa
CWdnAEpWUUIuNUFYXFxaCWdnAEpUVEQyNUFYXFxaCWdnBEpUVEQyP0VZZV1i
CWdnBVJWW0QzQEVZXFxiCWdnBVJiW1E4QEZZZVxaCWdnBVJbW1EzQEZcZWVk
CWdnBVJUW0UzQUVcZWVkCWdnBVJWW1EzQEX+gFllXWQJZ2cFSlRURDNARVlc
XVoJZ2cESlZRRDJARVhcXFoJZ2cASlROTjI/QVhcXFoJZ2cASVRRQi41QVhc
XFoJZ2cASlRUQi41QVFZWVoJZ2cASVRRQi41QUZZWFoJZ2cASVRRQi81QUZZ
WVcJZ2cASVRRQi41QFhcXFoJZ4BnAUlUUUQyNUFGXFxaCWdnAUpUVEQyOEFY
XFxaCWdnAUpWUUQyP0VcZVxaCWdnBVJWW1EzQUVZXWViCWdnBVJWW1EzQEVZ
ZV1iCWdnBVJWW1EzQUZZZVxiCWdnBVJWVFEzQEVcZV1kCWdnBUpWW1EzQEVZ
ZV1kCWdnAkpUW0T+gDNARVllXGIJZ2cCSlRRRDJARVhcXFoJZ2cESVRRRDI/
RVhcXFoJZ2cASlRUQi44QVhcXFoJZ2cASVRRQi41QUZZWVoJZ2cASlRRQi41
QURZWFoJZ2cASVRRQi41QEZcWVoJZ2cASVRRRC41QVhcWVoJZ2cASVRRRDI4
Q1hZWYBaCWdnAElWUUMyOEFYXFxaCWdnAEpWVEQyOEVZXGViCWdnBVJWW0Qz
QUVZZWViCWdnBVJWW1EzQEVZXF1aCWdnBVJWW1EzQUZcZV1kCWdnBVJiW0Uz
QEVcZWVaCWdnBVJWW1EzQEVcZWVaCWdnBVJUUVAzQEVZZVxkCWdnAEr+gFRR
RDM/RVhcXFoJZ2cBSlRRTjI/RUZcXFoJZ2cASVRRQjI1QVhcXFoJZ2cASVRR
Qi41QkZZWVoJZ2cASVRRQi41QUVZWVoJZ2cASVROQi41QUZcWVoJZ2cASVRU
Qi41QUZcXFoJZ2cASlZRQi41QUZcWVoJZ2cASlRURDI1RYBYXFlaCWdnBEpU
VEQyP0FZXV1jCWdnBVJWW0QzQEZZXV1aCWdnBVJiW1E4QEZZXWVfDGdnBVJb
W1EzQEZcZWVfCWdnBVJUW0UzQUVcZV1jDGdnBVJWVFEzQEZZXV1jDGdnBUpU
VEQzQEZZXV1fB2dnBUpUUUQzP0FGXVxaB2f+gGcASlRRRDM/RkZcXFoHZ2cA
SVRRQi41QUZcWVoKZ2cASlRUQi41QUZZWVcKZ2cASVRRQi40QUZZWFgKZ2cA
SVRRQi41QUZdRl0KZ2cASVRRQi41QUZGXUYLZ2cASlRRQi44QUZGRkYKZ2cB
SlRURDI4QUZdXVoKZ2cBSlRbRIAyOEVZXV1cC2dnBVJWVEUzQUVZZV1fCmdn
BVJWVFE3QEZZZWRaCmdnBVJWVFEzQUVcZV1jCmdnBVJWVFEzQEVcZWVhCWdn
BUpWW1EzQEVcZWVkDGdnAkpUW0QzQEVZZWVaCmdnAkpUUUQyQEVYXFxaCWdn
BElUUUQyP0VGXFz+gFoHZ2cASlRUQi44QVhcXFoHZ2cASVRRQi41QUZcWVoM
Z2cASlRRQi41QEVZWFcHZ2cASVRRQi41QUZcWVoHZ2cASVRRRC41QUVcWVoK
Z2cASVRRRDI4RkZZWVoKZ2cASVZRQzI4QUZcXFoMZ2cASlZURDI4RkZdXVwK
Z2cFUoBWW0QzQUZGXV1jDGdnBVJWW1EzQEZZZV1jCWdnBVJWW1EzQUZZZV1i
B2dnBVJWW1EzQEVZZWViCWdnBU9WW1EzQEZcXWViCWdnBE9UUUQzQEVZZVxa
CWdnAkpUVEQzP0VYXFxaCWdnAUpUUU4yP0FYXFxaCWdnAEpUUUIyNUH+gFhc
XFoJZ2cASVRRQi41QUZZWVoJZ2cASVRRQi41QURZWVoJZ2cASVROQi41QUZc
WVoJZ2cASVRUQi41QFhcWVoJZ2cASlZRQi41QVhcWVoJZ2cASlRURDI1QVhc
XFoJZ2cASlZURDI1RVldZWIJZ2cFUlZbRTNARVldXGIJZ4BnBVJiVFE3QUZZ
XWVaCWdnBVJbW1EzQEVcZV1kCWdnBVJWVEUzQUVcZV1kDGdnBUpWW1EzQEVZ
ZV1iCWdnBUpWVEQzQEVZXV1aCWdnBEpUUUQzP0VYXFxaCWdnAEpUUUQzP0FY
XFxaCWdnAElUUUIuNUFYXFxaCWdnAEpUVEL+gC41QVFZWVoJZ2cASVRRQi40
QUZZWFoJZ2cASVRRQi81QUZZWVcJZ2cASVRRQi41QFhcXFoJZ2cBSVRRRDI1
QUZcXFoJZ2cBSlRURDI4QVhcXFoJZ2cBSlZRRDI/RVxlXFoJZ2cFUlZbUTNB
RVldZWIJZ2cFUlZbUTNARVllXYBiCWdnBVJWW1EzQUZZZVxiCWdnBVJWVFEz
QEVcZV1kCWdnBUpWW1EzQEVZZV1kCWdnAkpUW0QzQEVZZVxiCWdnAkpUUUQy
QEVYXFxaCWdnBElUUUQyP0VYXFxaCWdnAEpUVEIuOEFYXFxaCWdnAElUUUIu
NUFGWVlaCWdnAEr+gFRRQi41QURZWFoJZ2cASVRRQi41QEZcWVoJZ2cASVRR
RC41QVhcWVoJZ2cASVRRRDI4Q1hZWVoJZ2cASVZRQzI4QVhcXFoJZ2cASlZU
RDI4RVlcZWIJZ2cFUlZbRDNBRVllZWIJZ2cFUlZbUTNARVlcXVoJZ2cFUlZb
UTNBRoBcZV1kCWdnBVJWW0Q8QEVZZWViCWdnBVJWW1EzQEZcXWViCWdnBEpW
VEQzP0VZZVxiCWdnAkpbUUQzP0FYXFxaCWdnAUpUUU4yP0VYXFxaCWdnAEpU
UUIyNUFYXFxaCWdnAElUUUIuNUFGWVlTCWdnAElUUUIuNUFEWVlaCWf+gGcA
SVROQi41QUZcWVoJZ2cASVRUQi41QFhcXFoJZ2cASlZRQi41QVhcXFoJZ2cA
SlRURDI1QVhcXFoJZ2cASlZURDI1RVldXVoJZ2cFUlZbRTNARVldXGQJZ2cF
UmJUUTdBRVllXGIJZ2cFUltbUTNARlxlZWQJZ2cFUlZURYAzQUVcZV1kDGdn
BUpWW1EzQEVZZV1iCWdnBUpWVEQzQEVZXV1aCWdnBEpUUUQzP0VYXFxaCWdn
AEpUUUQzP0FYXFxaCWdnAElUUUIuNUFYXFxaCWdnAEpUVEIuNUFRWVlaCWdn
AElUUUIuNEFGWVhaCWdnAElUUUIvNUFGWVn+gFcJZ2cASVRRQi41QFhcXFoJ
Z2cBSVRRRDI1QUZcXFoJZ2cBSlRURDI4QVhcXFoJZ2cBSlZRRDI/RVxlXFoJ
Z2cFUlZbUTNBRVldZWIJZ2cFUlZbUTNARVllXWIJZ2cFUlZbUTNBRlllXGIJ
Z2cFUlZUUTNARVxlXWQJZ2cFSoBWW1EzQEVZZV1kCWdnAkpUW0QzQEVZZVxi
CWdnAkpUUUQyQEVYXFxaCWdnBElUUUQyP0VYXFxaCWdnAEpUVEIuOEFYXFxa
CWdnAElUUUIuNUFGWVlaCWdnAEpUUUIuNUFEWVhaCWdnAElUUUIuNUBGXFla
CWdnAElUUUQuNUH+gFhcWVoJZ2cASVRRRDI4Q1hZWVoJZ2cASVZRQzI4QVhc
XFoJZ2cASlZURDI4RVlcZWIJZ2cFUlZbRDNBRVllZWIJZ2cFUlZbUTNARVlc
XVoJZ2cFUlZbUTNBRlxlXWQJZ2cFUlZbUTNARVxlZVoJZ2cFSlZbUTNARVxl
ZWIJZ4BnBE9UUUQzQEVZXVxiCWdnAkpUVEQzP0VYXFxaCWdnAUpUUUQyP0VG
XFxaCWdnAEpUUUIyNUFYXFxaCWdnAElUUUIuNUJGWVlaCWdnAElUUUIuOEFF
WVlaCWdnAElUTkIuNUFGXFlaCWdnAElUVEIuNUFYXFlXCWdnAEpWUUL+gC41
QUZZWVoJZ2cASlRURDI1RVhcXFoJZ2cESVZURDI/RlldXWQJZ2cESlZQUDJC
RlldXWEHZ2cET1ZaPjo+RlllZV8JZ2cCT1tYRjdBRlxlZV8HZ2cCT1tbRThB
RlldZV8KZ2cCUltbUTNBRlldZV8KZ2cET1RbRTNARkZdZYBXB2dnBEpWUUMx
OEFGRmVXB2dnBElUUUMxNUFGWVxXB2dnBiNOUT8uMDBBWFg9DWdnBhU5NC8d
MDA4Rj49DWdnJAMOExkdIB8wPConLWdnZxgPEBEUHh8uKCotZ2dnZywhEBAT
GRocIilMZ2dnZ2dIJCEVFhgnK1VnZ2dnZ2cOgGdnYFVNX15nZ2dnZ4EAOw==
}]
set images(scrollbar_vertical_inactive) [image create photo -data {
R0lGODlhDwDsAOf0AAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
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///////////////////////////
/////////////////////yH5BAEBAP8ALAAAAAAPAOwAAAj+AP8JFGiuILt1
AxP+u4bLEyNEnII1M6dwmac7agRZIqVqFjNxCTlhUVNHUqpUx44tazbQFhYn
gkzq0gWt2rRg1ASycaQymCxmzKqdA7dtlE5X3MRVOxYUHLtz42AJ7LLMHTpw
NcGde/dOndR/Xa65I/dtWTVx59i9O2dKoJJs6L59YyYNnDi15oz+G3LtKrll
0rapY+cur0Atfcn9rQZO3Tt36j65vQYV3LGzaiFL/qeFG7pzSrfdleeOHaip
ns+Rq7Yt7TzSpVCjY7daNLvX6mKDTU0OWut38+apO737c+/f8h4T1wL3qu+0
8uSZdptNNdZrjbkOFzikOrnr2dn+bd+buNuxadm7Euer2jx6ce/Er6dMzr1W
8ePZ1z8vOH5++vYNJh93AJ5nl3/rwTXUMdeI45h63CkIzjLY3RYfcV14hs5x
o10oG2jQ3PfadMVtyNpgI2KYDTvOaQUcaRhq2Jtdt81DYmfnxOWbg8nd6N2E
DT7oDnFvDQVkePl5180y6D343znn2AdOV0/Wx+R9A5I3VIBqnTNfe/wJOF6R
C2I3GIT/FPmdgQ+SSOaRFpKYIYsc1iinhuKEeFdw42WIzobP2Rnjn8e5ptxU
CtYZ3JCIboiVbT0SWd1Q0ATJlZs/muWgdl+u2SSnBIKJXlpZ6iclO6WWZ+BW
6lRp2af+qYoKDjkIHpbYkU5K+tmEmM3jYYngMLbnr36C2Bo78tg4qGohuqas
bICKKN2yeR4bnY+77ojstNRZV+mmaHbnrZm1krdhgKBqud975Zq6Kn6d2rdV
rOs2huqYBY5a7lu7Mpgeid39yatTvjJaYp73XTtotNDZqJufgB4b3J2ENnvO
xJvN6Vxrydq4GY7nfPPcOdfqpeaErZGMqsmTLkkZqZFFuOWq2m3GXpTviqeX
u6M+FbO68t67c74uPsWyrKSyc/RQFGolHTttpbnid00Dx1XUxdbmGmR6QTzj
1uxkjOeOwHksm2KskePOxF0nGuiiD8P1nbbzlLb0deC6c7T+Ot0EBWXNoY5j
nlAkd2Uz0dDlFmq9UJ7zM89YPo74vYefm7PinL0M5N9d6cYv05hFh3mxwdJ4
7cNjWwvjh19vO7qMzd7GbXHGQjc7c9lCOvvJ3+Yq89zkpmr5p+ESDR+9Qbca
L83Is3nv8vqWKqG/bSa4a9NxLlxnpB8i7NrsXp8ou5wrtrjVawZ7raegh3GT
o8iiqcM9Z5laeqjURjbtmPTtXem7ljhDz5SUt7gl9SxW4ODSWqAnmOd1q0z2
QtPJ2HQpSUEJTr66E53o9qyDrY9P2ntbB9Unsft1wW22WZSKHKWt+b2pdxXs
FtXO8j/9vCo9VQpa8wToQHMxjkr+nbrh/nJoIFplCTGO0l+6PserYVFsKMLK
HrSq1bAntm5iIZTWE6m4LWxRSneYGhe4kjQuJM1neDiE3oF2eB8CAo15RGxS
DyE3ryT1i1y/ChjTKpTBEEKKWKnx3vi0J74UIYpFWHER+rK4pw7iSEfxmx9z
rEOhvFkQHLhql5L8l66bSQmIBbwSzL6UQOctsIBh6uGbqKeWMf2Igr96E/b6
iJoNpnCEY6MRCKFVKPaVqJcFWyGzbpk+uT2qQ2GklP3COMMxBhGWcYycGp0i
vB+60YYUZKMRx4NEquHRldliDLIAKbBAzQ9iCGtk+ngTu0WyjjXnA1/qbIct
4I1md5O8OmbhyOhNM6KSeE8K4BqjmZZrIq5dRBMTkQ6aJSZSL4ZSQ4c6eGUo
bF2lGpRBltk4ww3xjGMav8GYQLbgmYky5nwbJemflKKVi6UUT/B06c9O+BQq
kkw4UcNdyJoCJRvpBTFQ+kYwQAqzzbDBFeD4xjWYIpRWRUUnjljGMnwClLMQ
JWq2+AJMZKILZlxjGcLIiUBEQhKToEQlLBmIRdSQkY10pBkgScg1bOEQiASD
GRRRiEDUUZB1ICQhAQEAOw==
}]
set images(vertical_trough) [image create photo -data {
R0lGODlhDwARAPQAALm5ubq6usDAwMfHx8jIyNLS0tPT09ra2tvb2+Pj4+np
6erq6u3t7e7u7u/v7/Dw8PLy8vPz8/T09PX19ff39/j4+Pn5+fr6+gAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAPABEAAAViICAQxZEs
zlRZFxUxImmiKuvCY3mma/vGOsVD0rsBTUKi7ZdDDotMWSIJZQQEAwPi9Fw2
rtntouv7YrVcZRmMHqtdjeOu1oLEm/OiXU7T36V9NnZXBAZIPCwVEWaFh3SK
DSEAOw==
}]
set images(vseparator) [image create photo -data {
R0lGODlhCAAeAMIGAHx8fMjMwMjQxdDUyOjo6PX29f///////yH5BAEKAAcA
LAAAAAAIAB4AAAMuCLTVoKQ5KMtbzFJ5s8YcFE3e53WjmT5DalZoyIwxeW42
jL+yW6s9XQlF23VgCQA7
}]

Added themes/Aquativo/aquativo.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
# aquativo --
#
#   Copyright (C) 2004 Pat Thoyts <patthoyts@users.sourceforge.net>
#
#   Import the aquativo Gtk theme (C) Andrew Wyatt, FEWT Software
#   Original: http://www.fewt.com
#   Link: http://art.gnome.org/themes/gtk2/432.php
# ------------------------------------------------------------------------------
# Revision change history:
#   $Id: aquativo.tcl,v 1.4 2009/10/25 20:53:27 oberdorfer Exp $
#
#   Aug.'08: code refractured for the use with >= tk8.5,
#            johann.oberdorfer@gmail.com
# ------------------------------------------------------------------------------

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 aquativo {
      variable version 0.0.1
    }
  }
}

# TkDefaultFont", "TkTextFont" and "TkMenuFont
#   font create System {*}[font actual System] 
#   font configure System -size 16 -weight bold


namespace eval ttk::theme::aquativo {

  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...
  if { [file exists $imageLib] } {

      source $imageLib
      array set I [array get images]

  } else {

      proc LoadImages {imgdir {patterns {*.gif}}} {
        foreach pattern $patterns {
          foreach file [glob -directory $imgdir $pattern] {
            set img [file tail [file rootname $file]]
            if {![info exists images($img)]} {
              set images($img) [image create photo -file $file]
            }
        }}
        return [array get images]
      }

      array set I [LoadImages $imageDir "*.gif"]
  }

  
  # "-parent" option controls the treeview "+" icon (collapse/expand)
  # at the beginning of each tree node
  
  ::ttk::style theme create aquativo -settings {
    
    # Defaults
    
    ::ttk::style configure "." \
        -font TkDefaultFont \
        -background "#fafafa" \
        -foreground "Black"
    
    # I really like the mapping options!
    ::ttk::style map "." \
        -foreground { disabled "#565248" } \
        -background { \
	    disabled "#e3e1dd"
            pressed  "#bab5ab"
            active   "#c1d2ee" }
        
    # Troughs

    ::ttk::style element create Horizontal.Scale.trough \
        image $I(horizontal_trough) -border 0

    ::ttk::style element create Vertical.Scale.trough \
        image $I(vertical_trough) -border 0

    ::ttk::style element create Progress.trough \
        image $I(vertical_trough) -border 0

    # Panedwindow parts

    ::ttk::style element create hsash \
            image $I(hseparator) -border {2 0}
    ::ttk::style element create vsash \
            image $I(vseparator) -border {0 2}

    # Buttons, Checkbuttons and Radiobuttons
    
    ::ttk::style layout TButton {
      Button.background
      Button.button -children {
        Button.focus -children {
          Button.label
        }
      }
    }
    
    ::ttk::style element create Button.button image \
        [list $I(buttonNorm) \
	      pressed $I(buttonPressed) active $I(buttonPressed)] \
        -border {4 4} -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)] \
        -width 20 -sticky w
    
    # Menubuttons
    
    ::ttk::style element create Menubutton.button image \
        [list $I(menubar_option) ] \
        -border {7 10 29 15} -padding {7 4 29 4} -sticky news
    
    ::ttk::style element create Menubutton.indicator image \
        [list $I(menubar_option_arrow) \
	      disabled $I(menubar_option_arrow_insensitive)] \
        -width 11 -sticky w -padding {0 0 18 0}
    
    # Scrollbar

    ::ttk::style element create Horizontal.Scrollbar.trough \
        image $I(horizontal_trough) -width 16 -border 0 -sticky ew

    ::ttk::style element create Vertical.Scrollbar.trough \
        image $I(vertical_trough) -height 16 -border 0 -sticky ns

    ::ttk::style element create Horizontal.Scrollbar.thumb \
        image [list $I(scrollbar_horizontal) \
	            {active !disabled} $I(scrollbar_horizontal) \
		    disabled  $I(horizontal_trough)] \
        -border 7 -width 16 -height 0 -sticky nsew

    ::ttk::style element create Vertical.Scrollbar.thumb \
        image [list $I(scrollbar_vertical) \
	            {active !disabled}  $I(scrollbar_vertical) \
		    disabled $I(vertical_trough)] \
 	-border 7 -width 0 -height 16 -sticky nsew
    
    # Scale
    
    ::ttk::style element create Horizontal.Scale.slider \
        image $I(scrollbar_horizontal) \
        -border 3 -width 30 -height 16
    
    ::ttk::style element create Vertical.Scale.slider \
        image $I(scrollbar_vertical) \
        -border 3 -width 16 -height 30
    
    # Progress
    
    ::ttk::style element create Progress.bar image $I(progressbar)
    
    # Arrows
    
    ::ttk::style element create uparrow image \
        [list $I(arrow_up_normal) \
              pressed $I(arrow_up_active) \
              disabled $I(arrow_up_insensitive)] -width 12
    ::ttk::style element create downarrow image \
        [list $I(arrow_down_normal) \
              pressed $I(arrow_down_active) \
              disabled $I(arrow_down_insensitive)] -width 12
    ::ttk::style element create leftarrow image \
        [list $I(arrow_left_normal) \
              pressed $I(arrow_left_active) \
              disabled $I(arrow_left_insensitive)] -height 12
    ::ttk::style element create rightarrow image \
        [list $I(arrow_right_normal) \
              pressed $I(arrow_right_active) \
              disabled $I(arrow_right_insensitive)] -height 12
    
    # Notebook parts
    
    ::ttk::style element create tab image \
        [list $I(notebook) selected $I(notebook_active) \
                           active   $I(notebook_inactive) \
                           disabled $I(notebook_inactive)] \
        -sticky news \
        -border {10 2 10 2} -height 10
    
    ::ttk::style configure TNotebook.Tab -padding {2 2}
    ::ttk::style configure TNotebook -expandtab {2 2}
    
    
    # Labelframes
    
    ::ttk::style configure TLabelframe -borderwidth 2 -relief groove
  }
}

namespace eval ::tablelist:: {

    proc aquativoTheme {} {
      variable themeDefaults
      array set themeDefaults [list \
	-background		white \
	-foreground		black \
	-disabledforeground	black \
	-stripebackground	#EDF3FE \
	-selectbackground	#000000 \
	-selectforeground	#ffffff \
	-selectborderwidth	0 \
	-font			TkTextFont \
        -labelbackground	#fafafa \
	-labeldisabledBg	#fafafa \
	-labelactiveBg		#fafafa \
	-labelpressedBg		#fafafa \
	-labelforeground	black \
	-labeldisabledFg	black \
	-labelactiveFg		black \
	-labelpressedFg		black \
	-labelfont		TkDefaultFont \
	-labelborderwidth	2 \
	-labelpady		1 \
	-arrowcolor		#777777 \
	-arrowstyle		flat7x7 \
	-showseparators         yes \
      ]
   }
}


package provide ttk::theme::aquativo $::ttk::theme::aquativo::version

Added themes/Aquativo/pkgIndex.tcl.







>
>
>
1
2
3

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

Added themes/Arc/Arc/arrow-down-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-down-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-down-small-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-down-small-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-down-small.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-down.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-left-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-left-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-left.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-right-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-right-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-right.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up-small-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up-small-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up-small.png.

cannot compute difference between binary files

Added themes/Arc/Arc/arrow-up.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button-empty.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button-focus.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button-hover.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/button.png.

cannot compute difference between binary files

Added themes/Arc/Arc/checkbox-checked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/checkbox-checked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/checkbox-unchecked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/checkbox-unchecked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-active-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-hover.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-insensitive-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-button.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-focus-notebook-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-focus-notebook.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-focus-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-focus.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-insensitive-notebook-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-insensitive-notebook.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-insensitive-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-notebook-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-notebook.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/combo-entry.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background-disable-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background-disable.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background-hover.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/down-background.png.

cannot compute difference between binary files

Added themes/Arc/Arc/empty.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-active-bg-solid.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-active-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-bg-solid.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-disabled-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/entry-border-fill.png.

cannot compute difference between binary files

Added themes/Arc/Arc/focus-line.png.

cannot compute difference between binary files

Added themes/Arc/Arc/frame-gap-end.png.

cannot compute difference between binary files

Added themes/Arc/Arc/frame-gap-start.png.

cannot compute difference between binary files

Added themes/Arc/Arc/frame.png.

cannot compute difference between binary files

Added themes/Arc/Arc/handle-h.png.

cannot compute difference between binary files

Added themes/Arc/Arc/handle-v.png.

cannot compute difference between binary files

Added themes/Arc/Arc/inline-toolbar.png.

cannot compute difference between binary files

Added themes/Arc/Arc/labelframe.png.

cannot compute difference between binary files

Added themes/Arc/Arc/line-h.png.

cannot compute difference between binary files

Added themes/Arc/Arc/line-v.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-arrow-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-arrow.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-checkbox-checked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-checkbox-checked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-checkbox-unchecked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-checkbox-unchecked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-radio-checked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-radio-checked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-radio-unchecked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menu-radio-unchecked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menubar.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menubar_button.png.

cannot compute difference between binary files

Added themes/Arc/Arc/menuitem.png.

cannot compute difference between binary files

Added themes/Arc/Arc/minus.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook-entry-border-active-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook-entry-border-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook-entry-border-disabled-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook-gap-horiz.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook-gap-vert.png.

cannot compute difference between binary files

Added themes/Arc/Arc/notebook.png.

cannot compute difference between binary files

Added themes/Arc/Arc/null.png.

cannot compute difference between binary files

Added themes/Arc/Arc/plus.png.

cannot compute difference between binary files

Added themes/Arc/Arc/progressbar.png.

cannot compute difference between binary files

Added themes/Arc/Arc/progressbar_v.png.

cannot compute difference between binary files

Added themes/Arc/Arc/radio-checked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/radio-checked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/radio-unchecked-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/radio-unchecked.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-horiz-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-horiz-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-horiz-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-horiz.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-insensitive.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-vert-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-vert-insens.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-vert-prelight.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider-vert.png.

cannot compute difference between binary files

Added themes/Arc/Arc/slider.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-bottom-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-left-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-right-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-top-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-top-hover.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tab-top.png.

cannot compute difference between binary files

Added themes/Arc/Arc/toolbar-entry-border-active-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/toolbar-entry-border-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/toolbar-entry-border-disabled-bg.png.

cannot compute difference between binary files

Added themes/Arc/Arc/toolbar.png.

cannot compute difference between binary files

Added themes/Arc/Arc/tree_header.png.

cannot compute difference between binary files

Added themes/Arc/Arc/treeview.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-horizontal-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-horizontal.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-progressbar.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-progressbar_v.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-scrollbar-horiz.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-scrollbar-vert.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-vertical-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/trough-vertical.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background-active.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background-disable-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background-disable.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background-hover.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background-rtl.png.

cannot compute difference between binary files

Added themes/Arc/Arc/up-background.png.

cannot compute difference between binary files

Added themes/Arc/arc.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
# arc.tcl --
#
# Arc pixmap theme for the ttk package.
#
#  Copyright (c) 2015 Sergei Golovan <sgolovan@nes.ru>

package require Tk 8.6.0

namespace eval ttk::theme::Arc {

    variable version 0.1
    package provide ttk::theme::Arc $version

    variable colors
    array set colors {
        -fg             "#5c616c"
        -bg             "#f5f6f7"
        -disabledbg     "#fbfcfc"
        -disabledfg     "#a9acb2"
        -selectbg       "#5294e2"
        -selectfg       "#ffffff"
        -window         "#ffffff"
        -focuscolor     "#5c616c"
        -checklight     "#fbfcfc"
    }

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.png] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format png]
        }
    }

    LoadImages [file join [file dirname [info script]] Arc]

    ttk::style theme create Arc -parent default -settings {
        ttk::style configure . \
            -background $colors(-bg) \
            -foreground $colors(-fg) \
            -troughcolor $colors(-bg) \
            -selectbackground $colors(-selectbg) \
            -selectforeground $colors(-selectfg) \
            -fieldbackground $colors(-window) \
            -font TkDefaultFont \
            -borderwidth 1 \
            -focuscolor $colors(-focuscolor)

        ttk::style map . -foreground [list disabled $colors(-disabledfg)]

        #
        # Layouts:
        #

        ttk::style layout TButton {
            Button.button -children {
                Button.focus -children {
                    Button.padding -children {
                        Button.label -side left -expand true
                    }
                }
            }
        }

        ttk::style layout Toolbutton {
            Toolbutton.button -children {
                Toolbutton.focus -children {
                    Toolbutton.padding -children {
                        Toolbutton.label -side left -expand true
                    }
                }
            }
        }

        ttk::style layout Vertical.TScrollbar {
            Vertical.Scrollbar.trough -sticky ns -children {
                Vertical.Scrollbar.thumb -expand true
            }
        }

        ttk::style layout Horizontal.TScrollbar {
            Horizontal.Scrollbar.trough -sticky ew -children {
                Horizontal.Scrollbar.thumb -expand true
            }
        }

        ttk::style layout TMenubutton {
            Menubutton.button -children {
                Menubutton.focus -children {
                    Menubutton.padding -children {
                        Menubutton.indicator -side right
                        Menubutton.label -side right -expand true
                    }
                }
            }
        }

        ttk::style layout TCombobox {
            Combobox.field -sticky nswe -children {
                Combobox.downarrow -side right -sticky ns -children {
                    Combobox.arrow -side right
                }
                Combobox.padding -expand true -sticky nswe -children {
                    Combobox.textarea -sticky nswe
                }
            }
        }

        ttk::style layout TSpinbox {
            Spinbox.field -side top -sticky we -children {
                Spinbox.buttons -side right -children {
                    null -side right -sticky {} -children {
                        Spinbox.uparrow -side top -sticky nse -children {
                            Spinbox.symuparrow -side right -sticky e
                        }
                        Spinbox.downarrow -side bottom -sticky nse -children {
                            Spinbox.symdownarrow -side right -sticky e
                        }
                    }
                }
                Spinbox.padding -sticky nswe -children {
                    Spinbox.textarea -sticky nswe
                }
            }
        }

        #
        # Elements:
        #

        ttk::style element create Button.button image [list $I(button) \
                pressed     $I(button-active) \
                active      $I(button-hover) \
                disabled    $I(button-insensitive) \
            ] -border 3 -padding {3 2} -sticky ewns

        ttk::style element create Toolbutton.button image [list $I(button-empty) \
                selected            $I(button-active) \
                pressed             $I(button-active) \
                {active !disabled}  $I(button-hover) \
            ] -border 3 -padding {3 2} -sticky news

        ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \
                disabled            $I(checkbox-unchecked-insensitive) \
                {active selected}   $I(checkbox-checked) \
                {pressed selected}  $I(checkbox-checked) \
                active              $I(checkbox-unchecked) \
                selected            $I(checkbox-checked) \
                {disabled selected} $I(checkbox-checked-insensitive) \
            ] -width 22 -sticky w

        ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \
                disabled            $I(radio-unchecked-insensitive) \
                {active selected}   $I(radio-checked) \
                {pressed selected}  $I(radio-checked) \
                active              $I(radio-unchecked) \
                selected            $I(radio-checked) \
                {disabled selected} $I(radio-checked-insensitive) \
            ] -width 22 -sticky w

        ttk::style element create Horizontal.Scrollbar.trough image $I(trough-scrollbar-horiz)
        ttk::style element create Horizontal.Scrollbar.thumb \
            image [list $I(slider-horiz) \
                        {pressed !disabled} $I(slider-horiz-active) \
                        {active !disabled}  $I(slider-horiz-prelight) \
                        disabled            $I(slider-horiz-insens) \
            ] -border 6 -sticky ew

        ttk::style element create Vertical.Scrollbar.trough image $I(trough-scrollbar-vert)
        ttk::style element create Vertical.Scrollbar.thumb \
            image [list $I(slider-vert) \
                        {pressed !disabled} $I(slider-vert-active) \
                        {active !disabled}  $I(slider-vert-prelight) \
                        disabled            $I(slider-vert-insens) \
            ] -border 6 -sticky ns

        ttk::style element create Horizontal.Scale.trough \
            image [list $I(trough-horizontal-active) disabled $I(trough-horizontal)] \
            -border {8 5 8 5} -padding 0
        ttk::style element create Horizontal.Scale.slider \
            image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \
            -sticky {}

        ttk::style element create Vertical.Scale.trough \
            image [list $I(trough-vertical-active) disabled $I(trough-vertical)] \
            -border {5 8 5 8} -padding 0
        ttk::style element create Vertical.Scale.slider \
            image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \
            -sticky {}

        ttk::style element create Entry.field \
            image [list $I(entry-border-bg-solid) \
                        focus $I(entry-border-active-bg-solid) \
                        disabled $I(entry-border-disabled-bg)] \
            -border 3 -padding {6 4} -sticky news

        ttk::style element create Labelframe.border image $I(labelframe) \
            -border 4 -padding 4 -sticky news

        ttk::style element create Menubutton.button \
            image [list $I(button) \
                        pressed  $I(button-active) \
                        active   $I(button-hover) \
                        disabled $I(button-insensitive) \
            ] -sticky news -border 3 -padding {3 2}
        ttk::style element create Menubutton.indicator \
            image [list $I(arrow-down) \
                        active   $I(arrow-down-prelight) \
                        pressed  $I(arrow-down-prelight) \
                        disabled $I(arrow-down-insens) \
            ] -sticky e -width 20

        ttk::style element create Combobox.field \
            image [list $I(combo-entry) \
                {readonly disabled}  $I(button-insensitive) \
                {readonly pressed}   $I(button-active) \
                {readonly focus}     $I(button-focus) \
                {readonly hover}     $I(button-hover) \
                readonly             $I(button) \
                {disabled} $I(combo-entry-insensitive) \
                {focus}    $I(combo-entry-focus) \
                {hover}    $I(combo-entry) \
            ] -border 4 -padding {6 0 0 0}
        ttk::style element create Combobox.downarrow \
            image [list $I(combo-entry-button) \
                        pressed   $I(combo-entry-button-active) \
                        active    $I(combo-entry-button-hover) \
                        disabled  $I(combo-entry-button-insensitive) \
          ] -border 4 -padding {0 10 6 10}
        ttk::style element create Combobox.arrow \
            image [list $I(arrow-down) \
                        active    $I(arrow-down-prelight) \
                        pressed   $I(arrow-down-prelight) \
                        disabled  $I(arrow-down-insens) \
          ]  -sticky e -width 15

        ttk::style element create Spinbox.field \
            image [list $I(combo-entry) focus $I(combo-entry-focus)] \
            -border 4 -padding {6 0 0 0} -sticky news
        ttk::style element create Spinbox.uparrow \
            image [list $I(up-background) \
                        pressed   $I(up-background-active) \
                        active    $I(up-background-hover) \
                        disabled  $I(up-background-disable) \
            ] -width 20 -border {0 2 3 0} -padding {0 5 6 2}
        ttk::style element create Spinbox.symuparrow \
            image [list $I(arrow-up-small) \
                        active    $I(arrow-up-small-prelight) \
                        pressed   $I(arrow-up-small-prelight) \
                        disabled  $I(arrow-up-small-insens) \
            ]
        ttk::style element create Spinbox.downarrow \
            image [list $I(down-background) \
                        pressed   $I(down-background-active) \
                        active    $I(down-background-hover) \
                        disabled  $I(down-background-disable) \
            ] -width 20 -border {0 0 3 2} -padding {0 2 6 5}
        ttk::style element create Spinbox.symdownarrow \
            image [list $I(arrow-down-small) \
                        active    $I(arrow-down-small-prelight) \
                        pressed   $I(arrow-down-small-prelight) \
                        disabled  $I(arrow-down-small-insens) \
          ]

        ttk::style element create Notebook.client \
            image $I(notebook) -border 1
        ttk::style element create Notebook.tab \
            image [list $I(tab-top) \
                        selected    $I(tab-top-active) \
                        active      $I(tab-top-hover) \
            ] -padding {0 2 0 0} -border 2

        ttk::style element create Horizontal.Progressbar.trough \
            image $I(trough-progressbar_v) -border {5 1 5 1} -padding 1
        ttk::style element create Horizontal.Progressbar.pbar \
            image $I(progressbar_v) -border {4 0 4 0}

        ttk::style element create Vertical.Progressbar.trough \
            image $I(trough-progressbar) -border {1 5 1 5} -padding 1
        ttk::style element create Vertical.Progressbar.pbar \
            image $I(progressbar) -border {0 4 0 4}

        ttk::style element create Treeview.field \
            image $I(treeview) -border 1
        ttk::style element create Treeheading.cell \
            image [list $I(notebook) pressed $I(notebook)] \
            -border 1 -padding 4 -sticky ewns

        ttk::style element create Treeitem.indicator \
            image [list $I(plus) user2 $I(empty) user1 $I(minus)] \
            -width 15 -sticky w

        #ttk::style element create Separator.separator image $I()

        #
        # Settings:
        #

        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
        ttk::style configure TMenubutton -padding {8 4 4 4}
        ttk::style configure Toolbutton -anchor center
        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
        ttk::style configure TCheckbutton -padding 3
        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
        ttk::style configure TRadiobutton -padding 3
        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 TSeparator -background $colors(-bg)

        # Treeview
        ttk::style configure Treeview -background $colors(-window)
        ttk::style configure Treeview.Item -padding {2 0 0 0}
        ttk::style map Treeview \
            -background [list selected $colors(-selectbg)] \
            -foreground [list selected $colors(-selectfg)]
    }
}

# vim:ts=8:sw=4:sts=4:et

Added themes/Arc/pkgIndex.tcl.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# pkgIndex.tcl for additional tile pixmap theme Arc.
#
# 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 

if {![file isdirectory [file join $dir Arc]]} { return }
if {![package vsatisfies [package provide Tcl] 8.6]} { return }

package ifneeded ttk::theme::Arc 0.1 \
    [list source [file join $dir arc.tcl]]

# vim:ts=8:sw=4:sts=4:et

Added themes/BlueElegance/BlueElegance.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
#
# Original theme for GTK-2:
# http://gnome-look.org/content/show.php/Blue+Elegance+Light?content=164806
#

namespace eval ::ttk::theme::BlueElegance {

    package provide ttk::theme::BlueElegance 0.1

    variable I

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format gif89]
        }
    }

    LoadImages [file join [file dirname [info script]] BlueElegance]

    variable colors
    array set colors {
        -frame      "#d8d8d8"
        -lighter    "#fcfcfc"
        -window     "#cdcdcd"
        -selectbg   "#3d3d3d"
        -selectfg   "#fcfcfc"
        -disabledfg "#747474"
    }

    ::ttk::style theme create BlueElegance -settings {
        
        # -----------------------------------------------------------------
        # Theme defaults
        #
        ::ttk::style configure . \
            -borderwidth 1 \
            -background $colors(-frame) \
            -troughcolor $colors(-lighter) \
            -selectbackground $colors(-selectbg) \
            -selectforeground $colors(-selectfg) \
            -fieldbackground $colors(-window) \
            -font TkDefaultFont
        ::ttk::style map . -foreground [list disabled $colors(-disabledfg)]
        
        # -----------------------------------------------------------------
        # Button
        #
        ::ttk::style layout TButton {
            Button.background
            Button.button -children {
                Button.focus -children {
                    Button.label
                }
            }
        }
        ::ttk::style element create button image [list $I(button-default) \
            pressed $I(button-active)  \
            active $I(button-prelight) \
            disabled $I(button-active-disabled)   \
        ] -border 4 -sticky ew
        ::ttk::style configure TButton -padding {10 6} -anchor center
        
        # -----------------------------------------------------------------
        # Checkbutton
        #
        ::ttk::style element create Checkbutton.indicator image \
            [list $I(check1) selected $I(check2)] \
            -width 20 -sticky w
            
        # -----------------------------------------------------------------
        # Radiobutton
        #
        ::ttk::style element create Radiobutton.indicator image \
            [list $I(option1) selected $I(option2)] \
            -width 20 -sticky w

        # -----------------------------------------------------------------
        # Menubutton
        #
        ::ttk::style layout TMenubutton {
            Menubutton.background
            Menubutton.button -children {
                Menubutton.focus -children {
                    Menubutton.label -side left -expand true
                }
            }
            Menubutton.indicator -side right
        }
        ::ttk::style element create Menubutton.indicator image \
            [list $I(arrow-optionmenu) \
                {pressed !disabled} $I(arrow-optionmenu-prelight) \
                {active !disabled} $I(arrow-optionmenu-prelight) \
                disabled $I(arrow-optionmenu-disabled)] \
            -padding {0 0 18 0} -sticky w

        # -----------------------------------------------------------------
        # Entry
        #
        ::ttk::style element create Entry.field image \
            [list $I(entry-active) focus $I(entry-inactive)] \
            -height 18 -border 2 -padding {3 4} -sticky news
        
        # -----------------------------------------------------------------
        # Combobox
        #
        ::ttk::style element create Combobox.field image \
            [list $I(combo-active) \
                {readonly} $I(button-active) \
                {active}   $I(combo-active) \
            ] -border {9 10 32 15} -padding {9 4 8 4} -sticky news
        ::ttk::style element create Combobox.downarrow image \
            [list $I(stepper-down) disabled $I(stepper-down)] \
            -sticky e -border {15 0 0 0}

        # -----------------------------------------------------------------
        # Notebook elements
        #
        ::ttk::style element create tab \
            image [list $I(tab-top) selected $I(tab-top-active) active $I(tab-top-active)] \
            -border {6 6 6 4} -padding {6 3} -height 12

        ::ttk::style configure TNotebook -tabmargins {0 3 0 0}
        ::ttk::style map TNotebook.Tab \
            -expand [list selected {0 3 2 2} !selected {0 0 2}]
        
        # -----------------------------------------------------------------
        # Scrollbars elements
        #
        ::ttk::style layout Horizontal.TScrollbar {
            Horizontal.Scrollbar.trough -sticky ew -children {
                Scrollbar.leftarrow -side left -sticky {}
                Scrollbar.rightarrow -side right -sticky {}
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we -children {
                    Horizontal.Scrollbar.grip -sticky {}
                }
            }
        }
        ::ttk::style element create Horizontal.Scrollbar.thumb \
            image [list $I(slider-horiz) {pressed !disabled} $I(slider-horiz-prelight)] \
            -border {1 0} -width 32 -height 16 -sticky news
        ::ttk::style element create Horizontal.Scrollbar.grip \
            image [list $I(grip-horiz) {pressed !disabled} $I(grip-horiz-prelight)]
        ::ttk::style element create Horizontal.Scrollbar.trough \
            image $I(trough-scrollbar-horiz) \
            -border 2 -padding 0 -width 32 -height 15
        ::ttk::style element create rightarrow \
            image [list $I(stepper-right) {pressed !disabled} $I(stepper-right-prelight)]
        ::ttk::style element create leftarrow \
            image [list $I(stepper-left) {pressed !disabled} $I(stepper-left-prelight)]

        ::ttk::style layout Vertical.TScrollbar {
            Scrollbar.background 
            Vertical.Scrollbar.trough -children {
                Scrollbar.uparrow -side top -sticky {}
                Scrollbar.downarrow -side bottom -sticky {}
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns -children {
                    Vertical.Scrollbar.grip -sticky {}
                }
            }
        }
        ::ttk::style element create Vertical.Scrollbar.thumb \
            image [list $I(slider-vert) {pressed !disabled} $I(slider-vert-prelight)] \
            -border {0 1} -width 15 -height 32 -sticky news
        ::ttk::style element create Vertical.Scrollbar.grip \
            image [list $I(grip-vert) {pressed !disabled} $I(grip-vert-prelight)]
        ::ttk::style element create uparrow \
            image [list $I(stepper-up) {pressed !disabled} $I(stepper-up-prelight)]
        ::ttk::style element create downarrow \
            image [list $I(stepper-down) {pressed !disabled} $I(stepper-down-prelight)]
        ::ttk::style element create Vertical.Scrollbar.trough \
            image $I(trough-scrollbar-vert) \
            -border 2 -padding 0 -width 15 -height 64
        
        # -----------------------------------------------------------------
        # Progressbar
        #
        ::ttk::style element create Horizontal.Progressbar.trough \
            image $I(trough-progressbar-horiz) -border 3
        ::ttk::style element create Vertical.Progressbar.trough \
            image $I(trough-progressbar-vert) -border 3
        ::ttk::style element create Horizontal.Progressbar.pbar \
            image $I(progressbar-horiz) -border {2 9}
        ::ttk::style element create Vertical.Progressbar.pbar \
            image $I(progressbar-vert) -border {9 2}
            
        # -----------------------------------------------------------------
        # Sliders horizontal and vertical.
        #
        ::ttk::style element create Scale.slider \
            image [list $I(scale) pressed $I(scale-prelight)] -border 3
        ::ttk::style element create Horizontal.Scale.trough \
            image $I(trough-horiz) -border {6 1 7 0} -padding 0 -sticky wes
        ::ttk::style element create Vertical.Scale.trough \
            image $I(trough-vert) -border {1 6 0 7} -padding 0 -sticky nes
            
        # -----------------------------------------------------------------
        # Tree
        #
        ::ttk::style element create Treeheading.cell \
            image [list $I(list-header) pressed $I(list-header-prelight)] \
            -border {4 10} -padding 4 -sticky ewns
            
    }

}

Added themes/BlueElegance/BlueElegance/arrow-optionmenu-disabled.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/arrow-optionmenu-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/arrow-optionmenu.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/button-active-disabled.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/button-active-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/button-active.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/button-default.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/button-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/check1.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/check2.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/combo-active.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/entry-active.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/entry-inactive.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/grip-horiz-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/grip-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/grip-vert-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/grip-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/list-header-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/list-header.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/option1.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/option2.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/progressbar-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/progressbar-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/scale-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/scale.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/slider-horiz-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/slider-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/slider-vert-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/slider-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-down-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-down.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-left-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-left.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-right-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-right.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-up-prelight.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/stepper-up.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/tab-top-active.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/tab-top.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-progressbar-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-progressbar-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-scrollbar-horiz.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-scrollbar-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/BlueElegance/trough-vert.gif.

cannot compute difference between binary files

Added themes/BlueElegance/pkgIndex.tcl.









>
>
>
>
1
2
3
4
if {[file isdirectory [file join $dir BlueElegance]]} {
    package ifneeded ttk::theme::BlueElegance 0.1 \
        [list source [file join $dir BlueElegance.tcl]]
}

Added themes/WinXP-Blue/WinXP-Blue.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# WinXP-Blue - Copyright (C) 2004 Pat Thoyts <patthoyts@users.sourceforge.net>
#
# Import the WinXP-Blue Gtk2 Theme by Ativo
# Link:
# URL: http://art.gnome.org/download/themes/gtk2/474/GTK2-WinXP-Blue.tar.gz
#
# You will need to fetch the theme package and extract it under the
# demos/themes directory and maybe modify the demos/themes/pkgIndex.tcl
# file.
#
# $Id: WinXP-Blue.tcl,v 1.2 2007/12/19 13:02:26 sbron Exp $

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

namespace eval ttk::theme::winxpblue {

package provide ttk::theme::winxpblue 0.6

proc LoadImages {imgdir} {
    variable I
    foreach file [glob -directory $imgdir *.gif] {
	set img [file tail [file rootname $file]]
	set I($img) [image create photo -file $file -format gif]
    }
}

LoadImages [file join [file dirname [info script]] WinXP-Blue]

ttk::style theme create winxpblue -settings {

    ttk::style configure "." -background #ece9d8 -font TkDefaultFont \
	-selectbackground "#4a6984" \
	-selectforeground "#ffffff" ;

    # gtkrc has #ece9d8 for background, notebook_active looks like #efebde

    ttk::style map "." -foreground {
	disabled	#565248
    } -background {
        disabled	#e3e1dd
	pressed		#bab5ab
	active		#c1d2ee
    }

    ## Buttons, checkbuttons, radiobuttons, menubuttons:
    #
    ttk::style layout TButton {
	Button.button -children { Button.focus -children { Button.label } }
    }
    ttk::style configure TButton -padding 3 -width -11 -anchor center

    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)] \
	-width 20 -sticky w
    ttk::style element create Menubutton.indicator \
	image $I(menubar_option_arrow)

    ## Toolbuttons
    #
    ttk::style map Toolbutton -background {
        disabled	#e3e1dd
	pressed		#bab5ab
	selected	#bab5ab
	active		#c1d2ee
    }
    ttk::style configure Toolbutton -anchor center

    ## Scrollbars, scale, progress bars:
    #
    ttk::style element create Horizontal.Scrollbar.thumb \
    	image $I(scroll_horizontal) -border 3 -width 15 -height 0 -sticky nsew
    ttk::style element create Vertical.Scrollbar.thumb \
    	image $I(scroll_vertical) -border 3 -width 0 -height 15 -sticky nsew
    ttk::style element create trough \
    	image $I(horizontal_trough) -sticky ew -border {0 2}
    ttk::style element create Vertical.Scrollbar.trough \
    	image $I(vertical_trough) -sticky ns -border {2 0}
    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}
    ttk::style configure TNotebook -expandtab {2 1}
    ttk::style map TNotebook.Tab \
	-expand [list selected {0 0 0 1} !selected {0 0}]

    ## Arrows:
    #
    ttk::style element create uparrow image $I(arrow_up_normal) -sticky {}
    ttk::style element create downarrow image $I(arrow_down_normal) -sticky {}
    ttk::style element create leftarrow image $I(arrow_left_normal) -sticky {}
    ttk::style element create rightarrow image $I(arrow_right_normal) -sticky {}
}
}

# -------------------------------------------------------------------------

Added themes/WinXP-Blue/WinXP-Blue/arrow_down_clicked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_down_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_left_clicked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_left_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_right_clicked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_right_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_up_clicked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/arrow_up_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/button.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/buttonNorm.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/buttonPressed.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/button_down_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/button_left_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/button_right_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/button_up_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/checkbox_checked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/checkbox_unchecked.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/clear.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/horizontal_trough.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/menubar_option_arrow.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/menupattern.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/notebook_active.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/notebook_inactive.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/option_in.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/option_out.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/progressbar.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/pullDownMenu.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/pullDownMenuPrelight.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/scroll_button_normal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/scroll_button_pressed.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/scroll_horizontal.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/scroll_vertical.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/through.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/WinXP-Blue/vertical_trough.gif.

cannot compute difference between binary files

Added themes/WinXP-Blue/pkgIndex.tcl.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# pkgIndex.tcl for additional tile pixmap themes.
#
# 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 2007/12/19 13:02:26 sbron Exp $

if {![file isdirectory [file join $dir WinXP-Blue]]} { return }
if {![package vsatisfies [package provide Tcl] 8.4]} { return }

package ifneeded ttk::theme::winxpblue 0.6 \
    [list source [file join $dir WinXP-Blue.tcl]]

Added themes/aquablue/aquablue/arrowdown-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowdown-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowdown-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowleft-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowleft-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowleft-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowright-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowright-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowright-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowright-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowup-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowup-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowup-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/arrowup-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/blank.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-pa.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-s.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/button-sa.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-ac.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-au.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-dc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-du.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-nc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-nu.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-pc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/check-pu.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-ra.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-rd.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-rf.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-rn.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/combo-rp.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/comboarrow-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/comboarrow-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/comboarrow-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/comboarrow-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/progress-h.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/progress-v.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-ac.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-au.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-dc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-du.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-nc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-nu.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-pc.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/radio-pu.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-ha.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-hd.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-hn.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-hp.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-va.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-vd.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-vn.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sbthumb-vp.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-ha.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-hd.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-hn.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-va.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-vd.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scale-vn.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scaletrough-h.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/scaletrough-v.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sep-h.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sep-v.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/sizegrip.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tab-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tab-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/toolbutton-a.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/toolbutton-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/toolbutton-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/toolbutton-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/toolbutton-pa.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tree-d.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tree-h.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tree-n.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue/tree-p.gif.

cannot compute difference between binary files

Added themes/aquablue/aquablue8.4.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# aquablue.tcl

namespace eval tile::theme::aquablue {

    package provide tile::theme::aquablue 0.1

    variable I
    array set I [tile::LoadImages \
                     [file join [file dirname [info script]] aquablue] *.gif]
    
    variable colors

    array set colors {
        -frame          "#efebe7"
        -lighter        "#f5f3f0"
        -dark           "#cfcdc8"
        -darker         "#9e9a9e"
        -darkest        "#d4cfca"
        -selectbg       "#7c99ad"
        -selectfg       "#ffffff"
        -disabledfg     "#b5b3ac"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
    }


    style theme create aquablue -parent clam -settings {

        style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         black \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        style configure Frame.border -relief groove

        ## Treeview.
        #
        style element create Treeheading.cell image $I(tree-n) \
            -map [list \
                      selected $I(tree-p) \
                      disabled $I(tree-d) \
                      pressed $I(tree-p) \
                      active $I(tree-h) \
                     ] \
            -border 4 -sticky ew

        #style configure Treeview -fieldbackground white
        style configure Row -background "#efefef"
        style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        style map Item -foreground [list selected white]
        style map Cell -foreground [list selected white]


        ## Buttons.
        #
        #style configure TButton -padding {10 0} -anchor center
        style configure TButton -padding {5 5} -anchor center -width -9
        style layout TButton {
            Button.button -children {
                Button.focus -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }

        style element create button image $I(button-n) \
            -map [list \
                      pressed $I(button-p) \
                      {selected active} $I(button-pa) \
                      selected $I(button-p) \
                      active $I(button-a) \
                      disabled $I(button-d) \
                     ] \
            -border 4 -sticky ew


        ## Checkbuttons.
        #
        style element create Checkbutton.indicator image $I(check-nu) \
            -width 24 -sticky w -map [list \
                {disabled selected} $I(check-dc) \
                disabled $I(check-du) \
                {pressed selected} $I(check-pc) \
                pressed $I(check-pu) \
                {active selected} $I(check-ac) \
                active $I(check-au) \
                selected $I(check-nc) ]

        style map TCheckbutton -background [list active $colors(-checklight)]
        style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        style element create Radiobutton.indicator image $I(radio-nu) \
            -width 24 -sticky w \
            -map [list \
                      {disabled selected} $I(radio-dc) \
                      disabled $I(radio-du) \
                      {pressed selected} $I(radio-pc) \
                      pressed $I(radio-pu) \
                      {active selected} $I(radio-ac) \
                      active $I(radio-au) \
                      selected $I(radio-nc) ]

        style map TRadiobutton -background [list active $colors(-checklight)]
        style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #style configure TMenubutton -relief raised -padding {10 2}
# 	style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        style element create Menubutton.border image $I(button-n) \
            -map [list \
                      selected $I(button-p) \
                      disabled $I(button-d) \
                      active $I(button-a) \
                     ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
        style configure Toolbutton -padding -5 -relief flat
        style configure Toolbutton.label -padding 0 -relief flat

        style element create Toolbutton.border image $I(blank) \
            -map [list \
                      pressed $I(toolbutton-p) \
                      {selected active} $I(toolbutton-pa) \
                      selected $I(toolbutton-p) \
                      active $I(toolbutton-a) \
                      disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        style configure TCombobox -selectbackground

        style element create Combobox.downarrow image $I(comboarrow-n) \
            -map [list \
                          disabled $I(comboarrow-d) \
                          pressed $I(comboarrow-p) \
                          active $I(comboarrow-a) \
                         ] \
            -border 1 -sticky {}

        style element create Combobox.field image $I(combo-n) \
            -map [list \
                      {readonly disabled} $I(combo-rd) \
                      {readonly pressed} $I(combo-rp) \
                      {readonly focus} $I(combo-rf) \
                      readonly $I(combo-rn)
                     ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        style configure TNotebook.Tab -padding {6 2 6 2}
        style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        style element create Horizontal.Scrollbar.thumb image $I(sbthumb-hn) \
            -map [list \
                      disabled $I(sbthumb-hd) \
                      pressed $I(sbthumb-ha) \
                      active $I(sbthumb-ha)] \
            -border 3

        style element create Vertical.Scrollbar.thumb image $I(sbthumb-vn) \
            -map [list \
                      disabled $I(sbthumb-vd) \
                      pressed $I(sbthumb-va) \
                      active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            style element create ${dir}arrow image $I(arrow${dir}-n) \
                -map [list \
                          disabled $I(arrow${dir}-d) \
                          pressed $I(arrow${dir}-p) \
                          active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        style element create Scale.slider image $I(scale-hn) \
            -map [list \
                      disabled $I(scale-hd) \
                      active $I(scale-ha) \
                     ]

        style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        style element create Vertical.Scale.slider image $I(scale-vn) \
            -map [list \
                      disabled $I(scale-vd) \
                      active $I(scale-va) \
                     ]
        style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #style element create separator image $I(sep-h)
        #style element create hseparator image $I(sep-h)
        #style element create vseparator image $I(sep-v)

    }
}

Added themes/aquablue/aquablue8.5.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# aquablue.tcl

namespace eval ttk::theme::aquablue {

    package provide ttk::theme::aquablue 0.1

    proc LoadImages {imgdir {patterns {*.gif}}} {
        foreach pattern $patterns {
            foreach file [glob -directory $imgdir $pattern] {
                set img [file tail [file rootname $file]]
                if {![info exists images($img)]} {
                    set images($img) [image create photo -file $file]
                }
            }
        }
        return [array get images]
    }

    variable I
    array set I [LoadImages \
                     [file join [file dirname [info script]] aquablue] *.gif]
    
    variable colors

    array set colors {
        -frame          "#f6f4f2"
        -lighter        "#f9f9f9"
        -dark           "#d1c8c0"
        -darker         "#c3bab0"
        -darkest        "#a89c91"
        -selectbg       "#ed7442"
        -selectfg       "#ffffff"
        -disabledfg     "#9e928a"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
        -text           "#62564f"
    }

    #PhG: change fonts... should not fail if font is not there!
    font configure TkDefaultFont -family {Lucida Grande} -size 13
    #Note that editable text uses Helvetica, and fixed font is Menlo 12 (or Monaco 12)

    ttk::style theme create aquablue -parent clam -settings {

        ttk::style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         $colors(-text) \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        ttk::style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        ttk::style configure Frame.border -relief groove

        ## Treeview.
        #
        ttk::style element create Treeheading.cell image \
            [list $I(tree-n) \
                 selected $I(tree-p) \
                 disabled $I(tree-d) \
                 pressed $I(tree-p) \
                 active $I(tree-h) \
                ] \
            -border 4 -sticky ew
##PhG: TODO: check this
        #ttk::style configure Treeview -fieldbackground white
        ttk::style configure Row -background "#efefef"
        ttk::style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        ttk::style map Item -foreground [list selected white]
        ttk::style map Cell -foreground [list selected white]


        ## Buttons.
        #
        ttk::style configure TButton -width -11 -anchor center
        ttk::style configure TButton -padding {10 0}
        ttk::style layout TButton {
            Button.focus -children {
                Button.button -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }
#PhG = OK! except selection box
        ttk::style element create Button.button image \
            [list $I(button-n) \
                 pressed $I(button-p) \
                 {selected active} $I(button-sa) \
                 selected $I(button-s) \
                 active $I(button-a) \
                 disabled $I(button-d) \
                ] \
            -border 8 -sticky ew


        ## Checkbuttons.
        #
        ttk::style element create Checkbutton.indicator image \
            [list $I(check-nu) \
                 {disabled selected} $I(check-dc) \
                 disabled $I(check-du) \
                 {pressed selected} $I(check-nc) \
                 pressed $I(check-nu) \
                 {active selected} $I(check-nc) \
                 active $I(check-nu) \
                 selected $I(check-nc) ] \
            -width 24 -sticky w

        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
        ttk::style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        ttk::style element create Radiobutton.indicator image \
             [list $I(radio-nu) \
                  {disabled selected} $I(radio-dc) \
                  disabled $I(radio-du) \
                  {pressed selected} $I(radio-nc) \
                  pressed $I(radio-nu) \
                  {active selected} $I(radio-nc) \
                  active $I(radio-nu) \
                  selected $I(radio-nc) ] \
            -width 24 -sticky w

        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
        ttk::style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #ttk::style configure TMenubutton -relief raised -padding {10 2}
# 	ttk::style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        ttk::style element create Menubutton.border image \
             [list $I(button-n) \
                  selected $I(button-p) \
                  disabled $I(button-d) \
                  active $I(button-a) \
                 ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
###PhG added
ttk::style configure Toolbutton -anchor center
        ttk::style configure Toolbutton -padding -5 -relief flat
        ttk::style configure Toolbutton.label -padding 0 -relief flat

        ttk::style element create Toolbutton.border image \
            [list $I(blank) \
                 pressed $I(toolbutton-p) \
                 {selected active} $I(toolbutton-pa) \
                 selected $I(toolbutton-p) \
                 active $I(toolbutton-a) \
                 disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        ttk::style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        ttk::style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        ttk::style configure TCombobox -selectbackground

        ttk::style element create Combobox.downarrow image \
            [list $I(comboarrow-n) \
                 disabled $I(comboarrow-d) \
                 pressed $I(comboarrow-p) \
                 active $I(comboarrow-a) \
                ] \
            -border 1 -sticky {}

        ttk::style element create Combobox.field image \
            [list $I(combo-n) \
                 {readonly disabled} $I(combo-rd) \
                 {readonly pressed} $I(combo-rp) \
                 {readonly focus} $I(combo-rf) \
                 readonly $I(combo-rn) \
                ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         ttk::style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        ttk::style configure TNotebook.Tab -padding {6 2 6 2}
        ttk::style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        ttk::style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        ttk::style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        ttk::style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        ttk::style element create Horizontal.Scrollbar.thumb image \
            [list $I(sbthumb-hn) \
                 disabled $I(sbthumb-hd) \
                 pressed $I(sbthumb-ha) \
                 active $I(sbthumb-ha)] \
            -border 3

        ttk::style element create Vertical.Scrollbar.thumb image \
            [list $I(sbthumb-vn) \
                 disabled $I(sbthumb-vd) \
                 pressed $I(sbthumb-va) \
                 active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            ttk::style element create ${dir}arrow image \
                [list $I(arrow${dir}-n) \
                     disabled $I(arrow${dir}-d) \
                     pressed $I(arrow${dir}-p) \
                     active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        ttk::style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        ttk::style element create Scale.slider image \
            [list $I(scale-hn) \
                 disabled $I(scale-hd) \
                 active $I(scale-ha) \
                ]

        ttk::style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        ttk::style element create Vertical.Scale.slider image \
            [list $I(scale-vn) \
                 disabled $I(scale-vd) \
                 active $I(scale-va) \
                ]
        ttk::style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        ttk::style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        ttk::style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        ttk::style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        ttk::style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        ttk::style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         ttk::style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         ttk::style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        ttk::style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #ttk::style element create separator image $I(sep-h)
        #ttk::style element create hseparator image $I(sep-h)
        #ttk::style element create vseparator image $I(sep-v)

    }
}

Added themes/aquablue/pkgIndex.tcl.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Package index for tile demo pixmap themes.

if {[file isdirectory [file join $dir aquablue]]} {
    if {![catch {package require Ttk}]} {
        package ifneeded ttk::theme::aquablue 0.1 \
            [list source [file join $dir aquablue8.5.tcl]]
    } elseif {![catch {package require tile}]} {
        package ifneeded tile::theme::aquablue 0.1 \
            [list source [file join $dir aquablue8.4.tcl]]
    } else {
	return
    }
}

Added themes/blue/blue.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# blue.tcl - Copyright (C) 2004 Pat Thoyts <patthoyts@users.sourceforge.net>
#
# blue.tcl,v 1.27 2005/10/08 14:56:57 jenglish Exp
#
#

namespace eval ttk::theme::blue {

    package provide ttk::theme::blue 0.7

    set imgdir [file join [file dirname [info script]] blue]

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format gif89]
        }
    }
    
    array set I [LoadImages $imgdir]

    array set colors {
	-frame  	"#6699cc"
	-lighter	"#bcd2e8"
	-window	 	"#e6f3ff"
	-selectbg	"#ffff33"
	-selectfg	"#000000"
	-disabledfg	"#666666"
    }

    ::ttk::style theme create blue -settings {

	::ttk::style configure . \
	    -borderwidth 	1 \
	    -background 	$colors(-frame) \
	    -fieldbackground	$colors(-window) \
	    -troughcolor	$colors(-lighter) \
	    -selectbackground	$colors(-selectbg) \
	    -selectforeground	$colors(-selectfg) \
	    ;
	::ttk::style map . -foreground [list disabled $colors(-disabledfg)]

	## Buttons.
	#
	::ttk::style configure TButton -padding "10 0"
	::ttk::style layout TButton {
	    Button.button -children {
		Button.focus -children {
		    Button.padding -children {
			Button.label
		    }
		}
	    }
	}

	::ttk::style element create button image [list $I(button-n) \
	    pressed $I(button-p) \
	    active $I(button-h)  \
	    ] -border 4 -sticky ew

	::ttk::style element create Checkbutton.indicator image [list $I(check-nu) \
		{!disabled active selected} $I(check-hc) \
		{!disabled active} $I(check-hu) \
		{!disabled selected} $I(check-nc) ] \
		-width 24 -sticky w

	::ttk::style element create Radiobutton.indicator image [list $I(radio-nu) \
		{!disabled active selected} $I(radio-hc) \
		{!disabled active} $I(radio-hu) \
		selected $I(radio-nc) ] \
		-width 24 -sticky w

	::ttk::style configure TMenubutton -relief raised -padding {10 2}

	## Toolbar buttons.
	#
	::ttk::style configure Toolbutton \
	    -width 0 -relief flat -borderwidth 2 -padding 4 \
	    -background $colors(-frame) -foreground #000000 ;
	::ttk::style map Toolbutton -background [list active $colors(-selectbg)] 
	::ttk::style map Toolbutton -foreground [list active $colors(-selectfg)] 
	::ttk::style map Toolbutton -relief {
	    disabled 	flat
	    selected	sunken  
	    pressed 	sunken  
	    active  	raised
	}

	## Entry widgets.
	#
	::ttk::style configure TEntry \
	    -selectborderwidth 1 -padding 2 -insertwidth 2 -font TkTextFont
	::ttk::style configure TCombobox \
	    -selectborderwidth 1 -padding 2 -insertwidth 2 -font TkTextFont

	## Notebooks.
	#
	::ttk::style configure TNotebook.Tab -padding {4 2 4 2}
	::ttk::style map TNotebook.Tab \
	    -background \
		[list selected $colors(-frame) active $colors(-lighter)] \
	    -padding [list selected {4 4 4 2}]

	## Labelframes.
	#
	::ttk::style configure TLabelframe -borderwidth 2 -relief groove

	## Scrollbars.
	#
	::ttk::style layout Vertical.TScrollbar {
	    Scrollbar.trough -children {
		Scrollbar.uparrow -side top
		Scrollbar.downarrow -side bottom
		Scrollbar.uparrow -side bottom
		Vertical.Scrollbar.thumb -side top -expand true -sticky ns
	    }
	}

	::ttk::style layout Horizontal.TScrollbar {
	    Scrollbar.trough -children {
		Scrollbar.leftarrow -side left
		Scrollbar.rightarrow -side right
		Scrollbar.leftarrow -side right
		Horizontal.Scrollbar.thumb -side left -expand true -sticky we
	    }
	}

	::ttk::style element create Horizontal.Scrollbar.thumb image \
	    [list $I(sb-thumb) \
	        {pressed !disabled} $I(sb-thumb-p)] -border 3

	::ttk::style element create Vertical.Scrollbar.thumb image \
	    [list $I(sb-vthumb) \
	        {pressed !disabled} $I(sb-vthumb-p)] -border 3

	foreach dir {up down left right} {
	    ::ttk::style element create ${dir}arrow image [list $I(arrow${dir}) \
		    disabled $I(arrow${dir}) \
		    pressed $I(arrow${dir}-p) \
		    active $I(arrow${dir}-h)] \
	        -border 1 -sticky {}
	}

	## Scales.
	#
	::ttk::style element create Scale.slider \
	    image [list $I(slider) {pressed !disabled} $I(slider-p)]

	::ttk::style element create Vertical.Scale.slider \
	    image [list $I(vslider) {pressed !disabled} $I(vslider-p)]

	::ttk::style element create Horizontal.Progress.bar \
	    image $I(sb-thumb) -border 2
	::ttk::style element create Vertical.Progress.bar \
	    image $I(sb-vthumb) -border 2

    }
    
}

Added themes/blue/blue/arrowdown-h.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowdown.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowleft-h.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowleft.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowright-h.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowright-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowright.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowup-h.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowup-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/arrowup.gif.

cannot compute difference between binary files

Added themes/blue/blue/button-h.gif.

cannot compute difference between binary files

Added themes/blue/blue/button-n.gif.

cannot compute difference between binary files

Added themes/blue/blue/button-n.xcf.

cannot compute difference between binary files

Added themes/blue/blue/button-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/check-hc.gif.

cannot compute difference between binary files

Added themes/blue/blue/check-hu.gif.

cannot compute difference between binary files

Added themes/blue/blue/check-nc.gif.

cannot compute difference between binary files

Added themes/blue/blue/check-nu.gif.

cannot compute difference between binary files

Added themes/blue/blue/radio-hc.gif.

cannot compute difference between binary files

Added themes/blue/blue/radio-hu.gif.

cannot compute difference between binary files

Added themes/blue/blue/radio-nc.gif.

cannot compute difference between binary files

Added themes/blue/blue/radio-nu.gif.

cannot compute difference between binary files

Added themes/blue/blue/sb-thumb-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/sb-thumb.gif.

cannot compute difference between binary files

Added themes/blue/blue/sb-vthumb-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/sb-vthumb.gif.

cannot compute difference between binary files

Added themes/blue/blue/slider-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/slider.gif.

cannot compute difference between binary files

Added themes/blue/blue/vslider-p.gif.

cannot compute difference between binary files

Added themes/blue/blue/vslider.gif.

cannot compute difference between binary files

Added themes/blue/pkgIndex.tcl.













>
>
>
>
>
>
1
2
3
4
5
6
# Package index for tile demo pixmap themes.

if {[file isdirectory [file join $dir blue]]} {
    package ifneeded ttk::theme::blue 0.7 \
        [list source [file join $dir blue.tcl]]
}

Added themes/clearlooks/clearlooks/arrowdown-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowdown-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowdown-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowleft-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowleft-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowleft-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowright-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowright-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowright-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowright-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowup-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowup-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowup-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/arrowup-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/blank.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/button-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/button-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/button-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/button-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/button-pa.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-ac.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-au.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-dc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-du.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-nc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-nu.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-pc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/check-pu.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-ra.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-rd.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-rf.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-rn.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/combo-rp.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/comboarrow-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/comboarrow-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/comboarrow-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/comboarrow-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/progress-h.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/progress-v.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-ac.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-au.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-dc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-du.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-nc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-nu.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-pc.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/radio-pu.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-ha.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-hd.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-hn.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-hp.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-va.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-vd.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-vn.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sbthumb-vp.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-ha.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-hd.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-hn.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-va.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-vd.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scale-vn.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scaletrough-h.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/scaletrough-v.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sep-h.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sep-v.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/sizegrip.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tab-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tab-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/toolbutton-a.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/toolbutton-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/toolbutton-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/toolbutton-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/toolbutton-pa.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tree-d.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tree-h.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tree-n.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks/tree-p.gif.

cannot compute difference between binary files

Added themes/clearlooks/clearlooks8.4.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# clearlooks.tcl

namespace eval tile::theme::clearlooks {

    package provide tile::theme::clearlooks 0.1

    variable I
    array set I [tile::LoadImages \
                     [file join [file dirname [info script]] clearlooks] *.gif]
    
    variable colors

    array set colors {
        -frame          "#efebe7"
        -lighter        "#f5f3f0"
        -dark           "#cfcdc8"
        -darker         "#9e9a9e"
        -darkest        "#d4cfca"
        -selectbg       "#7c99ad"
        -selectfg       "#ffffff"
        -disabledfg     "#b5b3ac"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
    }


    style theme create clearlooks -parent clam -settings {

        style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         black \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        style configure Frame.border -relief groove

        ## Treeview.
        #
        style element create Treeheading.cell image $I(tree-n) \
            -map [list \
                      selected $I(tree-p) \
                      disabled $I(tree-d) \
                      pressed $I(tree-p) \
                      active $I(tree-h) \
                     ] \
            -border 4 -sticky ew

        #style configure Treeview -fieldbackground white
        style configure Row -background "#efefef"
        style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        style map Item -foreground [list selected white]
        style map Cell -foreground [list selected white]


        ## Buttons.
        #
        #style configure TButton -padding {10 0} -anchor center
        style configure TButton -padding {5 5} -anchor center -width -9
        style layout TButton {
            Button.button -children {
                Button.focus -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }

        style element create button image $I(button-n) \
            -map [list \
                      pressed $I(button-p) \
                      {selected active} $I(button-pa) \
                      selected $I(button-p) \
                      active $I(button-a) \
                      disabled $I(button-d) \
                     ] \
            -border 4 -sticky ew


        ## Checkbuttons.
        #
        style element create Checkbutton.indicator image $I(check-nu) \
            -width 24 -sticky w -map [list \
                {disabled selected} $I(check-dc) \
                disabled $I(check-du) \
                {pressed selected} $I(check-pc) \
                pressed $I(check-pu) \
                {active selected} $I(check-ac) \
                active $I(check-au) \
                selected $I(check-nc) ]

        style map TCheckbutton -background [list active $colors(-checklight)]
        style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        style element create Radiobutton.indicator image $I(radio-nu) \
            -width 24 -sticky w \
            -map [list \
                      {disabled selected} $I(radio-dc) \
                      disabled $I(radio-du) \
                      {pressed selected} $I(radio-pc) \
                      pressed $I(radio-pu) \
                      {active selected} $I(radio-ac) \
                      active $I(radio-au) \
                      selected $I(radio-nc) ]

        style map TRadiobutton -background [list active $colors(-checklight)]
        style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #style configure TMenubutton -relief raised -padding {10 2}
# 	style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        style element create Menubutton.border image $I(button-n) \
            -map [list \
                      selected $I(button-p) \
                      disabled $I(button-d) \
                      active $I(button-a) \
                     ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
        style configure Toolbutton -padding -5 -relief flat
        style configure Toolbutton.label -padding 0 -relief flat

        style element create Toolbutton.border image $I(blank) \
            -map [list \
                      pressed $I(toolbutton-p) \
                      {selected active} $I(toolbutton-pa) \
                      selected $I(toolbutton-p) \
                      active $I(toolbutton-a) \
                      disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        style configure TCombobox -selectbackground

        style element create Combobox.downarrow image $I(comboarrow-n) \
            -map [list \
                          disabled $I(comboarrow-d) \
                          pressed $I(comboarrow-p) \
                          active $I(comboarrow-a) \
                         ] \
            -border 1 -sticky {}

        style element create Combobox.field image $I(combo-n) \
            -map [list \
                      {readonly disabled} $I(combo-rd) \
                      {readonly pressed} $I(combo-rp) \
                      {readonly focus} $I(combo-rf) \
                      readonly $I(combo-rn)
                     ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        style configure TNotebook.Tab -padding {6 2 6 2}
        style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        style element create Horizontal.Scrollbar.thumb image $I(sbthumb-hn) \
            -map [list \
                      disabled $I(sbthumb-hd) \
                      pressed $I(sbthumb-ha) \
                      active $I(sbthumb-ha)] \
            -border 3

        style element create Vertical.Scrollbar.thumb image $I(sbthumb-vn) \
            -map [list \
                      disabled $I(sbthumb-vd) \
                      pressed $I(sbthumb-va) \
                      active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            style element create ${dir}arrow image $I(arrow${dir}-n) \
                -map [list \
                          disabled $I(arrow${dir}-d) \
                          pressed $I(arrow${dir}-p) \
                          active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        style element create Scale.slider image $I(scale-hn) \
            -map [list \
                      disabled $I(scale-hd) \
                      active $I(scale-ha) \
                     ]

        style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        style element create Vertical.Scale.slider image $I(scale-vn) \
            -map [list \
                      disabled $I(scale-vd) \
                      active $I(scale-va) \
                     ]
        style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #style element create separator image $I(sep-h)
        #style element create hseparator image $I(sep-h)
        #style element create vseparator image $I(sep-v)

    }
}

Added themes/clearlooks/clearlooks8.5.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
# clearlooks.tcl

namespace eval ttk::theme::clearlooks {

    package provide ttk::theme::clearlooks 0.1

    proc LoadImages {imgdir {patterns {*.gif}}} {
        foreach pattern $patterns {
            foreach file [glob -directory $imgdir $pattern] {
                set img [file tail [file rootname $file]]
                if {![info exists images($img)]} {
                    set images($img) [image create photo -file $file]
                }
            }
        }
        return [array get images]
    }

    variable I
    array set I [LoadImages \
                     [file join [file dirname [info script]] clearlooks] *.gif]
    
    variable colors

    array set colors {
        -frame          "#efebe7"
        -lighter        "#f5f3f0"
        -dark           "#cfcdc8"
        -darker         "#9e9a9e"
        -darkest        "#d4cfca"
        -selectbg       "#7c99ad"
        -selectfg       "#ffffff"
        -disabledfg     "#b5b3ac"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
    }


    ttk::style theme create clearlooks -parent clam -settings {

        ttk::style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         black \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        ttk::style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        ttk::style configure Frame.border -relief groove

        ## Treeview.
        #
        ttk::style element create Treeheading.cell image \
            [list $I(tree-n) \
                 selected $I(tree-p) \
                 disabled $I(tree-d) \
                 pressed $I(tree-p) \
                 active $I(tree-h) \
                ] \
            -border 4 -sticky ew

        #ttk::style configure Treeview -fieldbackground white
        ttk::style configure Row -background "#efefef"
        ttk::style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        ttk::style map Item -foreground [list selected white]
        ttk::style map Cell -foreground [list selected white]


        ## Buttons.
        #
        ttk::style configure TButton -padding {10 0}
        ttk::style layout TButton {
            Button.button -children {
                Button.focus -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }

        ttk::style element create button image \
            [list $I(button-n) \
                 pressed $I(button-p) \
                 {selected active} $I(button-pa) \
                 selected $I(button-p) \
                 active $I(button-a) \
                 disabled $I(button-d) \
                ] \
            -border 4 -sticky ew


        ## Checkbuttons.
        #
        ttk::style element create Checkbutton.indicator image \
            [list $I(check-nu) \
                 {disabled selected} $I(check-dc) \
                 disabled $I(check-du) \
                 {pressed selected} $I(check-pc) \
                 pressed $I(check-pu) \
                 {active selected} $I(check-ac) \
                 active $I(check-au) \
                 selected $I(check-nc) ] \
            -width 24 -sticky w

        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
        ttk::style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        ttk::style element create Radiobutton.indicator image \
             [list $I(radio-nu) \
                  {disabled selected} $I(radio-dc) \
                  disabled $I(radio-du) \
                  {pressed selected} $I(radio-pc) \
                  pressed $I(radio-pu) \
                  {active selected} $I(radio-ac) \
                  active $I(radio-au) \
                  selected $I(radio-nc) ] \
            -width 24 -sticky w

        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
        ttk::style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #ttk::style configure TMenubutton -relief raised -padding {10 2}
# 	ttk::style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        ttk::style element create Menubutton.border image \
             [list $I(button-n) \
                  selected $I(button-p) \
                  disabled $I(button-d) \
                  active $I(button-a) \
                 ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
        ttk::style configure Toolbutton -padding -5 -relief flat
        ttk::style configure Toolbutton.label -padding 0 -relief flat

        ttk::style element create Toolbutton.border image \
            [list $I(blank) \
                 pressed $I(toolbutton-p) \
                 {selected active} $I(toolbutton-pa) \
                 selected $I(toolbutton-p) \
                 active $I(toolbutton-a) \
                 disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        ttk::style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        ttk::style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        ttk::style configure TCombobox -selectbackground

        ttk::style element create Combobox.downarrow image \
            [list $I(comboarrow-n) \
                 disabled $I(comboarrow-d) \
                 pressed $I(comboarrow-p) \
                 active $I(comboarrow-a) \
                ] \
            -border 1 -sticky {}

        ttk::style element create Combobox.field image \
            [list $I(combo-n) \
                 {readonly disabled} $I(combo-rd) \
                 {readonly pressed} $I(combo-rp) \
                 {readonly focus} $I(combo-rf) \
                 readonly $I(combo-rn) \
                ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         ttk::style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        ttk::style configure TNotebook.Tab -padding {6 2 6 2}
        ttk::style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        ttk::style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        ttk::style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        ttk::style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        ttk::style element create Horizontal.Scrollbar.thumb image \
            [list $I(sbthumb-hn) \
                 disabled $I(sbthumb-hd) \
                 pressed $I(sbthumb-ha) \
                 active $I(sbthumb-ha)] \
            -border 3

        ttk::style element create Vertical.Scrollbar.thumb image \
            [list $I(sbthumb-vn) \
                 disabled $I(sbthumb-vd) \
                 pressed $I(sbthumb-va) \
                 active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            ttk::style element create ${dir}arrow image \
                [list $I(arrow${dir}-n) \
                     disabled $I(arrow${dir}-d) \
                     pressed $I(arrow${dir}-p) \
                     active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        ttk::style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        ttk::style element create Scale.slider image \
            [list $I(scale-hn) \
                 disabled $I(scale-hd) \
                 active $I(scale-ha) \
                ]

        ttk::style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        ttk::style element create Vertical.Scale.slider image \
            [list $I(scale-vn) \
                 disabled $I(scale-vd) \
                 active $I(scale-va) \
                ]
        ttk::style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        ttk::style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        ttk::style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        ttk::style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        ttk::style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        ttk::style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         ttk::style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         ttk::style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        ttk::style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #ttk::style element create separator image $I(sep-h)
        #ttk::style element create hseparator image $I(sep-h)
        #ttk::style element create vseparator image $I(sep-v)

    }
}

Added themes/clearlooks/pkgIndex.tcl.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Package index for tile demo pixmap themes.

if {[file isdirectory [file join $dir clearlooks]]} {
    if {![catch {package require Ttk}]} {
        package ifneeded ttk::theme::clearlooks 0.1 \
            [list source [file join $dir clearlooks8.5.tcl]]
    } elseif {![catch {package require tile}]} {
        package ifneeded tile::theme::clearlooks 0.1 \
            [list source [file join $dir clearlooks8.4.tcl]]
    } else {
	return
    }
}

Added themes/keramik/keramik.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# keramik.tcl - 
#
# A sample pixmap theme for the tile package.
#
#  Copyright (c) 2004 Googie
#  Copyright (c) 2004 Pat Thoyts <patthoyts@users.sourceforge.net>
#
# $Id: keramik.tcl,v 1.13 2010/09/05 13:54:20 sbron Exp $

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

namespace eval ttk {
    namespace eval theme {
        namespace eval keramik {
            variable version 0.6.2
        }
        namespace eval keramik_alt {
	    variable version 0.6.2
	}
    }
}

namespace eval ttk::theme::keramik {

    variable colors
    array set colors {
        -frame      "#cccccc"
        -lighter    "#cccccc"
        -window     "#ffffff"
        -selectbg   "#0a5f89"
        -selectfg   "#ffffff"
        -disabledfg "#aaaaaa"
    }

    variable hover hover
    if {[package vsatisfies [package present Ttk] 8-8.5.9] || \
      [package vsatisfies [package present Ttk] 8.6-8.6b1]} {
        # The hover state is not supported prior to 8.6b1 or 8.5.9
        set hover active
    }

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format gif89]
        }
    }

    LoadImages [file join [file dirname [info script]] keramik]

    ttk::style theme create keramik -parent alt -settings {


        # -----------------------------------------------------------------
        # Theme defaults
        #
        ttk::style configure . \
            -borderwidth 1 \
            -background $colors(-frame) \
            -troughcolor $colors(-lighter) \
            -selectbackground $colors(-selectbg) \
            -selectforeground $colors(-selectfg) \
	    -fieldbackground $colors(-window) \
            -font TkDefaultFont \
            ;

        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
                
        # -----------------------------------------------------------------
        # Button elements
        #  - the button has a large rounded border and needs a bit of
        #    horizontal padding.
        #  - the checkbutton and radiobutton have the focus drawn around 
        #    the whole widget - hence the new layouts.
        #
        ttk::style layout TButton {
            Button.background
            Button.button -children {
                Button.focus -children {
                    Button.label
                }
            }
        }
        ttk::style layout Toolbutton {
            Toolbutton.background
            Toolbutton.button -children {
                Toolbutton.focus -children {
                    Toolbutton.label
                }
            }
        }

        ttk::style element create button image [list $I(button-n) \
                {pressed !disabled}	$I(button-p) \
		selected		$I(button-s) \
                {active !disabled}	$I(button-h) \
                disabled		$I(button-d)] \
            -border {8 6 8 16} -padding {6 6} -sticky news
        ttk::style configure TButton -padding {10 6} -anchor center

        ttk::style element create Toolbutton.button image [list $I(tbar-n) \
                {pressed !disabled}	$I(tbar-p) \
		selected		$I(tbar-p) \
                {active !disabled}	$I(tbar-a)] \
            -border {2 9 2 18} -padding {2 2} -sticky news
	ttk::style configure Toolbutton -anchor center

        ttk::style element create Checkbutton.indicator \
	    image [list $I(check-u) selected $I(check-c)] \
            -width 20 -sticky w

        ttk::style element create Radiobutton.indicator \
	    image [list $I(radio-u) selected $I(radio-c)] \
            -width 20 -sticky w

        # The layout for the menubutton is modified to have a button element
        # drawn on top of the background. This means we can have transparent
        # pixels in the button element. Also, the pixmap has a special
        # region on the right for the arrow. So we draw the indicator as a
        # sibling element to the button, and draw it after (ie on top of) the
        # button image.
        ttk::style layout TMenubutton {
            Menubutton.background
            Menubutton.button -children {
                Menubutton.focus -children {
                    Menubutton.padding -children {
                        Menubutton.label -side left -expand true
                    }
                }
            }
            Menubutton.indicator -side right
        }
        ttk::style element create Menubutton.button image [list $I(mbut-n) \
                {active !disabled}      $I(mbut-a) \
                {pressed !disabled}     $I(mbut-a) \
                {disabled}              $I(mbut-d)] \
            -border {7 10 29 15} -padding {7 4 29 4} -sticky news
        ttk::style element create Menubutton.indicator image $I(mbut-arrow-n) \
            -width 11 -sticky w -padding {0 0 18 0}

	ttk::style element create Combobox.field image [list $I(cbox-n) \
	        [list readonly disabled]	$I(mbut-d) \
		[list readonly $hover]		$I(mbut-a) \
		[list readonly]			$I(mbut-n) \
		[list disabled]			$I(cbox-d) \
		[list $hover]			$I(cbox-a) \
	    ] -border {9 10 32 15} -padding {9 4 8 4} -sticky news
	ttk::style element create Combobox.downarrow image $I(mbut-arrow-n) \
	    -width 11 -sticky e -border {22 0 0 0}

        # -----------------------------------------------------------------
        # Scrollbars, scale and progress elements
        #  - the scrollbar has three arrow buttons, two at the bottom and
        #    one at the top.
        #
        ttk::style layout Vertical.TScrollbar {
            Scrollbar.background 
            Vertical.Scrollbar.trough -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Scrollbar.uparrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }
        
        ttk::style layout Horizontal.TScrollbar {
            Scrollbar.background 
            Horizontal.Scrollbar.trough -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Scrollbar.leftarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        ttk::style element create Horizontal.Scrollbar.thumb \
	    image [list $I(hsb-n) {pressed !disabled} $I(hsb-p)] \
            -border {6 4} -width 15 -height 16 -sticky news
	ttk::style element create Horizontal.Scrollbar.trough image $I(hsb-t)

        ttk::style element create Vertical.Scrollbar.thumb \
	    image [list $I(vsb-n) {pressed !disabled} $I(vsb-p)] \
            -border {4 6} -width 16 -height 15 -sticky news
	ttk::style element create Vertical.Scrollbar.trough image $I(vsb-t)
        
        ttk::style element create Horizontal.Scale.slider image $I(hslider-n) \
	    -border 3
	ttk::style element create Horizontal.Scale.trough image $I(hslider-t) \
	    -border {6 1 7 0} -padding 0 -sticky wes
        
        ttk::style element create Vertical.Scale.slider image $I(vslider-n) \
            -border 3
	ttk::style element create Vertical.Scale.trough image $I(vslider-t) \
	    -border {1 6 0 7} -padding 0 -sticky nes
        
        ttk::style element create Horizontal.Progressbar.pbar \
	    image $I(progress-h) -border {1 1 6}
        
        ttk::style element create Vertical.Progressbar.pbar \
	    image $I(progress-v) -border {1 6 1 1}
        
        ttk::style element create uparrow \
	    image [list $I(arrowup-n) {pressed !disabled} $I(arrowup-p)]
                  
        ttk::style element create downarrow \
	    image [list $I(arrowdown-n) {pressed !disabled} $I(arrowdown-p)]

        ttk::style element create rightarrow \
	    image [list $I(arrowright-n) {pressed !disabled} $I(arrowright-p)]

        ttk::style element create leftarrow \
	    image [list $I(arrowleft-n) {pressed !disabled} $I(arrowleft-p)]

	# Treeview elements
	#
	ttk::style element create Treeheading.cell \
	    image [list $I(tree-n) pressed $I(tree-p)] \
	    -border {5 15 5 8} -padding 12 -sticky ewns

        # -----------------------------------------------------------------
        # Notebook elements
        #
        ttk::style element create tab \
	    image [list $I(tab-n) selected $I(tab-p) active $I(tab-p)] \
            -border {6 6 6 4} -padding {6 3} -height 12

	ttk::style configure TNotebook -tabmargins {0 3 0 0}
	ttk::style map TNotebook.Tab \
	    -expand [list selected {0 3 2 2} !selected {0 0 2}]

	## Settings.
	#
	ttk::style configure TLabelframe -borderwidth 2 -relief groove

	# Spinbox (only available since 8.6b1 or 8.5.9)
	ttk::style layout TSpinbox {
	    Spinbox.field -side top -sticky we -children {
		Spinbox.arrows -side right -sticky ns -children {
		    null -side right -sticky {} -children {
			Spinbox.uparrow -side top -sticky w
			Spinbox.downarrow -side bottom -sticky w
		    }
		}
		Spinbox.padding -sticky nswe -children {
		    Spinbox.textarea -sticky nswe
		}
	    }
	}
	ttk::style element create Spinbox.arrows image $I(spinbox-a) \
	  -border {0 9} -padding 0
	ttk::style element create Spinbox.uparrow \
	  image [list $I(spinup-n) {pressed !disabled} $I(spinup-p)]
	ttk::style element create Spinbox.downarrow \
	  image [list $I(spindown-n) {pressed !disabled} $I(spindown-p)]
	    
	# Treeview (since 8.6b1 or 8.5.9)
	ttk::style configure Treeview -background $colors(-window)
	ttk::style map Treeview \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]

	# Treeview (older version)
	ttk::style configure Treeview.Row -background $colors(-window)
	ttk::style configure Row -background $colors(-window)
	ttk::style configure Cell -background $colors(-window)
	ttk::style map Row \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
      	ttk::style map Cell \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
	ttk::style map Item \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
    }
}

namespace eval ttk::theme::keramik_alt {

    variable colors
    array set colors {
        -frame      "#cccccc"
        -lighter    "#cccccc"
        -window     "#ffffff"
        -selectbg   "#0a5f89"
        -selectfg   "#ffffff"
        -disabledfg "#aaaaaa"
    }

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format gif89]
        }
    }

    LoadImages [file join [file dirname [info script]] keramik_alt]

    ttk::style theme create keramik_alt -parent keramik -settings {

        # -----------------------------------------------------------------
        # Theme defaults
        #
        ttk::style configure . \
            -borderwidth 1 \
            -background $colors(-frame) \
            -troughcolor $colors(-lighter) \
            -selectbackground $colors(-selectbg) \
            -selectforeground $colors(-selectfg) \
	    -fieldbackground $colors(-window) \
            -font TkDefaultFont \
            ;

        ttk::style map . -foreground [list disabled $colors(-disabledfg)]

	# The alternative keramik theme doesn't have the conspicuous
	# highlighted scrollbars of the main keramik theme.
	#
        ttk::style element create Vertical.Scrollbar.thumb \
            image [list $I(vsb-a) {pressed !disabled} $I(vsb-h)] \
            -border {4 6} -width 16 -height 15 -sticky news
        ttk::style element create Horizontal.Scrollbar.thumb \
	    image [list $I(hsb-a) {pressed !disabled} $I(hsb-h)] \
	    -border {6 4} -width 15 -height 16 -sticky news

	# Repeat the settings because they don't seem to be copied from the
	# parent theme.
	#
        ttk::style configure TButton -padding {10 6} -anchor center
	ttk::style configure Toolbutton -anchor center
	ttk::style configure TNotebook -tabmargins {0 3 0 0}
	ttk::style map TNotebook.Tab \
		-expand [list selected {0 3 2 2} !selected {0 0 2}]

	ttk::style configure TLabelframe -borderwidth 2 -relief groove

	# Treeview (since 8.6b1 or 8.5.9)
	ttk::style configure Treeview -background $colors(-window)
	ttk::style map Treeview \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]

	# Treeview (older version)
	ttk::style configure Treeview -padding 0
	ttk::style configure Treeview.Row -background $colors(-window)
	ttk::style configure Row -background $colors(-window)
	ttk::style configure Cell -background $colors(-window)
	ttk::style map Row \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
	ttk::style map Cell \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
	ttk::style map Item \
	  -background [list selected $colors(-selectbg)] \
	  -foreground [list selected $colors(-selectfg)]
    }
}

package provide ttk::theme::keramik $::ttk::theme::keramik::version
package provide ttk::theme::keramik_alt $::ttk::theme::keramik_alt::version

Added themes/keramik/keramik/arrowdown-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowleft-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowright-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowright-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowup-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/arrowup-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/button-d.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/button-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/button-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/button-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/button-s.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/cbox-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/cbox-d.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/cbox-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/check-c.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/check-u.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hsb-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hsb-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hsb-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hsb-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hsb-t.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hslider-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/hslider-t.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/indicator-c.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/indicator-o.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/mbut-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/mbut-arrow-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/mbut-d.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/mbut-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/progress-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/progress-v.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/radio-c.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/radio-u.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/spinbox-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/spindown-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/spindown-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/spinup-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/spinup-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tab-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tab-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tab-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tbar-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tbar-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tbar-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tree-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/tree-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vsb-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vsb-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vsb-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vsb-p.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vsb-t.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vslider-n.gif.

cannot compute difference between binary files

Added themes/keramik/keramik/vslider-t.gif.

cannot compute difference between binary files

Added themes/keramik/keramik_alt/hsb-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik_alt/hsb-h.gif.

cannot compute difference between binary files

Added themes/keramik/keramik_alt/vsb-a.gif.

cannot compute difference between binary files

Added themes/keramik/keramik_alt/vsb-h.gif.

cannot compute difference between binary files

Added themes/keramik/pkgIndex.tcl.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# pkgIndex.tcl for additional tile pixmap themes.
#
# 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.12 2010/09/05 13:59:44 sbron Exp $

if {![file isdirectory [file join $dir keramik]]} { return }
if {![package vsatisfies [package provide Tcl] 8.4]} { return }

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

Added themes/kroc/kroc.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# kroc.tcl - Copyright (C) 2004 David Zolli <kroc@kroc.tk>
#
# A sample pixmap theme for the tile package.

#package require tile::pixmap

namespace eval ttk::kroc {
    
    package provide ttk::theme::kroc 0.0.1
    
    set imgdir [file join [file dirname [info script]] kroc]

    proc LoadImages {imgdir} {
        variable Images
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set Images($img) [image create photo -file $file -format gif89]
        }
    }
    array set Images [LoadImages $imgdir]
    set TNoteBook_Tab TNotebook.Tab
    
    ::ttk::style theme create kroc -parent alt -settings {
        
        ::ttk::style configure . -background #FCB64F -troughcolor #F8C278 -borderwidth 1
	    ::ttk::style configure . -font TkDefaultFont -borderwidth 1
        ::ttk::style map . -background [list active #694418]
        ::ttk::style map . -foreground [list disabled #B2B2B2 active #FFE7CB]
        
        ::ttk::style configure TButton -padding "10 4"
        
        ::ttk::style configure $TNoteBook_Tab -padding {10 3} -font TkDefaultFont
        ::ttk::style map $TNoteBook_Tab \
                -background [list selected #FCB64F {} #FFE6BA] \
                -foreground [list {} black] \
                -padding [list selected {10 6 10 3}]

        ::ttk::style map TScrollbar \
		    -background	{ pressed #694418} \
                    -arrowcolor	{ pressed #FFE7CB } \
                    -relief		{ pressed sunken } \
                    ;
        
        ::ttk::style layout Vertical.TScrollbar {
            Scrollbar.trough -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Scrollbar.uparrow -side bottom
                Scrollbar.thumb -side top -expand true
            }
        }
        
        ::ttk::style layout Horizontal.TScrollbar {
            Scrollbar.trough -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Scrollbar.leftarrow -side right
                Scrollbar.thumb -side left -expand true
            }
        }
        
        #
        # Elements:
        #
        ::ttk::style element create Button.button image [list  \
                $Images(button-n) \
                pressed		$Images(button-p) \
                active		$Images(button-h) \
                ] -border 3 -sticky ew
        
        ::ttk::style element create Checkbutton.indicator image [list \
                $Images(check-nu) \
                {pressed selected}	$Images(check-nc) \
                pressed		$Images(check-nu) \
                {active selected}	$Images(check-hc) \
                active		$Images(check-hu) \
                selected		$Images(check-nc) \
                ] -sticky w
        
        ::ttk::style element create Radiobutton.indicator image [list \
                $Images(radio-nu) \
                {pressed selected}	$Images(radio-nc) \
                pressed		$Images(radio-nu) \
                {active selected}	$Images(radio-hc) \
                active		$Images(radio-hu) \
                selected		$Images(radio-nc) \
                ] -sticky w

        #
        # Settings: (*button.background is not needed in tile 0.5 or above)
        #
        ::ttk::style layout TButton {
	        Button.button -children {
		        Button.focus -children {
		            Button.padding -children {
			        Button.label -expand true -sticky {}
		            }
		        }
	        }
        }

        ::ttk::style layout TCheckbutton {
	    Checkbutton.border -children {
		Checkbutton.background
		Checkbutton.padding -children {
		    Checkbutton.indicator -side left
		    Checkbutton.focus -side left -children {
			Checkbutton.label
		    }
		}
            }
        }
        
        ::ttk::style layout TRadiobutton {
            Radiobutton.border -children {
                Radiobutton.background
                Radiobutton.padding -children  {
                    Radiobutton.indicator -side left
                    Radiobutton.focus -expand true -sticky w -children {
                        Radiobutton.label -side right -expand true
                    }
                }
            }
        }
        
    } 
}


Added themes/kroc/kroc/button-h.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/button-n.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/button-p.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/check-hc.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/check-hu.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/check-nc.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/check-nu.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/radio-hc.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/radio-hu.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/radio-nc.gif.

cannot compute difference between binary files

Added themes/kroc/kroc/radio-nu.gif.

cannot compute difference between binary files

Added themes/kroc/pkgIndex.tcl.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# pkgIndex.tcl for additional tile pixmap themes.
#
# 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 11708 2007-02-12 23:01:19Z shyouhei $

if {![file isdirectory [file join $dir kroc]]} { return }
if {![package vsatisfies [package provide Tcl] 8.4]} { return }

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

Added themes/plastik/pkgIndex.tcl.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# pkgIndex.tcl for additional tile pixmap themes.
#
# 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.8 2010/09/05 13:59:44 sbron Exp $

if {![file isdirectory [file join $dir plastik]]} { return }
if {![package vsatisfies [package provide Tcl] 8.4]} { return }

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

Added 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# plastik.tcl - Copyright (C) 2004 Googie
#
# A sample pixmap theme for the tile package.
#
#  Copyright (c) 2004 Googie
#  Copyright (c) 2005 Pat Thoyts <patthoyts@users.sourceforge.net>
#
# $Id: plastik.tcl,v 1.14 2011/06/26 21:22:18 sbron Exp $

package require Tk 8.4
package require tile 0.8.0

namespace eval ttk::theme::plastik {

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

    variable colors
    array set colors {
    	-frame 		"#efefef"
	-disabledfg	"#aaaaaa"
	-selectbg	"#657a9e"
	-selectfg	"#ffffff"
	-window		"#ffffff"
    }

    variable hover hover
    if {[package vsatisfies [package present Ttk] 8-8.5.9] || \
      [package vsatisfies [package present Ttk] 8.6-8.6b1]} {
	# The hover state is not supported prior to 8.6b1 or 8.5.9
	set hover active
    }

    proc LoadImages {imgdir} {
        variable I
        foreach file [glob -directory $imgdir *.gif] {
            set img [file tail [file rootname $file]]
            set I($img) [image create photo -file $file -format gif89]
        }
    }

    LoadImages [file join [file dirname [info script]] plastik]

ttk::style theme create plastik -parent default -settings {
    ttk::style configure . \
    	-background $colors(-frame) \
	-troughcolor $colors(-frame) \
	-selectbackground $colors(-selectbg) \
	-selectforeground $colors(-selectfg) \
	-fieldbackground $colors(-window) \
	-font TkDefaultFont \
	-borderwidth 1 \
	;

    ttk::style map . -foreground [list disabled $colors(-disabledfg)]

    #
    # Layouts:
    #
    ttk::style layout Vertical.TScrollbar {
	Vertical.Scrollbar.uparrow -side top -sticky {}
	Vertical.Scrollbar.downarrow -side bottom -sticky {}
	Vertical.Scrollbar.uparrow -side bottom -sticky {}
	Vertical.Scrollbar.trough -sticky ns -children {
	    Vertical.Scrollbar.thumb -expand 1 -unit 1 -children {
		Vertical.Scrollbar.grip -sticky {}
	    }
	}
    }

    ttk::style layout Horizontal.TScrollbar {
	Horizontal.Scrollbar.leftarrow -side left -sticky {}
	Horizontal.Scrollbar.rightarrow -side right -sticky {}
	Horizontal.Scrollbar.leftarrow -side right -sticky {}
	Horizontal.Scrollbar.trough -sticky ew -children {
	    Horizontal.Scrollbar.thumb -expand 1 -unit 1 -children {
		Horizontal.Scrollbar.grip -sticky {}
	    }
        }
    }

    ttk::style layout TButton {
        Button.button -children {
	    Button.focus -children {
		Button.padding -children {
		    Button.label -side left -expand true
		}
	    }
	}
    }

    ttk::style layout Toolbutton {
        Toolbutton.border -children {
            Toolbutton.button -children {
                Toolbutton.padding -children {
                    Toolbutton.label -side left -expand true
                }
            }
        }
    }

    ttk::style layout TMenubutton {
	Menubutton.button -children {
	    Menubutton.indicator -side right
	    Menubutton.focus -children {
		Menubutton.padding -children {
		    Menubutton.label -side left -expand true
		}
	    }
	}
    }

    #
    # Elements:
    #
    ttk::style element create Button.button image [list $I(button-n) \
	    pressed	$I(button-p) \
	    active	$I(button-h) \
	] -border {4 10} -padding 4 -sticky ewns
    ttk::style element create Toolbutton.button image [list $I(tbutton-n) \
	    selected		$I(tbutton-p) \
	    pressed		$I(tbutton-p) \
	    {active !disabled}	$I(tbutton-h) \
	] -border {4 9} -padding 3 -sticky news

    ttk::style element create Checkbutton.indicator image [list $I(check-nu) \
	    {active selected}	$I(check-hc) \
	    {pressed selected}	$I(check-pc) \
	    active              $I(check-hu) \
	    selected            $I(check-nc) \
	] -sticky {}

    ttk::style element create Radiobutton.indicator image [list $I(radio-nu) \
	    {active selected}	$I(radio-hc) \
	    {pressed selected}  $I(radio-pc) \
	    active              $I(radio-hu) \
	    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 \
	image [list $I(arrowright-n) pressed $I(arrowright-p)] -sticky {}

    ttk::style element create Horizontal.Scale.slider image $I(hslider-n) \
	-sticky {}
    ttk::style element create Horizontal.Scale.trough image $I(hslider-t) \
	-border 1 -padding 0
    ttk::style element create Vertical.Scale.slider image $I(vslider-n) \
	-sticky {}
    ttk::style element create Vertical.Scale.trough image $I(vslider-t) \
	-border 1 -padding 0

    ttk::style element create Entry.field \
	image [list $I(entry-n) focus $I(entry-f)] \
	-border 2 -padding {3 4} -sticky news

    ttk::style element create Labelframe.border image $I(border) \
	-border 4 -padding 4 -sticky news

    ttk::style element create Menubutton.button \
	image [list $I(combo-r) active $I(combo-ra)] \
	-sticky news -border {4 6 24 15} -padding {4 4 5}
    ttk::style element create Menubutton.indicator \
      image [list $I(arrow-n) disabled $I(arrow-d)] \
      -sticky e -border {15 0 0 0}

    ttk::style element create Combobox.field \
	image [list $I(combo-n) \
	    [list readonly $hover !disabled]	$I(combo-ra) \
	    [list focus $hover !disabled]	$I(combo-fa) \
	    [list $hover !disabled]		$I(combo-a) \
	    [list !readonly focus !disabled]	$I(combo-f) \
	    [list !readonly disabled]		$I(combo-d) \
	    readonly				$I(combo-r) \
	] -border {4 6 24 15} -padding {4 4 5} -sticky news
    ttk::style element create Combobox.downarrow \
      image [list $I(arrow-n) disabled $I(arrow-d)] \
      -sticky e -border {15 0 0 0}

    ttk::style element create Notebook.client image $I(notebook-c) -border 4
    ttk::style element create Notebook.tab image [list $I(notebook-tn) \
	    selected	$I(notebook-ts) \
	    active	$I(notebook-ta) \
	] -padding {0 2 0 0} -border {4 10 4 10}

    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

    # Use the treeview item indicator from the alt theme, as that looks better
    ttk::style element create Treeitem.indicator from alt

    #
    # Settings:
    #
    ttk::style configure TButton -width -10 -anchor center
    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}]

    # Spinbox (only available since 8.6b1 or 8.5.9)
    ttk::style layout TSpinbox {
	Spinbox.field -side top -sticky we -children {
	    Spinbox.buttons -side right -border 1 -children {
		null -side right -sticky {} -children {
		    Spinbox.uparrow -side top -sticky e
		    Spinbox.downarrow -side bottom -sticky e
		}
	    }
	    Spinbox.padding -sticky nswe -children {
		Spinbox.textarea -sticky nswe
	    }
	}
    }
    ttk::style element create Spinbox.field \
      image [list $I(spinbox-n) focus $I(spinbox-f)] \
      -border {2 2 18 2} -padding {3 0 0} -sticky news
    ttk::style element create Spinbox.buttons \
      image [list $I(spinbut-n) [list $hover !disabled] $I(spinbut-a)] \
      -border {5 3 3} -padding {0 0 1 0}
    ttk::style element create Spinbox.uparrow image [list $I(spinup-n) \
      disabled	$I(spinup-d) \
      pressed	$I(spinup-p) \
      ]
    ttk::style element create Spinbox.downarrow image [list $I(spindown-n) \
      disabled	$I(spindown-d) \
      pressed	$I(spindown-p) \
      ]
    ttk::style element create Spinbox.padding image $I(spinbut-n) \
      -border {0 3}
    
    # Treeview (since 8.6b1 or 8.5.9)
    ttk::style configure Treeview -background $colors(-window)
    ttk::style map Treeview \
      -background [list selected $colors(-selectbg)] \
      -foreground [list selected $colors(-selectfg)]

    # Treeview (older version)
    ttk::style configure Row -background $colors(-window)
    ttk::style configure Cell -background $colors(-window)
    ttk::style map Row \
      -background [list selected $colors(-selectbg)] \
      -foreground [list selected $colors(-selectfg)]
    ttk::style map Cell \
      -background [list selected $colors(-selectbg)] \
      -foreground [list selected $colors(-selectfg)]
    ttk::style map Item \
      -background [list selected $colors(-selectbg)] \
      -foreground [list selected $colors(-selectfg)]
} }

Added themes/plastik/plastik/arrow-d.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrow-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowdown-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowleft-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowright-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowright-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowup-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/arrowup-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/border.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/button-h.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/button-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/button-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/check-hc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/check-hu.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/check-nc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/check-nu.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/check-pc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-a.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-d.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-f.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-fa.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-r.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/combo-ra.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/entry-f.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/entry-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hprogress-b.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hprogress-t.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hsb-g.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hsb-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hsb-t.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hslider-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/hslider-t.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/notebook-c.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/notebook-ta.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/notebook-tn.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/notebook-ts.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/radio-hc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/radio-hu.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/radio-nc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/radio-nu.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/radio-pc.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinbox-f.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinbox-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinbut-a.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinbut-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spindown-d.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spindown-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spindown-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinup-d.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinup-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/spinup-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/tbutton-h.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/tbutton-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/tbutton-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/tree-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/tree-p.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vprogress-b.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vsb-g.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vsb-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vsb-t.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vslider-n.gif.

cannot compute difference between binary files

Added themes/plastik/plastik/vslider-t.gif.

cannot compute difference between binary files

Added themes/radiance/pkgIndex.tcl.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Package index for tile demo pixmap themes.

if {[file isdirectory [file join $dir radiance]]} {
    if {![catch {package require Ttk}]} {
        package ifneeded ttk::theme::radiance 0.1 \
            [list source [file join $dir radiance8.5.tcl]]
    } elseif {![catch {package require tile}]} {
        package ifneeded tile::theme::radiance 0.1 \
            [list source [file join $dir radiance8.4.tcl]]
    } else {
	return
    }
}

Added themes/radiance/radiance/arrowdown-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowdown-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowdown-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowdown-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowleft-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowleft-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowleft-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowleft-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowright-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowright-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowright-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowright-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowup-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowup-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowup-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/arrowup-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/blank.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-s.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/button-sa.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/check-dc.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/check-du.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/check-nc.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/check-nu.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-ra.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-rd.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-rf.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-rn.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/combo-rp.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/comboarrow-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/comboarrow-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/comboarrow-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/comboarrow-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/progress-h.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/progress-v.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/radio-dc.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/radio-du.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/radio-nc.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/radio-nu.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-ha.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-hd.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-hn.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-hp.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-va.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-vd.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-vn.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sbthumb-vp.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-ha.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-hd.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-hn.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-va.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-vd.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scale-vn.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scaletrough-h.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/scaletrough-v.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sep-h.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sep-v.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/sizegrip.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tab-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tab-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/toolbutton-a.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/toolbutton-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/toolbutton-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/toolbutton-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/toolbutton-pa.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tree-d.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tree-h.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tree-n.gif.

cannot compute difference between binary files

Added themes/radiance/radiance/tree-p.gif.

cannot compute difference between binary files

Added themes/radiance/radiance8.4.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# radiance.tcl

namespace eval tile::theme::radiance {

    package provide tile::theme::radiance 0.1

    variable I
    array set I [tile::LoadImages \
                     [file join [file dirname [info script]] radiance] *.gif]
    
    variable colors

    array set colors {
        -frame          "#efebe7"
        -lighter        "#f5f3f0"
        -dark           "#cfcdc8"
        -darker         "#9e9a9e"
        -darkest        "#d4cfca"
        -selectbg       "#7c99ad"
        -selectfg       "#ffffff"
        -disabledfg     "#b5b3ac"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
    }


    style theme create radiance -parent clam -settings {

        style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         black \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        style configure Frame.border -relief groove

        ## Treeview.
        #
        style element create Treeheading.cell image $I(tree-n) \
            -map [list \
                      selected $I(tree-p) \
                      disabled $I(tree-d) \
                      pressed $I(tree-p) \
                      active $I(tree-h) \
                     ] \
            -border 4 -sticky ew

        #style configure Treeview -fieldbackground white
        style configure Row -background "#efefef"
        style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        style map Item -foreground [list selected white]
        style map Cell -foreground [list selected white]


        ## Buttons.
        #
        #style configure TButton -padding {10 0} -anchor center
        style configure TButton -padding {5 5} -anchor center -width -9
        style layout TButton {
            Button.button -children {
                Button.focus -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }

        style element create button image $I(button-n) \
            -map [list \
                      pressed $I(button-p) \
                      {selected active} $I(button-pa) \
                      selected $I(button-p) \
                      active $I(button-a) \
                      disabled $I(button-d) \
                     ] \
            -border 4 -sticky ew


        ## Checkbuttons.
        #
        style element create Checkbutton.indicator image $I(check-nu) \
            -width 24 -sticky w -map [list \
                {disabled selected} $I(check-dc) \
                disabled $I(check-du) \
                {pressed selected} $I(check-pc) \
                pressed $I(check-pu) \
                {active selected} $I(check-ac) \
                active $I(check-au) \
                selected $I(check-nc) ]

        style map TCheckbutton -background [list active $colors(-checklight)]
        style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        style element create Radiobutton.indicator image $I(radio-nu) \
            -width 24 -sticky w \
            -map [list \
                      {disabled selected} $I(radio-dc) \
                      disabled $I(radio-du) \
                      {pressed selected} $I(radio-pc) \
                      pressed $I(radio-pu) \
                      {active selected} $I(radio-ac) \
                      active $I(radio-au) \
                      selected $I(radio-nc) ]

        style map TRadiobutton -background [list active $colors(-checklight)]
        style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #style configure TMenubutton -relief raised -padding {10 2}
# 	style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        style element create Menubutton.border image $I(button-n) \
            -map [list \
                      selected $I(button-p) \
                      disabled $I(button-d) \
                      active $I(button-a) \
                     ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
        style configure Toolbutton -padding -5 -relief flat
        style configure Toolbutton.label -padding 0 -relief flat

        style element create Toolbutton.border image $I(blank) \
            -map [list \
                      pressed $I(toolbutton-p) \
                      {selected active} $I(toolbutton-pa) \
                      selected $I(toolbutton-p) \
                      active $I(toolbutton-a) \
                      disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        style configure TCombobox -selectbackground

        style element create Combobox.downarrow image $I(comboarrow-n) \
            -map [list \
                          disabled $I(comboarrow-d) \
                          pressed $I(comboarrow-p) \
                          active $I(comboarrow-a) \
                         ] \
            -border 1 -sticky {}

        style element create Combobox.field image $I(combo-n) \
            -map [list \
                      {readonly disabled} $I(combo-rd) \
                      {readonly pressed} $I(combo-rp) \
                      {readonly focus} $I(combo-rf) \
                      readonly $I(combo-rn)
                     ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        style configure TNotebook.Tab -padding {6 2 6 2}
        style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        style element create Horizontal.Scrollbar.thumb image $I(sbthumb-hn) \
            -map [list \
                      disabled $I(sbthumb-hd) \
                      pressed $I(sbthumb-ha) \
                      active $I(sbthumb-ha)] \
            -border 3

        style element create Vertical.Scrollbar.thumb image $I(sbthumb-vn) \
            -map [list \
                      disabled $I(sbthumb-vd) \
                      pressed $I(sbthumb-va) \
                      active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            style element create ${dir}arrow image $I(arrow${dir}-n) \
                -map [list \
                          disabled $I(arrow${dir}-d) \
                          pressed $I(arrow${dir}-p) \
                          active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        style element create Scale.slider image $I(scale-hn) \
            -map [list \
                      disabled $I(scale-hd) \
                      active $I(scale-ha) \
                     ]

        style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        style element create Vertical.Scale.slider image $I(scale-vn) \
            -map [list \
                      disabled $I(scale-vd) \
                      active $I(scale-va) \
                     ]
        style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #style element create separator image $I(sep-h)
        #style element create hseparator image $I(sep-h)
        #style element create vseparator image $I(sep-v)

    }
}

Added themes/radiance/radiance8.5.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# radiance.tcl
## TODO: make default button a little bit darker

namespace eval ttk::theme::radiance {

    package provide ttk::theme::radiance 0.1

    proc LoadImages {imgdir {patterns {*.gif}}} {
        foreach pattern $patterns {
            foreach file [glob -directory $imgdir $pattern] {
                set img [file tail [file rootname $file]]
                if {![info exists images($img)]} {
                    set images($img) [image create photo -file $file]
                }
            }
        }
        return [array get images]
    }

    variable I
    array set I [LoadImages \
                     [file join [file dirname [info script]] radiance] *.gif]
    
    variable colors

    array set colors {
            -frame          "#f6f4f2"
            -lighter        "#f9f9f9"
            -dark           "#d1c8c0"
            -darker         "#c3bab0"
            -darkest        "#a89c91"
            -selectbg       "#ed7442"
            -selectfg       "#ffffff"
            -disabledfg     "#9e928a"
        -entryfocus     "#6f9dc6"
        -tabbg          "#c9c1bc"
        -tabborder      "#b5aca7"
        -troughcolor    "#d7cbbe"
        -troughborder   "#ae9e8e"
        -checklight     "#f5f3f0"
            -text           "#62564f"
    }

    #PhG: change fonts... should not fail if font is not there!
    font configure TkDefaultFont -family Ubuntu -size 11

    ttk::style theme create radiance -parent clam -settings {

        ttk::style configure . \
            -borderwidth        1 \
            -background         $colors(-frame) \
            -foreground         $colors(-text) \
            -bordercolor        $colors(-darkest) \
            -darkcolor          $colors(-dark) \
            -lightcolor         $colors(-lighter) \
            -troughcolor        $colors(-troughcolor) \
            -selectforeground   $colors(-selectfg) \
            -selectbackground   $colors(-selectbg) \
            -font               TkDefaultFont \
            ;

        ttk::style map . \
            -background [list disabled $colors(-frame) \
                             active $colors(-lighter)] \
            -foreground [list disabled $colors(-disabledfg)] \
            -selectbackground [list !focus $colors(-darker)] \
            -selectforeground [list !focus white] \
            ;


#        ttk::style configure Frame.border -relief groove

        ## Treeview.
        #
        ttk::style element create Treeheading.cell image \
            [list $I(tree-n) \
                 selected $I(tree-p) \
                 disabled $I(tree-d) \
                 pressed $I(tree-p) \
                 active $I(tree-h) \
                ] \
            -border 4 -sticky ew
##PhG: TODO: check this
        #ttk::style configure Treeview -fieldbackground white
        ttk::style configure Row -background "#efefef"
        ttk::style map Row -background [list \
                                       {focus selected} "#71869e" \
                                       selected "#969286" \
                                       alternate white]
        ttk::style map Item -foreground [list selected white]
        ttk::style map Cell -foreground [list selected white]


        ## Buttons.
        #
        ttk::style configure TButton -width -11 -anchor center
        ttk::style configure TButton -padding {10 0}
        ttk::style layout TButton {
            Button.focus -children {
                Button.button -children {
                    Button.padding -children {
                        Button.label
                    }
                }
            }
        }
#PhG = OK! except selection box
        ttk::style element create Button.button image \
            [list $I(button-n) \
                 pressed $I(button-p) \
                 {selected active} $I(button-sa) \
                 selected $I(button-s) \
                 active $I(button-a) \
                 disabled $I(button-d) \
                ] \
            -border 8 -sticky ew


        ## Checkbuttons.
        #
        ttk::style element create Checkbutton.indicator image \
            [list $I(check-nu) \
                 {disabled selected} $I(check-dc) \
                 disabled $I(check-du) \
                 {pressed selected} $I(check-nc) \
                 pressed $I(check-nu) \
                 {active selected} $I(check-nc) \
                 active $I(check-nu) \
                 selected $I(check-nc) ] \
            -width 24 -sticky w

        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
        ttk::style configure TCheckbutton -padding 1


        ## Radiobuttons.
        #
        ttk::style element create Radiobutton.indicator image \
             [list $I(radio-nu) \
                  {disabled selected} $I(radio-dc) \
                  disabled $I(radio-du) \
                  {pressed selected} $I(radio-nc) \
                  pressed $I(radio-nu) \
                  {active selected} $I(radio-nc) \
                  active $I(radio-nu) \
                  selected $I(radio-nc) ] \
            -width 24 -sticky w

        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
        ttk::style configure TRadiobutton -padding 1


        ## Menubuttons.
        #
        #ttk::style configure TMenubutton -relief raised -padding {10 2}
# 	ttk::style element create Menubutton.border image $I(toolbutton-n) \
# 	    -map [list \
#                       pressed $I(toolbutton-p) \
#                       selected $I(toolbutton-p) \
#                       active $I(toolbutton-a) \
#                       disabled $I(toolbutton-n)] \
# 	    -border {4 7 4 7} -sticky nsew

        ttk::style element create Menubutton.border image \
             [list $I(button-n) \
                  selected $I(button-p) \
                  disabled $I(button-d) \
                  active $I(button-a) \
                 ] \
            -border 4 -sticky ew


        ## Toolbar buttons.
        #
###PhG added
ttk::style configure Toolbutton -anchor center
        ttk::style configure Toolbutton -padding -5 -relief flat
        ttk::style configure Toolbutton.label -padding 0 -relief flat

        ttk::style element create Toolbutton.border image \
            [list $I(blank) \
                 pressed $I(toolbutton-p) \
                 {selected active} $I(toolbutton-pa) \
                 selected $I(toolbutton-p) \
                 active $I(toolbutton-a) \
                 disabled $I(blank)] \
            -border 11 -sticky nsew


        ## Entry widgets.
        #
        ttk::style configure TEntry -padding 1 -insertwidth 1 \
            -fieldbackground white

        ttk::style map TEntry \
            -fieldbackground [list readonly $colors(-frame)] \
            -bordercolor     [list focus $colors(-selectbg)] \
            -lightcolor      [list focus $colors(-entryfocus)] \
            -darkcolor       [list focus $colors(-entryfocus)] \
            ;


        ## Combobox.
        #
        ttk::style configure TCombobox -selectbackground

        ttk::style element create Combobox.downarrow image \
            [list $I(comboarrow-n) \
                 disabled $I(comboarrow-d) \
                 pressed $I(comboarrow-p) \
                 active $I(comboarrow-a) \
                ] \
            -border 1 -sticky {}

        ttk::style element create Combobox.field image \
            [list $I(combo-n) \
                 {readonly disabled} $I(combo-rd) \
                 {readonly pressed} $I(combo-rp) \
                 {readonly focus} $I(combo-rf) \
                 readonly $I(combo-rn) \
                ] \
            -border 4 -sticky ew


        ## Notebooks.
        #
#         ttk::style element create tab image $I(tab-a) -border {2 2 2 0} \
#             -map [list selected $I(tab-n)]

        ttk::style configure TNotebook.Tab -padding {6 2 6 2}
        ttk::style map TNotebook.Tab \
            -padding [list selected {6 4 6 2}] \
            -background [list selected $colors(-frame) {} $colors(-tabbg)] \
            -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
            -bordercolor [list selected $colors(-darkest) {} $colors(-tabborder)] \
            ;

        ## Labelframes.
        #
        ttk::style configure TLabelframe -borderwidth 2 -relief groove


        ## Scrollbars.
        #
        ttk::style layout Vertical.TScrollbar {
            Scrollbar.trough -sticky ns -children {
                Scrollbar.uparrow -side top
                Scrollbar.downarrow -side bottom
                Vertical.Scrollbar.thumb -side top -expand true -sticky ns
            }
        }

        ttk::style layout Horizontal.TScrollbar {
            Scrollbar.trough -sticky we -children {
                Scrollbar.leftarrow -side left
                Scrollbar.rightarrow -side right
                Horizontal.Scrollbar.thumb -side left -expand true -sticky we
            }
        }

        ttk::style element create Horizontal.Scrollbar.thumb image \
            [list $I(sbthumb-hn) \
                 disabled $I(sbthumb-hd) \
                 pressed $I(sbthumb-ha) \
                 active $I(sbthumb-ha)] \
            -border 3

        ttk::style element create Vertical.Scrollbar.thumb image \
            [list $I(sbthumb-vn) \
                 disabled $I(sbthumb-vd) \
                 pressed $I(sbthumb-va) \
                 active $I(sbthumb-va)] \
            -border 3

        foreach dir {up down left right} {
            ttk::style element create ${dir}arrow image \
                [list $I(arrow${dir}-n) \
                     disabled $I(arrow${dir}-d) \
                     pressed $I(arrow${dir}-p) \
                     active $I(arrow${dir}-a)] \
                -border 1 -sticky {}
        }

        ttk::style configure TScrollbar -bordercolor $colors(-troughborder)


        ## Scales.
        #
        ttk::style element create Scale.slider image \
            [list $I(scale-hn) \
                 disabled $I(scale-hd) \
                 active $I(scale-ha) \
                ]

        ttk::style element create Scale.trough image $I(scaletrough-h) \
            -border 2 -sticky ew -padding 0

        ttk::style element create Vertical.Scale.slider image \
            [list $I(scale-vn) \
                 disabled $I(scale-vd) \
                 active $I(scale-va) \
                ]
        ttk::style element create Vertical.Scale.trough image $I(scaletrough-v) \
            -border 2 -sticky ns -padding 0

        ttk::style configure TScale -bordercolor $colors(-troughborder)


        ## Progressbar.
        #
        ttk::style element create Horizontal.Progressbar.pbar image $I(progress-h) \
            -border {2 2 1 1}
        ttk::style element create Vertical.Progressbar.pbar image $I(progress-v) \
            -border {2 2 1 1}

        ttk::style configure TProgressbar -bordercolor $colors(-troughborder)


        ## Statusbar parts.
        #
        ttk::style element create sizegrip image $I(sizegrip)


        ## Paned window parts.
        #
#         ttk::style element create hsash image $I(hseparator-n) -border {2 0} \
#             -map [list {active !disabled} $I(hseparator-a)]
#         ttk::style element create vsash image $I(vseparator-n) -border {0 2} \
#             -map [list {active !disabled} $I(vseparator-a)]

        ttk::style configure Sash -sashthickness 6 -gripcount 16


        ## Separator.
        #
        #ttk::style element create separator image $I(sep-h)
        #ttk::style element create hseparator image $I(sep-h)
        #ttk::style element create vseparator image $I(sep-v)

    }
}