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) } } |