ADDED ChangeLog Index: ChangeLog ================================================================== --- /dev/null +++ ChangeLog @@ -0,0 +1,119 @@ +2016-01-24 Sergei Golovan + + * *: 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 + * 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 + * 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 + * 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 + * 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 + * keramik/keramik.tcl, plastik/plastik.tcl: + There was no visible clue of which ttk::treeview items were selected. + +2008-12-27 Schelte Bron + * 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 + * 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 + * plastik/plastik.tcl: + Add a grip to the scrollbars in the plastik theme. + +2007-11-04 Schelte Bron + * 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 + * 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 + * keramik/keramik.tcl, plastik/plastik.tcl, */*/*.gif: + More updates from Schelte Bron: improved Notebook + layout, others. + +2006-10-21 Joe English + * keramik/keramik.tcl, plastik/plastik.tcl, */*/*.gif: + Updates to Keramik and Plastik themes, submitted by + Schelte Bron. + +2006-08-04 Pat Thoyts + + * keramik/keramik.tcl: Switched to Progressbar.pbar element. + Improvements to notebook tabs. + +2005-10-22 Pat Thoyts + + * plastik/plastik.tcl: Additional fixes for bug #1123406 - add + * keramik/keramik.tcl: variable declarations for variables. + * Aquativo/Aquativo.tcl: + +2005-03-04 Joe English + + * plastik/plastik.tcl: Converted to use the image engine. + +2004-10-30 Pat Thoyts + + * Aquativo/Aquativo.tcl: Converted to use the image engine. + * keramik/keramik.tcl: Removed unnecessary layouts. + +2004-10-29 Pat Thoyts + + * keramik: Updated to use image engine. Added additional elements. + +2004-10-29 Pat Thoyts + + * 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 Index: demo/StyleIntrospection.tcl ================================================================== --- /dev/null +++ demo/StyleIntrospection.tcl @@ -0,0 +1,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 Index: demo/WidgetStates.tcl ================================================================== --- /dev/null +++ demo/WidgetStates.tcl @@ -0,0 +1,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 Index: demo/autocomplete.tcl ================================================================== --- /dev/null +++ demo/autocomplete.tcl @@ -0,0 +1,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 [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 Index: demo/demo.tcl ================================================================== --- /dev/null +++ demo/demo.tcl @@ -0,0 +1,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 { set ::W %W } +bind all { focus %W } + +# Stealth feature: +# +if {![catch {package require Img 1.3}]} { + bind all 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 <> 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 <> [list fillTree $w.t] + + return $w +} + +# fillTree -- <> 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 { $BASE.nb.others.m configure -text $Desc(%W) } +bind ShowDescription { $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 {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 { 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 [list event generate $tf.cmd.close <>] + bind $t { 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 [list event generate $cmd.close <>] + + 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 [list event generate $cmd.close <>] +bind $::ROOT <> [list event generate $cmd.help <>] +# 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 <>] + +# 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 Index: demo/dirbrowser.tcl ================================================================== --- /dev/null +++ demo/dirbrowser.tcl @@ -0,0 +1,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 <> 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 <> { 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 . [list event generate $cmd.close <>] + +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 Index: demo/dlgtest.tcl ================================================================== --- /dev/null +++ demo/dlgtest.tcl @@ -0,0 +1,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 . [list event generate $cmd.quit <>] + 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 Index: demo/iconlib.tcl ================================================================== --- /dev/null +++ demo/iconlib.tcl @@ -0,0 +1,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 Index: demo/repeater.tcl ================================================================== --- /dev/null +++ demo/repeater.tcl @@ -0,0 +1,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 { %W state active } +bind Repeater { %W state !active } + +bind Repeater { tile::Repeater::Activate %W } +bind Repeater <> { tile::Repeater::Activate %W } + +bind Repeater { tile::Repeater::Press %W } +bind Repeater { tile::Repeater::Release %W } +bind Repeater { tile::Repeater::Pause %W } +bind Repeater { tile::Repeater::Resume %W } ;# @@@ see below + +# @@@ Workaround for metacity-induced bug: +bind Repeater \ + { 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 Index: demo/toolbutton.tcl ================================================================== --- /dev/null +++ demo/toolbutton.tcl @@ -0,0 +1,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 Index: themes/Aquativo/CreateImageLib.def ================================================================== --- /dev/null +++ themes/Aquativo/CreateImageLib.def @@ -0,0 +1,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 Index: themes/Aquativo/ImageLib.tcl ================================================================== --- /dev/null +++ themes/Aquativo/ImageLib.tcl @@ -0,0 +1,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 Index: themes/Aquativo/aquativo.tcl ================================================================== --- /dev/null +++ themes/Aquativo/aquativo.tcl @@ -0,0 +1,239 @@ +# aquativo -- +# +# Copyright (C) 2004 Pat Thoyts +# +# 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 Index: themes/Aquativo/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/Aquativo/pkgIndex.tcl @@ -0,0 +1,3 @@ + +package ifneeded ttk::theme::aquativo 0.0.1 \ + [list source [file join $dir aquativo.tcl]] ADDED themes/Arc/Arc/arrow-down-insens.png Index: themes/Arc/Arc/arrow-down-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-down-prelight.png Index: themes/Arc/Arc/arrow-down-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-down-small-insens.png Index: themes/Arc/Arc/arrow-down-small-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down-small-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-down-small-prelight.png Index: themes/Arc/Arc/arrow-down-small-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down-small-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-down-small.png Index: themes/Arc/Arc/arrow-down-small.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down-small.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-down.png Index: themes/Arc/Arc/arrow-down.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-down.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-left-insens.png Index: themes/Arc/Arc/arrow-left-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-left-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-left-prelight.png Index: themes/Arc/Arc/arrow-left-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-left-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-left.png Index: themes/Arc/Arc/arrow-left.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-left.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-right-insens.png Index: themes/Arc/Arc/arrow-right-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-right-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-right-prelight.png Index: themes/Arc/Arc/arrow-right-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-right-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-right.png Index: themes/Arc/Arc/arrow-right.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-right.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up-insens.png Index: themes/Arc/Arc/arrow-up-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up-prelight.png Index: themes/Arc/Arc/arrow-up-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up-small-insens.png Index: themes/Arc/Arc/arrow-up-small-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up-small-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up-small-prelight.png Index: themes/Arc/Arc/arrow-up-small-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up-small-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up-small.png Index: themes/Arc/Arc/arrow-up-small.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up-small.png cannot compute difference between binary files ADDED themes/Arc/Arc/arrow-up.png Index: themes/Arc/Arc/arrow-up.png ================================================================== --- /dev/null +++ themes/Arc/Arc/arrow-up.png cannot compute difference between binary files ADDED themes/Arc/Arc/button-active.png Index: themes/Arc/Arc/button-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/button-empty.png Index: themes/Arc/Arc/button-empty.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button-empty.png cannot compute difference between binary files ADDED themes/Arc/Arc/button-focus.png Index: themes/Arc/Arc/button-focus.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button-focus.png cannot compute difference between binary files ADDED themes/Arc/Arc/button-hover.png Index: themes/Arc/Arc/button-hover.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button-hover.png cannot compute difference between binary files ADDED themes/Arc/Arc/button-insensitive.png Index: themes/Arc/Arc/button-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/button.png Index: themes/Arc/Arc/button.png ================================================================== --- /dev/null +++ themes/Arc/Arc/button.png cannot compute difference between binary files ADDED themes/Arc/Arc/checkbox-checked-insensitive.png Index: themes/Arc/Arc/checkbox-checked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/checkbox-checked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/checkbox-checked.png Index: themes/Arc/Arc/checkbox-checked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/checkbox-checked.png cannot compute difference between binary files ADDED themes/Arc/Arc/checkbox-unchecked-insensitive.png Index: themes/Arc/Arc/checkbox-unchecked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/checkbox-unchecked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/checkbox-unchecked.png Index: themes/Arc/Arc/checkbox-unchecked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/checkbox-unchecked.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-active-rtl.png Index: themes/Arc/Arc/combo-entry-button-active-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-active-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-active.png Index: themes/Arc/Arc/combo-entry-button-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-hover.png Index: themes/Arc/Arc/combo-entry-button-hover.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-hover.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-insensitive-rtl.png Index: themes/Arc/Arc/combo-entry-button-insensitive-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-insensitive-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-insensitive.png Index: themes/Arc/Arc/combo-entry-button-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button-rtl.png Index: themes/Arc/Arc/combo-entry-button-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-button.png Index: themes/Arc/Arc/combo-entry-button.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-button.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-focus-notebook-rtl.png Index: themes/Arc/Arc/combo-entry-focus-notebook-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-focus-notebook-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-focus-notebook.png Index: themes/Arc/Arc/combo-entry-focus-notebook.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-focus-notebook.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-focus-rtl.png Index: themes/Arc/Arc/combo-entry-focus-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-focus-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-focus.png Index: themes/Arc/Arc/combo-entry-focus.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-focus.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-insensitive-notebook-rtl.png Index: themes/Arc/Arc/combo-entry-insensitive-notebook-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-insensitive-notebook-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-insensitive-notebook.png Index: themes/Arc/Arc/combo-entry-insensitive-notebook.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-insensitive-notebook.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-insensitive-rtl.png Index: themes/Arc/Arc/combo-entry-insensitive-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-insensitive-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-insensitive.png Index: themes/Arc/Arc/combo-entry-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-notebook-rtl.png Index: themes/Arc/Arc/combo-entry-notebook-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-notebook-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-notebook.png Index: themes/Arc/Arc/combo-entry-notebook.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-notebook.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry-rtl.png Index: themes/Arc/Arc/combo-entry-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/combo-entry.png Index: themes/Arc/Arc/combo-entry.png ================================================================== --- /dev/null +++ themes/Arc/Arc/combo-entry.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background-active.png Index: themes/Arc/Arc/down-background-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background-disable-rtl.png Index: themes/Arc/Arc/down-background-disable-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background-disable-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background-disable.png Index: themes/Arc/Arc/down-background-disable.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background-disable.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background-hover.png Index: themes/Arc/Arc/down-background-hover.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background-hover.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background-rtl.png Index: themes/Arc/Arc/down-background-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/down-background.png Index: themes/Arc/Arc/down-background.png ================================================================== --- /dev/null +++ themes/Arc/Arc/down-background.png cannot compute difference between binary files ADDED themes/Arc/Arc/empty.png Index: themes/Arc/Arc/empty.png ================================================================== --- /dev/null +++ themes/Arc/Arc/empty.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-active-bg-solid.png Index: themes/Arc/Arc/entry-border-active-bg-solid.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-active-bg-solid.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-active-bg.png Index: themes/Arc/Arc/entry-border-active-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-active-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-bg-solid.png Index: themes/Arc/Arc/entry-border-bg-solid.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-bg-solid.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-bg.png Index: themes/Arc/Arc/entry-border-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-disabled-bg.png Index: themes/Arc/Arc/entry-border-disabled-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-disabled-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/entry-border-fill.png Index: themes/Arc/Arc/entry-border-fill.png ================================================================== --- /dev/null +++ themes/Arc/Arc/entry-border-fill.png cannot compute difference between binary files ADDED themes/Arc/Arc/focus-line.png Index: themes/Arc/Arc/focus-line.png ================================================================== --- /dev/null +++ themes/Arc/Arc/focus-line.png cannot compute difference between binary files ADDED themes/Arc/Arc/frame-gap-end.png Index: themes/Arc/Arc/frame-gap-end.png ================================================================== --- /dev/null +++ themes/Arc/Arc/frame-gap-end.png cannot compute difference between binary files ADDED themes/Arc/Arc/frame-gap-start.png Index: themes/Arc/Arc/frame-gap-start.png ================================================================== --- /dev/null +++ themes/Arc/Arc/frame-gap-start.png cannot compute difference between binary files ADDED themes/Arc/Arc/frame.png Index: themes/Arc/Arc/frame.png ================================================================== --- /dev/null +++ themes/Arc/Arc/frame.png cannot compute difference between binary files ADDED themes/Arc/Arc/handle-h.png Index: themes/Arc/Arc/handle-h.png ================================================================== --- /dev/null +++ themes/Arc/Arc/handle-h.png cannot compute difference between binary files ADDED themes/Arc/Arc/handle-v.png Index: themes/Arc/Arc/handle-v.png ================================================================== --- /dev/null +++ themes/Arc/Arc/handle-v.png cannot compute difference between binary files ADDED themes/Arc/Arc/inline-toolbar.png Index: themes/Arc/Arc/inline-toolbar.png ================================================================== --- /dev/null +++ themes/Arc/Arc/inline-toolbar.png cannot compute difference between binary files ADDED themes/Arc/Arc/labelframe.png Index: themes/Arc/Arc/labelframe.png ================================================================== --- /dev/null +++ themes/Arc/Arc/labelframe.png cannot compute difference between binary files ADDED themes/Arc/Arc/line-h.png Index: themes/Arc/Arc/line-h.png ================================================================== --- /dev/null +++ themes/Arc/Arc/line-h.png cannot compute difference between binary files ADDED themes/Arc/Arc/line-v.png Index: themes/Arc/Arc/line-v.png ================================================================== --- /dev/null +++ themes/Arc/Arc/line-v.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-arrow-prelight.png Index: themes/Arc/Arc/menu-arrow-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-arrow-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-arrow.png Index: themes/Arc/Arc/menu-arrow.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-arrow.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-checkbox-checked-insensitive.png Index: themes/Arc/Arc/menu-checkbox-checked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-checkbox-checked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-checkbox-checked.png Index: themes/Arc/Arc/menu-checkbox-checked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-checkbox-checked.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-checkbox-unchecked-insensitive.png Index: themes/Arc/Arc/menu-checkbox-unchecked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-checkbox-unchecked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-checkbox-unchecked.png Index: themes/Arc/Arc/menu-checkbox-unchecked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-checkbox-unchecked.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-radio-checked-insensitive.png Index: themes/Arc/Arc/menu-radio-checked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-radio-checked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-radio-checked.png Index: themes/Arc/Arc/menu-radio-checked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-radio-checked.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-radio-unchecked-insensitive.png Index: themes/Arc/Arc/menu-radio-unchecked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-radio-unchecked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/menu-radio-unchecked.png Index: themes/Arc/Arc/menu-radio-unchecked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menu-radio-unchecked.png cannot compute difference between binary files ADDED themes/Arc/Arc/menubar.png Index: themes/Arc/Arc/menubar.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menubar.png cannot compute difference between binary files ADDED themes/Arc/Arc/menubar_button.png Index: themes/Arc/Arc/menubar_button.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menubar_button.png cannot compute difference between binary files ADDED themes/Arc/Arc/menuitem.png Index: themes/Arc/Arc/menuitem.png ================================================================== --- /dev/null +++ themes/Arc/Arc/menuitem.png cannot compute difference between binary files ADDED themes/Arc/Arc/minus.png Index: themes/Arc/Arc/minus.png ================================================================== --- /dev/null +++ themes/Arc/Arc/minus.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook-entry-border-active-bg.png Index: themes/Arc/Arc/notebook-entry-border-active-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook-entry-border-active-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook-entry-border-bg.png Index: themes/Arc/Arc/notebook-entry-border-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook-entry-border-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook-entry-border-disabled-bg.png Index: themes/Arc/Arc/notebook-entry-border-disabled-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook-entry-border-disabled-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook-gap-horiz.png Index: themes/Arc/Arc/notebook-gap-horiz.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook-gap-horiz.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook-gap-vert.png Index: themes/Arc/Arc/notebook-gap-vert.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook-gap-vert.png cannot compute difference between binary files ADDED themes/Arc/Arc/notebook.png Index: themes/Arc/Arc/notebook.png ================================================================== --- /dev/null +++ themes/Arc/Arc/notebook.png cannot compute difference between binary files ADDED themes/Arc/Arc/null.png Index: themes/Arc/Arc/null.png ================================================================== --- /dev/null +++ themes/Arc/Arc/null.png cannot compute difference between binary files ADDED themes/Arc/Arc/plus.png Index: themes/Arc/Arc/plus.png ================================================================== --- /dev/null +++ themes/Arc/Arc/plus.png cannot compute difference between binary files ADDED themes/Arc/Arc/progressbar.png Index: themes/Arc/Arc/progressbar.png ================================================================== --- /dev/null +++ themes/Arc/Arc/progressbar.png cannot compute difference between binary files ADDED themes/Arc/Arc/progressbar_v.png Index: themes/Arc/Arc/progressbar_v.png ================================================================== --- /dev/null +++ themes/Arc/Arc/progressbar_v.png cannot compute difference between binary files ADDED themes/Arc/Arc/radio-checked-insensitive.png Index: themes/Arc/Arc/radio-checked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/radio-checked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/radio-checked.png Index: themes/Arc/Arc/radio-checked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/radio-checked.png cannot compute difference between binary files ADDED themes/Arc/Arc/radio-unchecked-insensitive.png Index: themes/Arc/Arc/radio-unchecked-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/radio-unchecked-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/radio-unchecked.png Index: themes/Arc/Arc/radio-unchecked.png ================================================================== --- /dev/null +++ themes/Arc/Arc/radio-unchecked.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-horiz-active.png Index: themes/Arc/Arc/slider-horiz-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-horiz-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-horiz-insens.png Index: themes/Arc/Arc/slider-horiz-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-horiz-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-horiz-prelight.png Index: themes/Arc/Arc/slider-horiz-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-horiz-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-horiz.png Index: themes/Arc/Arc/slider-horiz.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-horiz.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-insensitive.png Index: themes/Arc/Arc/slider-insensitive.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-insensitive.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-prelight.png Index: themes/Arc/Arc/slider-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-vert-active.png Index: themes/Arc/Arc/slider-vert-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-vert-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-vert-insens.png Index: themes/Arc/Arc/slider-vert-insens.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-vert-insens.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-vert-prelight.png Index: themes/Arc/Arc/slider-vert-prelight.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-vert-prelight.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider-vert.png Index: themes/Arc/Arc/slider-vert.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider-vert.png cannot compute difference between binary files ADDED themes/Arc/Arc/slider.png Index: themes/Arc/Arc/slider.png ================================================================== --- /dev/null +++ themes/Arc/Arc/slider.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-bottom-active.png Index: themes/Arc/Arc/tab-bottom-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-bottom-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-left-active.png Index: themes/Arc/Arc/tab-left-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-left-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-right-active.png Index: themes/Arc/Arc/tab-right-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-right-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-top-active.png Index: themes/Arc/Arc/tab-top-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-top-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-top-hover.png Index: themes/Arc/Arc/tab-top-hover.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-top-hover.png cannot compute difference between binary files ADDED themes/Arc/Arc/tab-top.png Index: themes/Arc/Arc/tab-top.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tab-top.png cannot compute difference between binary files ADDED themes/Arc/Arc/toolbar-entry-border-active-bg.png Index: themes/Arc/Arc/toolbar-entry-border-active-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/toolbar-entry-border-active-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/toolbar-entry-border-bg.png Index: themes/Arc/Arc/toolbar-entry-border-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/toolbar-entry-border-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/toolbar-entry-border-disabled-bg.png Index: themes/Arc/Arc/toolbar-entry-border-disabled-bg.png ================================================================== --- /dev/null +++ themes/Arc/Arc/toolbar-entry-border-disabled-bg.png cannot compute difference between binary files ADDED themes/Arc/Arc/toolbar.png Index: themes/Arc/Arc/toolbar.png ================================================================== --- /dev/null +++ themes/Arc/Arc/toolbar.png cannot compute difference between binary files ADDED themes/Arc/Arc/tree_header.png Index: themes/Arc/Arc/tree_header.png ================================================================== --- /dev/null +++ themes/Arc/Arc/tree_header.png cannot compute difference between binary files ADDED themes/Arc/Arc/treeview.png Index: themes/Arc/Arc/treeview.png ================================================================== --- /dev/null +++ themes/Arc/Arc/treeview.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-horizontal-active.png Index: themes/Arc/Arc/trough-horizontal-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-horizontal-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-horizontal.png Index: themes/Arc/Arc/trough-horizontal.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-horizontal.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-progressbar.png Index: themes/Arc/Arc/trough-progressbar.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-progressbar.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-progressbar_v.png Index: themes/Arc/Arc/trough-progressbar_v.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-progressbar_v.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-scrollbar-horiz.png Index: themes/Arc/Arc/trough-scrollbar-horiz.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-scrollbar-horiz.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-scrollbar-vert.png Index: themes/Arc/Arc/trough-scrollbar-vert.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-scrollbar-vert.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-vertical-active.png Index: themes/Arc/Arc/trough-vertical-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-vertical-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/trough-vertical.png Index: themes/Arc/Arc/trough-vertical.png ================================================================== --- /dev/null +++ themes/Arc/Arc/trough-vertical.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background-active.png Index: themes/Arc/Arc/up-background-active.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background-active.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background-disable-rtl.png Index: themes/Arc/Arc/up-background-disable-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background-disable-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background-disable.png Index: themes/Arc/Arc/up-background-disable.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background-disable.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background-hover.png Index: themes/Arc/Arc/up-background-hover.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background-hover.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background-rtl.png Index: themes/Arc/Arc/up-background-rtl.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background-rtl.png cannot compute difference between binary files ADDED themes/Arc/Arc/up-background.png Index: themes/Arc/Arc/up-background.png ================================================================== --- /dev/null +++ themes/Arc/Arc/up-background.png cannot compute difference between binary files ADDED themes/Arc/arc.tcl Index: themes/Arc/arc.tcl ================================================================== --- /dev/null +++ themes/Arc/arc.tcl @@ -0,0 +1,320 @@ +# arc.tcl -- +# +# Arc pixmap theme for the ttk package. +# +# Copyright (c) 2015 Sergei Golovan + +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 Index: themes/Arc/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/Arc/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/BlueElegance/BlueElegance.tcl ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance.tcl @@ -0,0 +1,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 Index: themes/BlueElegance/BlueElegance/arrow-optionmenu-disabled.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/arrow-optionmenu-disabled.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/arrow-optionmenu-prelight.gif Index: themes/BlueElegance/BlueElegance/arrow-optionmenu-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/arrow-optionmenu-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/arrow-optionmenu.gif Index: themes/BlueElegance/BlueElegance/arrow-optionmenu.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/arrow-optionmenu.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/button-active-disabled.gif Index: themes/BlueElegance/BlueElegance/button-active-disabled.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/button-active-disabled.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/button-active-prelight.gif Index: themes/BlueElegance/BlueElegance/button-active-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/button-active-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/button-active.gif Index: themes/BlueElegance/BlueElegance/button-active.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/button-active.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/button-default.gif Index: themes/BlueElegance/BlueElegance/button-default.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/button-default.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/button-prelight.gif Index: themes/BlueElegance/BlueElegance/button-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/button-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/check1.gif Index: themes/BlueElegance/BlueElegance/check1.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/check1.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/check2.gif Index: themes/BlueElegance/BlueElegance/check2.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/check2.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/combo-active.gif Index: themes/BlueElegance/BlueElegance/combo-active.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/combo-active.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/entry-active.gif Index: themes/BlueElegance/BlueElegance/entry-active.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/entry-active.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/entry-inactive.gif Index: themes/BlueElegance/BlueElegance/entry-inactive.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/entry-inactive.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/grip-horiz-prelight.gif Index: themes/BlueElegance/BlueElegance/grip-horiz-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/grip-horiz-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/grip-horiz.gif Index: themes/BlueElegance/BlueElegance/grip-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/grip-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/grip-vert-prelight.gif Index: themes/BlueElegance/BlueElegance/grip-vert-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/grip-vert-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/grip-vert.gif Index: themes/BlueElegance/BlueElegance/grip-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/grip-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/list-header-prelight.gif Index: themes/BlueElegance/BlueElegance/list-header-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/list-header-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/list-header.gif Index: themes/BlueElegance/BlueElegance/list-header.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/list-header.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/option1.gif Index: themes/BlueElegance/BlueElegance/option1.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/option1.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/option2.gif Index: themes/BlueElegance/BlueElegance/option2.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/option2.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/progressbar-horiz.gif Index: themes/BlueElegance/BlueElegance/progressbar-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/progressbar-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/progressbar-vert.gif Index: themes/BlueElegance/BlueElegance/progressbar-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/progressbar-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/scale-prelight.gif Index: themes/BlueElegance/BlueElegance/scale-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/scale-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/scale.gif Index: themes/BlueElegance/BlueElegance/scale.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/scale.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/slider-horiz-prelight.gif Index: themes/BlueElegance/BlueElegance/slider-horiz-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/slider-horiz-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/slider-horiz.gif Index: themes/BlueElegance/BlueElegance/slider-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/slider-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/slider-vert-prelight.gif Index: themes/BlueElegance/BlueElegance/slider-vert-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/slider-vert-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/slider-vert.gif Index: themes/BlueElegance/BlueElegance/slider-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/slider-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-down-prelight.gif Index: themes/BlueElegance/BlueElegance/stepper-down-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-down-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-down.gif Index: themes/BlueElegance/BlueElegance/stepper-down.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-down.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-left-prelight.gif Index: themes/BlueElegance/BlueElegance/stepper-left-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-left-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-left.gif Index: themes/BlueElegance/BlueElegance/stepper-left.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-left.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-right-prelight.gif Index: themes/BlueElegance/BlueElegance/stepper-right-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-right-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-right.gif Index: themes/BlueElegance/BlueElegance/stepper-right.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-right.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-up-prelight.gif Index: themes/BlueElegance/BlueElegance/stepper-up-prelight.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-up-prelight.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/stepper-up.gif Index: themes/BlueElegance/BlueElegance/stepper-up.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/stepper-up.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/tab-top-active.gif Index: themes/BlueElegance/BlueElegance/tab-top-active.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/tab-top-active.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/tab-top.gif Index: themes/BlueElegance/BlueElegance/tab-top.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/tab-top.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-horiz.gif Index: themes/BlueElegance/BlueElegance/trough-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-progressbar-horiz.gif Index: themes/BlueElegance/BlueElegance/trough-progressbar-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-progressbar-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-progressbar-vert.gif Index: themes/BlueElegance/BlueElegance/trough-progressbar-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-progressbar-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-scrollbar-horiz.gif Index: themes/BlueElegance/BlueElegance/trough-scrollbar-horiz.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-scrollbar-horiz.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-scrollbar-vert.gif Index: themes/BlueElegance/BlueElegance/trough-scrollbar-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-scrollbar-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/BlueElegance/trough-vert.gif Index: themes/BlueElegance/BlueElegance/trough-vert.gif ================================================================== --- /dev/null +++ themes/BlueElegance/BlueElegance/trough-vert.gif cannot compute difference between binary files ADDED themes/BlueElegance/pkgIndex.tcl Index: themes/BlueElegance/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/BlueElegance/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/WinXP-Blue/WinXP-Blue.tcl ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue.tcl @@ -0,0 +1,110 @@ +# WinXP-Blue - Copyright (C) 2004 Pat Thoyts +# +# 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_down_clicked.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_down_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_left_clicked.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_left_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_right_clicked.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_right_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_up_clicked.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/arrow_up_normal.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/arrow_up_normal.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/button.gif Index: themes/WinXP-Blue/WinXP-Blue/button.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/button.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/buttonNorm.gif Index: themes/WinXP-Blue/WinXP-Blue/buttonNorm.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/buttonNorm.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/buttonPressed.gif Index: themes/WinXP-Blue/WinXP-Blue/buttonPressed.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/buttonPressed.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/button_down_normal.gif Index: themes/WinXP-Blue/WinXP-Blue/button_down_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/button_left_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/button_right_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/button_up_normal.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/button_up_normal.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/checkbox_checked.gif Index: themes/WinXP-Blue/WinXP-Blue/checkbox_checked.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/checkbox_checked.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/checkbox_unchecked.gif Index: themes/WinXP-Blue/WinXP-Blue/checkbox_unchecked.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/checkbox_unchecked.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/clear.gif Index: themes/WinXP-Blue/WinXP-Blue/clear.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/clear.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/horizontal_trough.gif Index: themes/WinXP-Blue/WinXP-Blue/horizontal_trough.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/horizontal_trough.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/menubar_option_arrow.gif Index: themes/WinXP-Blue/WinXP-Blue/menubar_option_arrow.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/menubar_option_arrow.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/menupattern.gif Index: themes/WinXP-Blue/WinXP-Blue/menupattern.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/menupattern.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/notebook_active.gif Index: themes/WinXP-Blue/WinXP-Blue/notebook_active.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/notebook_active.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/notebook_inactive.gif Index: themes/WinXP-Blue/WinXP-Blue/notebook_inactive.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/notebook_inactive.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/option_in.gif Index: themes/WinXP-Blue/WinXP-Blue/option_in.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/option_in.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/option_out.gif Index: themes/WinXP-Blue/WinXP-Blue/option_out.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/option_out.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/progressbar.gif Index: themes/WinXP-Blue/WinXP-Blue/progressbar.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/progressbar.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/pullDownMenu.gif Index: themes/WinXP-Blue/WinXP-Blue/pullDownMenu.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/pullDownMenu.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/pullDownMenuPrelight.gif Index: themes/WinXP-Blue/WinXP-Blue/pullDownMenuPrelight.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/pullDownMenuPrelight.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/scroll_button_normal.gif Index: themes/WinXP-Blue/WinXP-Blue/scroll_button_normal.gif ================================================================== --- /dev/null +++ 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 Index: themes/WinXP-Blue/WinXP-Blue/scroll_button_pressed.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/scroll_button_pressed.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/scroll_horizontal.gif Index: themes/WinXP-Blue/WinXP-Blue/scroll_horizontal.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/scroll_horizontal.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/scroll_vertical.gif Index: themes/WinXP-Blue/WinXP-Blue/scroll_vertical.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/scroll_vertical.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/through.gif Index: themes/WinXP-Blue/WinXP-Blue/through.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/through.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/WinXP-Blue/vertical_trough.gif Index: themes/WinXP-Blue/WinXP-Blue/vertical_trough.gif ================================================================== --- /dev/null +++ themes/WinXP-Blue/WinXP-Blue/vertical_trough.gif cannot compute difference between binary files ADDED themes/WinXP-Blue/pkgIndex.tcl Index: themes/WinXP-Blue/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/WinXP-Blue/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/aquablue/aquablue/arrowdown-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowdown-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowdown-d.gif Index: themes/aquablue/aquablue/arrowdown-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowdown-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowdown-n.gif Index: themes/aquablue/aquablue/arrowdown-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowdown-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowdown-p.gif Index: themes/aquablue/aquablue/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowdown-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowleft-a.gif Index: themes/aquablue/aquablue/arrowleft-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowleft-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowleft-d.gif Index: themes/aquablue/aquablue/arrowleft-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowleft-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowleft-n.gif Index: themes/aquablue/aquablue/arrowleft-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowleft-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowleft-p.gif Index: themes/aquablue/aquablue/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowleft-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowright-a.gif Index: themes/aquablue/aquablue/arrowright-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowright-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowright-d.gif Index: themes/aquablue/aquablue/arrowright-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowright-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowright-n.gif Index: themes/aquablue/aquablue/arrowright-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowright-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowright-p.gif Index: themes/aquablue/aquablue/arrowright-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowright-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowup-a.gif Index: themes/aquablue/aquablue/arrowup-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowup-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowup-d.gif Index: themes/aquablue/aquablue/arrowup-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowup-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowup-n.gif Index: themes/aquablue/aquablue/arrowup-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowup-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/arrowup-p.gif Index: themes/aquablue/aquablue/arrowup-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/arrowup-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/blank.gif Index: themes/aquablue/aquablue/blank.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/blank.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-a.gif Index: themes/aquablue/aquablue/button-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-d.gif Index: themes/aquablue/aquablue/button-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-n.gif Index: themes/aquablue/aquablue/button-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-p.gif Index: themes/aquablue/aquablue/button-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-pa.gif Index: themes/aquablue/aquablue/button-pa.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-pa.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-s.gif Index: themes/aquablue/aquablue/button-s.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-s.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/button-sa.gif Index: themes/aquablue/aquablue/button-sa.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/button-sa.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-ac.gif Index: themes/aquablue/aquablue/check-ac.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-ac.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-au.gif Index: themes/aquablue/aquablue/check-au.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-au.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-dc.gif Index: themes/aquablue/aquablue/check-dc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-dc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-du.gif Index: themes/aquablue/aquablue/check-du.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-du.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-nc.gif Index: themes/aquablue/aquablue/check-nc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-nc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-nu.gif Index: themes/aquablue/aquablue/check-nu.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-nu.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-pc.gif Index: themes/aquablue/aquablue/check-pc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-pc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/check-pu.gif Index: themes/aquablue/aquablue/check-pu.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/check-pu.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-n.gif Index: themes/aquablue/aquablue/combo-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-ra.gif Index: themes/aquablue/aquablue/combo-ra.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-ra.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-rd.gif Index: themes/aquablue/aquablue/combo-rd.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-rd.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-rf.gif Index: themes/aquablue/aquablue/combo-rf.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-rf.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-rn.gif Index: themes/aquablue/aquablue/combo-rn.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-rn.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/combo-rp.gif Index: themes/aquablue/aquablue/combo-rp.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/combo-rp.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/comboarrow-a.gif Index: themes/aquablue/aquablue/comboarrow-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/comboarrow-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/comboarrow-d.gif Index: themes/aquablue/aquablue/comboarrow-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/comboarrow-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/comboarrow-n.gif Index: themes/aquablue/aquablue/comboarrow-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/comboarrow-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/comboarrow-p.gif Index: themes/aquablue/aquablue/comboarrow-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/comboarrow-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/progress-h.gif Index: themes/aquablue/aquablue/progress-h.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/progress-h.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/progress-v.gif Index: themes/aquablue/aquablue/progress-v.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/progress-v.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-ac.gif Index: themes/aquablue/aquablue/radio-ac.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-ac.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-au.gif Index: themes/aquablue/aquablue/radio-au.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-au.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-dc.gif Index: themes/aquablue/aquablue/radio-dc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-dc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-du.gif Index: themes/aquablue/aquablue/radio-du.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-du.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-nc.gif Index: themes/aquablue/aquablue/radio-nc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-nc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-nu.gif Index: themes/aquablue/aquablue/radio-nu.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-nu.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-pc.gif Index: themes/aquablue/aquablue/radio-pc.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-pc.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/radio-pu.gif Index: themes/aquablue/aquablue/radio-pu.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/radio-pu.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-ha.gif Index: themes/aquablue/aquablue/sbthumb-ha.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-ha.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-hd.gif Index: themes/aquablue/aquablue/sbthumb-hd.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-hd.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-hn.gif Index: themes/aquablue/aquablue/sbthumb-hn.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-hn.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-hp.gif Index: themes/aquablue/aquablue/sbthumb-hp.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-hp.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-va.gif Index: themes/aquablue/aquablue/sbthumb-va.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-va.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-vd.gif Index: themes/aquablue/aquablue/sbthumb-vd.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-vd.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-vn.gif Index: themes/aquablue/aquablue/sbthumb-vn.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-vn.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sbthumb-vp.gif Index: themes/aquablue/aquablue/sbthumb-vp.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sbthumb-vp.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-ha.gif Index: themes/aquablue/aquablue/scale-ha.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-ha.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-hd.gif Index: themes/aquablue/aquablue/scale-hd.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-hd.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-hn.gif Index: themes/aquablue/aquablue/scale-hn.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-hn.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-va.gif Index: themes/aquablue/aquablue/scale-va.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-va.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-vd.gif Index: themes/aquablue/aquablue/scale-vd.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-vd.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scale-vn.gif Index: themes/aquablue/aquablue/scale-vn.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scale-vn.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scaletrough-h.gif Index: themes/aquablue/aquablue/scaletrough-h.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scaletrough-h.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/scaletrough-v.gif Index: themes/aquablue/aquablue/scaletrough-v.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/scaletrough-v.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sep-h.gif Index: themes/aquablue/aquablue/sep-h.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sep-h.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sep-v.gif Index: themes/aquablue/aquablue/sep-v.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sep-v.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/sizegrip.gif Index: themes/aquablue/aquablue/sizegrip.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/sizegrip.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tab-a.gif Index: themes/aquablue/aquablue/tab-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tab-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tab-n.gif Index: themes/aquablue/aquablue/tab-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tab-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/toolbutton-a.gif Index: themes/aquablue/aquablue/toolbutton-a.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/toolbutton-a.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/toolbutton-d.gif Index: themes/aquablue/aquablue/toolbutton-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/toolbutton-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/toolbutton-n.gif Index: themes/aquablue/aquablue/toolbutton-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/toolbutton-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/toolbutton-p.gif Index: themes/aquablue/aquablue/toolbutton-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/toolbutton-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/toolbutton-pa.gif Index: themes/aquablue/aquablue/toolbutton-pa.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/toolbutton-pa.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tree-d.gif Index: themes/aquablue/aquablue/tree-d.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tree-d.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tree-h.gif Index: themes/aquablue/aquablue/tree-h.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tree-h.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tree-n.gif Index: themes/aquablue/aquablue/tree-n.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tree-n.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue/tree-p.gif Index: themes/aquablue/aquablue/tree-p.gif ================================================================== --- /dev/null +++ themes/aquablue/aquablue/tree-p.gif cannot compute difference between binary files ADDED themes/aquablue/aquablue8.4.tcl Index: themes/aquablue/aquablue8.4.tcl ================================================================== --- /dev/null +++ themes/aquablue/aquablue8.4.tcl @@ -0,0 +1,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 Index: themes/aquablue/aquablue8.5.tcl ================================================================== --- /dev/null +++ themes/aquablue/aquablue8.5.tcl @@ -0,0 +1,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 Index: themes/aquablue/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/aquablue/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/blue/blue.tcl ================================================================== --- /dev/null +++ themes/blue/blue.tcl @@ -0,0 +1,161 @@ +# blue.tcl - Copyright (C) 2004 Pat Thoyts +# +# 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 Index: themes/blue/blue/arrowdown-h.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowdown-h.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowdown-p.gif Index: themes/blue/blue/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowdown-p.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowdown.gif Index: themes/blue/blue/arrowdown.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowdown.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowleft-h.gif Index: themes/blue/blue/arrowleft-h.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowleft-h.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowleft-p.gif Index: themes/blue/blue/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowleft-p.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowleft.gif Index: themes/blue/blue/arrowleft.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowleft.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowright-h.gif Index: themes/blue/blue/arrowright-h.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowright-h.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowright-p.gif Index: themes/blue/blue/arrowright-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowright-p.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowright.gif Index: themes/blue/blue/arrowright.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowright.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowup-h.gif Index: themes/blue/blue/arrowup-h.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowup-h.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowup-p.gif Index: themes/blue/blue/arrowup-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowup-p.gif cannot compute difference between binary files ADDED themes/blue/blue/arrowup.gif Index: themes/blue/blue/arrowup.gif ================================================================== --- /dev/null +++ themes/blue/blue/arrowup.gif cannot compute difference between binary files ADDED themes/blue/blue/button-h.gif Index: themes/blue/blue/button-h.gif ================================================================== --- /dev/null +++ themes/blue/blue/button-h.gif cannot compute difference between binary files ADDED themes/blue/blue/button-n.gif Index: themes/blue/blue/button-n.gif ================================================================== --- /dev/null +++ themes/blue/blue/button-n.gif cannot compute difference between binary files ADDED themes/blue/blue/button-n.xcf Index: themes/blue/blue/button-n.xcf ================================================================== --- /dev/null +++ themes/blue/blue/button-n.xcf cannot compute difference between binary files ADDED themes/blue/blue/button-p.gif Index: themes/blue/blue/button-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/button-p.gif cannot compute difference between binary files ADDED themes/blue/blue/check-hc.gif Index: themes/blue/blue/check-hc.gif ================================================================== --- /dev/null +++ themes/blue/blue/check-hc.gif cannot compute difference between binary files ADDED themes/blue/blue/check-hu.gif Index: themes/blue/blue/check-hu.gif ================================================================== --- /dev/null +++ themes/blue/blue/check-hu.gif cannot compute difference between binary files ADDED themes/blue/blue/check-nc.gif Index: themes/blue/blue/check-nc.gif ================================================================== --- /dev/null +++ themes/blue/blue/check-nc.gif cannot compute difference between binary files ADDED themes/blue/blue/check-nu.gif Index: themes/blue/blue/check-nu.gif ================================================================== --- /dev/null +++ themes/blue/blue/check-nu.gif cannot compute difference between binary files ADDED themes/blue/blue/radio-hc.gif Index: themes/blue/blue/radio-hc.gif ================================================================== --- /dev/null +++ themes/blue/blue/radio-hc.gif cannot compute difference between binary files ADDED themes/blue/blue/radio-hu.gif Index: themes/blue/blue/radio-hu.gif ================================================================== --- /dev/null +++ themes/blue/blue/radio-hu.gif cannot compute difference between binary files ADDED themes/blue/blue/radio-nc.gif Index: themes/blue/blue/radio-nc.gif ================================================================== --- /dev/null +++ themes/blue/blue/radio-nc.gif cannot compute difference between binary files ADDED themes/blue/blue/radio-nu.gif Index: themes/blue/blue/radio-nu.gif ================================================================== --- /dev/null +++ themes/blue/blue/radio-nu.gif cannot compute difference between binary files ADDED themes/blue/blue/sb-thumb-p.gif Index: themes/blue/blue/sb-thumb-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/sb-thumb-p.gif cannot compute difference between binary files ADDED themes/blue/blue/sb-thumb.gif Index: themes/blue/blue/sb-thumb.gif ================================================================== --- /dev/null +++ themes/blue/blue/sb-thumb.gif cannot compute difference between binary files ADDED themes/blue/blue/sb-vthumb-p.gif Index: themes/blue/blue/sb-vthumb-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/sb-vthumb-p.gif cannot compute difference between binary files ADDED themes/blue/blue/sb-vthumb.gif Index: themes/blue/blue/sb-vthumb.gif ================================================================== --- /dev/null +++ themes/blue/blue/sb-vthumb.gif cannot compute difference between binary files ADDED themes/blue/blue/slider-p.gif Index: themes/blue/blue/slider-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/slider-p.gif cannot compute difference between binary files ADDED themes/blue/blue/slider.gif Index: themes/blue/blue/slider.gif ================================================================== --- /dev/null +++ themes/blue/blue/slider.gif cannot compute difference between binary files ADDED themes/blue/blue/vslider-p.gif Index: themes/blue/blue/vslider-p.gif ================================================================== --- /dev/null +++ themes/blue/blue/vslider-p.gif cannot compute difference between binary files ADDED themes/blue/blue/vslider.gif Index: themes/blue/blue/vslider.gif ================================================================== --- /dev/null +++ themes/blue/blue/vslider.gif cannot compute difference between binary files ADDED themes/blue/pkgIndex.tcl Index: themes/blue/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/blue/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/clearlooks/clearlooks/arrowdown-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowdown-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowdown-d.gif Index: themes/clearlooks/clearlooks/arrowdown-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowdown-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowdown-n.gif Index: themes/clearlooks/clearlooks/arrowdown-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowdown-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowdown-p.gif Index: themes/clearlooks/clearlooks/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowdown-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowleft-a.gif Index: themes/clearlooks/clearlooks/arrowleft-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowleft-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowleft-d.gif Index: themes/clearlooks/clearlooks/arrowleft-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowleft-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowleft-n.gif Index: themes/clearlooks/clearlooks/arrowleft-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowleft-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowleft-p.gif Index: themes/clearlooks/clearlooks/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowleft-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowright-a.gif Index: themes/clearlooks/clearlooks/arrowright-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowright-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowright-d.gif Index: themes/clearlooks/clearlooks/arrowright-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowright-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowright-n.gif Index: themes/clearlooks/clearlooks/arrowright-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowright-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowright-p.gif Index: themes/clearlooks/clearlooks/arrowright-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowright-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowup-a.gif Index: themes/clearlooks/clearlooks/arrowup-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowup-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowup-d.gif Index: themes/clearlooks/clearlooks/arrowup-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowup-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowup-n.gif Index: themes/clearlooks/clearlooks/arrowup-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowup-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/arrowup-p.gif Index: themes/clearlooks/clearlooks/arrowup-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/arrowup-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/blank.gif Index: themes/clearlooks/clearlooks/blank.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/blank.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/button-a.gif Index: themes/clearlooks/clearlooks/button-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/button-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/button-d.gif Index: themes/clearlooks/clearlooks/button-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/button-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/button-n.gif Index: themes/clearlooks/clearlooks/button-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/button-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/button-p.gif Index: themes/clearlooks/clearlooks/button-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/button-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/button-pa.gif Index: themes/clearlooks/clearlooks/button-pa.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/button-pa.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-ac.gif Index: themes/clearlooks/clearlooks/check-ac.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-ac.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-au.gif Index: themes/clearlooks/clearlooks/check-au.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-au.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-dc.gif Index: themes/clearlooks/clearlooks/check-dc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-dc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-du.gif Index: themes/clearlooks/clearlooks/check-du.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-du.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-nc.gif Index: themes/clearlooks/clearlooks/check-nc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-nc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-nu.gif Index: themes/clearlooks/clearlooks/check-nu.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-nu.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-pc.gif Index: themes/clearlooks/clearlooks/check-pc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-pc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/check-pu.gif Index: themes/clearlooks/clearlooks/check-pu.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/check-pu.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-n.gif Index: themes/clearlooks/clearlooks/combo-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-ra.gif Index: themes/clearlooks/clearlooks/combo-ra.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-ra.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-rd.gif Index: themes/clearlooks/clearlooks/combo-rd.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-rd.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-rf.gif Index: themes/clearlooks/clearlooks/combo-rf.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-rf.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-rn.gif Index: themes/clearlooks/clearlooks/combo-rn.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-rn.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/combo-rp.gif Index: themes/clearlooks/clearlooks/combo-rp.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/combo-rp.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/comboarrow-a.gif Index: themes/clearlooks/clearlooks/comboarrow-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/comboarrow-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/comboarrow-d.gif Index: themes/clearlooks/clearlooks/comboarrow-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/comboarrow-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/comboarrow-n.gif Index: themes/clearlooks/clearlooks/comboarrow-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/comboarrow-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/comboarrow-p.gif Index: themes/clearlooks/clearlooks/comboarrow-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/comboarrow-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/progress-h.gif Index: themes/clearlooks/clearlooks/progress-h.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/progress-h.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/progress-v.gif Index: themes/clearlooks/clearlooks/progress-v.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/progress-v.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-ac.gif Index: themes/clearlooks/clearlooks/radio-ac.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-ac.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-au.gif Index: themes/clearlooks/clearlooks/radio-au.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-au.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-dc.gif Index: themes/clearlooks/clearlooks/radio-dc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-dc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-du.gif Index: themes/clearlooks/clearlooks/radio-du.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-du.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-nc.gif Index: themes/clearlooks/clearlooks/radio-nc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-nc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-nu.gif Index: themes/clearlooks/clearlooks/radio-nu.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-nu.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-pc.gif Index: themes/clearlooks/clearlooks/radio-pc.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-pc.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/radio-pu.gif Index: themes/clearlooks/clearlooks/radio-pu.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/radio-pu.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-ha.gif Index: themes/clearlooks/clearlooks/sbthumb-ha.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-ha.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-hd.gif Index: themes/clearlooks/clearlooks/sbthumb-hd.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-hd.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-hn.gif Index: themes/clearlooks/clearlooks/sbthumb-hn.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-hn.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-hp.gif Index: themes/clearlooks/clearlooks/sbthumb-hp.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-hp.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-va.gif Index: themes/clearlooks/clearlooks/sbthumb-va.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-va.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-vd.gif Index: themes/clearlooks/clearlooks/sbthumb-vd.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-vd.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-vn.gif Index: themes/clearlooks/clearlooks/sbthumb-vn.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-vn.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sbthumb-vp.gif Index: themes/clearlooks/clearlooks/sbthumb-vp.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sbthumb-vp.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-ha.gif Index: themes/clearlooks/clearlooks/scale-ha.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-ha.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-hd.gif Index: themes/clearlooks/clearlooks/scale-hd.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-hd.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-hn.gif Index: themes/clearlooks/clearlooks/scale-hn.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-hn.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-va.gif Index: themes/clearlooks/clearlooks/scale-va.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-va.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-vd.gif Index: themes/clearlooks/clearlooks/scale-vd.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-vd.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scale-vn.gif Index: themes/clearlooks/clearlooks/scale-vn.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scale-vn.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scaletrough-h.gif Index: themes/clearlooks/clearlooks/scaletrough-h.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scaletrough-h.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/scaletrough-v.gif Index: themes/clearlooks/clearlooks/scaletrough-v.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/scaletrough-v.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sep-h.gif Index: themes/clearlooks/clearlooks/sep-h.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sep-h.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sep-v.gif Index: themes/clearlooks/clearlooks/sep-v.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sep-v.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/sizegrip.gif Index: themes/clearlooks/clearlooks/sizegrip.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/sizegrip.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tab-a.gif Index: themes/clearlooks/clearlooks/tab-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tab-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tab-n.gif Index: themes/clearlooks/clearlooks/tab-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tab-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/toolbutton-a.gif Index: themes/clearlooks/clearlooks/toolbutton-a.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/toolbutton-a.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/toolbutton-d.gif Index: themes/clearlooks/clearlooks/toolbutton-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/toolbutton-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/toolbutton-n.gif Index: themes/clearlooks/clearlooks/toolbutton-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/toolbutton-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/toolbutton-p.gif Index: themes/clearlooks/clearlooks/toolbutton-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/toolbutton-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/toolbutton-pa.gif Index: themes/clearlooks/clearlooks/toolbutton-pa.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/toolbutton-pa.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tree-d.gif Index: themes/clearlooks/clearlooks/tree-d.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tree-d.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tree-h.gif Index: themes/clearlooks/clearlooks/tree-h.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tree-h.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tree-n.gif Index: themes/clearlooks/clearlooks/tree-n.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tree-n.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks/tree-p.gif Index: themes/clearlooks/clearlooks/tree-p.gif ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks/tree-p.gif cannot compute difference between binary files ADDED themes/clearlooks/clearlooks8.4.tcl Index: themes/clearlooks/clearlooks8.4.tcl ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks8.4.tcl @@ -0,0 +1,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 Index: themes/clearlooks/clearlooks8.5.tcl ================================================================== --- /dev/null +++ themes/clearlooks/clearlooks8.5.tcl @@ -0,0 +1,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 Index: themes/clearlooks/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/clearlooks/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/keramik/keramik.tcl ================================================================== --- /dev/null +++ themes/keramik/keramik.tcl @@ -0,0 +1,364 @@ +# keramik.tcl - +# +# A sample pixmap theme for the tile package. +# +# Copyright (c) 2004 Googie +# Copyright (c) 2004 Pat Thoyts +# +# $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 Index: themes/keramik/keramik/arrowdown-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowdown-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowdown-p.gif Index: themes/keramik/keramik/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowdown-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowleft-n.gif Index: themes/keramik/keramik/arrowleft-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowleft-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowleft-p.gif Index: themes/keramik/keramik/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowleft-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowright-n.gif Index: themes/keramik/keramik/arrowright-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowright-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowright-p.gif Index: themes/keramik/keramik/arrowright-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowright-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowup-n.gif Index: themes/keramik/keramik/arrowup-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowup-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/arrowup-p.gif Index: themes/keramik/keramik/arrowup-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/arrowup-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/button-d.gif Index: themes/keramik/keramik/button-d.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/button-d.gif cannot compute difference between binary files ADDED themes/keramik/keramik/button-h.gif Index: themes/keramik/keramik/button-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/button-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik/button-n.gif Index: themes/keramik/keramik/button-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/button-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/button-p.gif Index: themes/keramik/keramik/button-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/button-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/button-s.gif Index: themes/keramik/keramik/button-s.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/button-s.gif cannot compute difference between binary files ADDED themes/keramik/keramik/cbox-a.gif Index: themes/keramik/keramik/cbox-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/cbox-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/cbox-d.gif Index: themes/keramik/keramik/cbox-d.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/cbox-d.gif cannot compute difference between binary files ADDED themes/keramik/keramik/cbox-n.gif Index: themes/keramik/keramik/cbox-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/cbox-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/check-c.gif Index: themes/keramik/keramik/check-c.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/check-c.gif cannot compute difference between binary files ADDED themes/keramik/keramik/check-u.gif Index: themes/keramik/keramik/check-u.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/check-u.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hsb-a.gif Index: themes/keramik/keramik/hsb-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hsb-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hsb-h.gif Index: themes/keramik/keramik/hsb-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hsb-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hsb-n.gif Index: themes/keramik/keramik/hsb-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hsb-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hsb-p.gif Index: themes/keramik/keramik/hsb-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hsb-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hsb-t.gif Index: themes/keramik/keramik/hsb-t.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hsb-t.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hslider-n.gif Index: themes/keramik/keramik/hslider-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hslider-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/hslider-t.gif Index: themes/keramik/keramik/hslider-t.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/hslider-t.gif cannot compute difference between binary files ADDED themes/keramik/keramik/indicator-c.gif Index: themes/keramik/keramik/indicator-c.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/indicator-c.gif cannot compute difference between binary files ADDED themes/keramik/keramik/indicator-o.gif Index: themes/keramik/keramik/indicator-o.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/indicator-o.gif cannot compute difference between binary files ADDED themes/keramik/keramik/mbut-a.gif Index: themes/keramik/keramik/mbut-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/mbut-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/mbut-arrow-n.gif Index: themes/keramik/keramik/mbut-arrow-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/mbut-arrow-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/mbut-d.gif Index: themes/keramik/keramik/mbut-d.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/mbut-d.gif cannot compute difference between binary files ADDED themes/keramik/keramik/mbut-n.gif Index: themes/keramik/keramik/mbut-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/mbut-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/progress-h.gif Index: themes/keramik/keramik/progress-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/progress-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik/progress-v.gif Index: themes/keramik/keramik/progress-v.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/progress-v.gif cannot compute difference between binary files ADDED themes/keramik/keramik/radio-c.gif Index: themes/keramik/keramik/radio-c.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/radio-c.gif cannot compute difference between binary files ADDED themes/keramik/keramik/radio-u.gif Index: themes/keramik/keramik/radio-u.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/radio-u.gif cannot compute difference between binary files ADDED themes/keramik/keramik/spinbox-a.gif Index: themes/keramik/keramik/spinbox-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/spinbox-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/spindown-n.gif Index: themes/keramik/keramik/spindown-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/spindown-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/spindown-p.gif Index: themes/keramik/keramik/spindown-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/spindown-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/spinup-n.gif Index: themes/keramik/keramik/spinup-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/spinup-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/spinup-p.gif Index: themes/keramik/keramik/spinup-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/spinup-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tab-h.gif Index: themes/keramik/keramik/tab-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tab-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tab-n.gif Index: themes/keramik/keramik/tab-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tab-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tab-p.gif Index: themes/keramik/keramik/tab-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tab-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tbar-a.gif Index: themes/keramik/keramik/tbar-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tbar-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tbar-n.gif Index: themes/keramik/keramik/tbar-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tbar-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tbar-p.gif Index: themes/keramik/keramik/tbar-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tbar-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tree-n.gif Index: themes/keramik/keramik/tree-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tree-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/tree-p.gif Index: themes/keramik/keramik/tree-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/tree-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vsb-a.gif Index: themes/keramik/keramik/vsb-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vsb-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vsb-h.gif Index: themes/keramik/keramik/vsb-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vsb-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vsb-n.gif Index: themes/keramik/keramik/vsb-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vsb-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vsb-p.gif Index: themes/keramik/keramik/vsb-p.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vsb-p.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vsb-t.gif Index: themes/keramik/keramik/vsb-t.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vsb-t.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vslider-n.gif Index: themes/keramik/keramik/vslider-n.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vslider-n.gif cannot compute difference between binary files ADDED themes/keramik/keramik/vslider-t.gif Index: themes/keramik/keramik/vslider-t.gif ================================================================== --- /dev/null +++ themes/keramik/keramik/vslider-t.gif cannot compute difference between binary files ADDED themes/keramik/keramik_alt/hsb-a.gif Index: themes/keramik/keramik_alt/hsb-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik_alt/hsb-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik_alt/hsb-h.gif Index: themes/keramik/keramik_alt/hsb-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik_alt/hsb-h.gif cannot compute difference between binary files ADDED themes/keramik/keramik_alt/vsb-a.gif Index: themes/keramik/keramik_alt/vsb-a.gif ================================================================== --- /dev/null +++ themes/keramik/keramik_alt/vsb-a.gif cannot compute difference between binary files ADDED themes/keramik/keramik_alt/vsb-h.gif Index: themes/keramik/keramik_alt/vsb-h.gif ================================================================== --- /dev/null +++ themes/keramik/keramik_alt/vsb-h.gif cannot compute difference between binary files ADDED themes/keramik/pkgIndex.tcl Index: themes/keramik/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/keramik/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/kroc/kroc.tcl ================================================================== --- /dev/null +++ themes/kroc/kroc.tcl @@ -0,0 +1,129 @@ +# kroc.tcl - Copyright (C) 2004 David Zolli +# +# 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 Index: themes/kroc/kroc/button-h.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/button-h.gif cannot compute difference between binary files ADDED themes/kroc/kroc/button-n.gif Index: themes/kroc/kroc/button-n.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/button-n.gif cannot compute difference between binary files ADDED themes/kroc/kroc/button-p.gif Index: themes/kroc/kroc/button-p.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/button-p.gif cannot compute difference between binary files ADDED themes/kroc/kroc/check-hc.gif Index: themes/kroc/kroc/check-hc.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/check-hc.gif cannot compute difference between binary files ADDED themes/kroc/kroc/check-hu.gif Index: themes/kroc/kroc/check-hu.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/check-hu.gif cannot compute difference between binary files ADDED themes/kroc/kroc/check-nc.gif Index: themes/kroc/kroc/check-nc.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/check-nc.gif cannot compute difference between binary files ADDED themes/kroc/kroc/check-nu.gif Index: themes/kroc/kroc/check-nu.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/check-nu.gif cannot compute difference between binary files ADDED themes/kroc/kroc/radio-hc.gif Index: themes/kroc/kroc/radio-hc.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/radio-hc.gif cannot compute difference between binary files ADDED themes/kroc/kroc/radio-hu.gif Index: themes/kroc/kroc/radio-hu.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/radio-hu.gif cannot compute difference between binary files ADDED themes/kroc/kroc/radio-nc.gif Index: themes/kroc/kroc/radio-nc.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/radio-nc.gif cannot compute difference between binary files ADDED themes/kroc/kroc/radio-nu.gif Index: themes/kroc/kroc/radio-nu.gif ================================================================== --- /dev/null +++ themes/kroc/kroc/radio-nu.gif cannot compute difference between binary files ADDED themes/kroc/pkgIndex.tcl Index: themes/kroc/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/kroc/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/plastik/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/plastik/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/plastik/plastik.tcl ================================================================== --- /dev/null +++ themes/plastik/plastik.tcl @@ -0,0 +1,271 @@ +# plastik.tcl - Copyright (C) 2004 Googie +# +# A sample pixmap theme for the tile package. +# +# Copyright (c) 2004 Googie +# Copyright (c) 2005 Pat Thoyts +# +# $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 Index: themes/plastik/plastik/arrow-d.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrow-d.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrow-n.gif Index: themes/plastik/plastik/arrow-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrow-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowdown-n.gif Index: themes/plastik/plastik/arrowdown-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowdown-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowdown-p.gif Index: themes/plastik/plastik/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowdown-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowleft-n.gif Index: themes/plastik/plastik/arrowleft-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowleft-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowleft-p.gif Index: themes/plastik/plastik/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowleft-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowright-n.gif Index: themes/plastik/plastik/arrowright-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowright-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowright-p.gif Index: themes/plastik/plastik/arrowright-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowright-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowup-n.gif Index: themes/plastik/plastik/arrowup-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowup-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/arrowup-p.gif Index: themes/plastik/plastik/arrowup-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/arrowup-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/border.gif Index: themes/plastik/plastik/border.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/border.gif cannot compute difference between binary files ADDED themes/plastik/plastik/button-h.gif Index: themes/plastik/plastik/button-h.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/button-h.gif cannot compute difference between binary files ADDED themes/plastik/plastik/button-n.gif Index: themes/plastik/plastik/button-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/button-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/button-p.gif Index: themes/plastik/plastik/button-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/button-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/check-hc.gif Index: themes/plastik/plastik/check-hc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/check-hc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/check-hu.gif Index: themes/plastik/plastik/check-hu.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/check-hu.gif cannot compute difference between binary files ADDED themes/plastik/plastik/check-nc.gif Index: themes/plastik/plastik/check-nc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/check-nc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/check-nu.gif Index: themes/plastik/plastik/check-nu.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/check-nu.gif cannot compute difference between binary files ADDED themes/plastik/plastik/check-pc.gif Index: themes/plastik/plastik/check-pc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/check-pc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-a.gif Index: themes/plastik/plastik/combo-a.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-a.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-d.gif Index: themes/plastik/plastik/combo-d.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-d.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-f.gif Index: themes/plastik/plastik/combo-f.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-f.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-fa.gif Index: themes/plastik/plastik/combo-fa.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-fa.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-n.gif Index: themes/plastik/plastik/combo-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-r.gif Index: themes/plastik/plastik/combo-r.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-r.gif cannot compute difference between binary files ADDED themes/plastik/plastik/combo-ra.gif Index: themes/plastik/plastik/combo-ra.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/combo-ra.gif cannot compute difference between binary files ADDED themes/plastik/plastik/entry-f.gif Index: themes/plastik/plastik/entry-f.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/entry-f.gif cannot compute difference between binary files ADDED themes/plastik/plastik/entry-n.gif Index: themes/plastik/plastik/entry-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/entry-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hprogress-b.gif Index: themes/plastik/plastik/hprogress-b.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hprogress-b.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hprogress-t.gif Index: themes/plastik/plastik/hprogress-t.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hprogress-t.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hsb-g.gif Index: themes/plastik/plastik/hsb-g.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hsb-g.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hsb-n.gif Index: themes/plastik/plastik/hsb-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hsb-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hsb-t.gif Index: themes/plastik/plastik/hsb-t.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hsb-t.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hslider-n.gif Index: themes/plastik/plastik/hslider-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hslider-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/hslider-t.gif Index: themes/plastik/plastik/hslider-t.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/hslider-t.gif cannot compute difference between binary files ADDED themes/plastik/plastik/notebook-c.gif Index: themes/plastik/plastik/notebook-c.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/notebook-c.gif cannot compute difference between binary files ADDED themes/plastik/plastik/notebook-ta.gif Index: themes/plastik/plastik/notebook-ta.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/notebook-ta.gif cannot compute difference between binary files ADDED themes/plastik/plastik/notebook-tn.gif Index: themes/plastik/plastik/notebook-tn.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/notebook-tn.gif cannot compute difference between binary files ADDED themes/plastik/plastik/notebook-ts.gif Index: themes/plastik/plastik/notebook-ts.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/notebook-ts.gif cannot compute difference between binary files ADDED themes/plastik/plastik/radio-hc.gif Index: themes/plastik/plastik/radio-hc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/radio-hc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/radio-hu.gif Index: themes/plastik/plastik/radio-hu.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/radio-hu.gif cannot compute difference between binary files ADDED themes/plastik/plastik/radio-nc.gif Index: themes/plastik/plastik/radio-nc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/radio-nc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/radio-nu.gif Index: themes/plastik/plastik/radio-nu.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/radio-nu.gif cannot compute difference between binary files ADDED themes/plastik/plastik/radio-pc.gif Index: themes/plastik/plastik/radio-pc.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/radio-pc.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinbox-f.gif Index: themes/plastik/plastik/spinbox-f.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinbox-f.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinbox-n.gif Index: themes/plastik/plastik/spinbox-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinbox-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinbut-a.gif Index: themes/plastik/plastik/spinbut-a.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinbut-a.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinbut-n.gif Index: themes/plastik/plastik/spinbut-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinbut-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spindown-d.gif Index: themes/plastik/plastik/spindown-d.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spindown-d.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spindown-n.gif Index: themes/plastik/plastik/spindown-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spindown-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spindown-p.gif Index: themes/plastik/plastik/spindown-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spindown-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinup-d.gif Index: themes/plastik/plastik/spinup-d.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinup-d.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinup-n.gif Index: themes/plastik/plastik/spinup-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinup-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/spinup-p.gif Index: themes/plastik/plastik/spinup-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/spinup-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/tbutton-h.gif Index: themes/plastik/plastik/tbutton-h.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/tbutton-h.gif cannot compute difference between binary files ADDED themes/plastik/plastik/tbutton-n.gif Index: themes/plastik/plastik/tbutton-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/tbutton-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/tbutton-p.gif Index: themes/plastik/plastik/tbutton-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/tbutton-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/tree-n.gif Index: themes/plastik/plastik/tree-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/tree-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/tree-p.gif Index: themes/plastik/plastik/tree-p.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/tree-p.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vprogress-b.gif Index: themes/plastik/plastik/vprogress-b.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vprogress-b.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vsb-g.gif Index: themes/plastik/plastik/vsb-g.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vsb-g.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vsb-n.gif Index: themes/plastik/plastik/vsb-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vsb-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vsb-t.gif Index: themes/plastik/plastik/vsb-t.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vsb-t.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vslider-n.gif Index: themes/plastik/plastik/vslider-n.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vslider-n.gif cannot compute difference between binary files ADDED themes/plastik/plastik/vslider-t.gif Index: themes/plastik/plastik/vslider-t.gif ================================================================== --- /dev/null +++ themes/plastik/plastik/vslider-t.gif cannot compute difference between binary files ADDED themes/radiance/pkgIndex.tcl Index: themes/radiance/pkgIndex.tcl ================================================================== --- /dev/null +++ themes/radiance/pkgIndex.tcl @@ -0,0 +1,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 Index: themes/radiance/radiance/arrowdown-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowdown-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowdown-d.gif Index: themes/radiance/radiance/arrowdown-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowdown-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowdown-n.gif Index: themes/radiance/radiance/arrowdown-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowdown-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowdown-p.gif Index: themes/radiance/radiance/arrowdown-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowdown-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowleft-a.gif Index: themes/radiance/radiance/arrowleft-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowleft-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowleft-d.gif Index: themes/radiance/radiance/arrowleft-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowleft-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowleft-n.gif Index: themes/radiance/radiance/arrowleft-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowleft-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowleft-p.gif Index: themes/radiance/radiance/arrowleft-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowleft-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowright-a.gif Index: themes/radiance/radiance/arrowright-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowright-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowright-d.gif Index: themes/radiance/radiance/arrowright-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowright-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowright-n.gif Index: themes/radiance/radiance/arrowright-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowright-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowright-p.gif Index: themes/radiance/radiance/arrowright-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowright-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowup-a.gif Index: themes/radiance/radiance/arrowup-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowup-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowup-d.gif Index: themes/radiance/radiance/arrowup-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowup-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowup-n.gif Index: themes/radiance/radiance/arrowup-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowup-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/arrowup-p.gif Index: themes/radiance/radiance/arrowup-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/arrowup-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/blank.gif Index: themes/radiance/radiance/blank.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/blank.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-a.gif Index: themes/radiance/radiance/button-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-d.gif Index: themes/radiance/radiance/button-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-n.gif Index: themes/radiance/radiance/button-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-p.gif Index: themes/radiance/radiance/button-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-s.gif Index: themes/radiance/radiance/button-s.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-s.gif cannot compute difference between binary files ADDED themes/radiance/radiance/button-sa.gif Index: themes/radiance/radiance/button-sa.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/button-sa.gif cannot compute difference between binary files ADDED themes/radiance/radiance/check-dc.gif Index: themes/radiance/radiance/check-dc.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/check-dc.gif cannot compute difference between binary files ADDED themes/radiance/radiance/check-du.gif Index: themes/radiance/radiance/check-du.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/check-du.gif cannot compute difference between binary files ADDED themes/radiance/radiance/check-nc.gif Index: themes/radiance/radiance/check-nc.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/check-nc.gif cannot compute difference between binary files ADDED themes/radiance/radiance/check-nu.gif Index: themes/radiance/radiance/check-nu.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/check-nu.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-n.gif Index: themes/radiance/radiance/combo-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-ra.gif Index: themes/radiance/radiance/combo-ra.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-ra.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-rd.gif Index: themes/radiance/radiance/combo-rd.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-rd.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-rf.gif Index: themes/radiance/radiance/combo-rf.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-rf.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-rn.gif Index: themes/radiance/radiance/combo-rn.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-rn.gif cannot compute difference between binary files ADDED themes/radiance/radiance/combo-rp.gif Index: themes/radiance/radiance/combo-rp.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/combo-rp.gif cannot compute difference between binary files ADDED themes/radiance/radiance/comboarrow-a.gif Index: themes/radiance/radiance/comboarrow-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/comboarrow-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/comboarrow-d.gif Index: themes/radiance/radiance/comboarrow-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/comboarrow-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/comboarrow-n.gif Index: themes/radiance/radiance/comboarrow-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/comboarrow-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/comboarrow-p.gif Index: themes/radiance/radiance/comboarrow-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/comboarrow-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/progress-h.gif Index: themes/radiance/radiance/progress-h.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/progress-h.gif cannot compute difference between binary files ADDED themes/radiance/radiance/progress-v.gif Index: themes/radiance/radiance/progress-v.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/progress-v.gif cannot compute difference between binary files ADDED themes/radiance/radiance/radio-dc.gif Index: themes/radiance/radiance/radio-dc.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/radio-dc.gif cannot compute difference between binary files ADDED themes/radiance/radiance/radio-du.gif Index: themes/radiance/radiance/radio-du.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/radio-du.gif cannot compute difference between binary files ADDED themes/radiance/radiance/radio-nc.gif Index: themes/radiance/radiance/radio-nc.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/radio-nc.gif cannot compute difference between binary files ADDED themes/radiance/radiance/radio-nu.gif Index: themes/radiance/radiance/radio-nu.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/radio-nu.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-ha.gif Index: themes/radiance/radiance/sbthumb-ha.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-ha.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-hd.gif Index: themes/radiance/radiance/sbthumb-hd.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-hd.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-hn.gif Index: themes/radiance/radiance/sbthumb-hn.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-hn.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-hp.gif Index: themes/radiance/radiance/sbthumb-hp.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-hp.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-va.gif Index: themes/radiance/radiance/sbthumb-va.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-va.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-vd.gif Index: themes/radiance/radiance/sbthumb-vd.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-vd.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-vn.gif Index: themes/radiance/radiance/sbthumb-vn.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-vn.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sbthumb-vp.gif Index: themes/radiance/radiance/sbthumb-vp.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sbthumb-vp.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-ha.gif Index: themes/radiance/radiance/scale-ha.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-ha.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-hd.gif Index: themes/radiance/radiance/scale-hd.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-hd.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-hn.gif Index: themes/radiance/radiance/scale-hn.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-hn.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-va.gif Index: themes/radiance/radiance/scale-va.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-va.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-vd.gif Index: themes/radiance/radiance/scale-vd.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-vd.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scale-vn.gif Index: themes/radiance/radiance/scale-vn.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scale-vn.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scaletrough-h.gif Index: themes/radiance/radiance/scaletrough-h.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scaletrough-h.gif cannot compute difference between binary files ADDED themes/radiance/radiance/scaletrough-v.gif Index: themes/radiance/radiance/scaletrough-v.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/scaletrough-v.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sep-h.gif Index: themes/radiance/radiance/sep-h.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sep-h.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sep-v.gif Index: themes/radiance/radiance/sep-v.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sep-v.gif cannot compute difference between binary files ADDED themes/radiance/radiance/sizegrip.gif Index: themes/radiance/radiance/sizegrip.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/sizegrip.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tab-a.gif Index: themes/radiance/radiance/tab-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tab-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tab-n.gif Index: themes/radiance/radiance/tab-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tab-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/toolbutton-a.gif Index: themes/radiance/radiance/toolbutton-a.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/toolbutton-a.gif cannot compute difference between binary files ADDED themes/radiance/radiance/toolbutton-d.gif Index: themes/radiance/radiance/toolbutton-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/toolbutton-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/toolbutton-n.gif Index: themes/radiance/radiance/toolbutton-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/toolbutton-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/toolbutton-p.gif Index: themes/radiance/radiance/toolbutton-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/toolbutton-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance/toolbutton-pa.gif Index: themes/radiance/radiance/toolbutton-pa.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/toolbutton-pa.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tree-d.gif Index: themes/radiance/radiance/tree-d.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tree-d.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tree-h.gif Index: themes/radiance/radiance/tree-h.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tree-h.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tree-n.gif Index: themes/radiance/radiance/tree-n.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tree-n.gif cannot compute difference between binary files ADDED themes/radiance/radiance/tree-p.gif Index: themes/radiance/radiance/tree-p.gif ================================================================== --- /dev/null +++ themes/radiance/radiance/tree-p.gif cannot compute difference between binary files ADDED themes/radiance/radiance8.4.tcl Index: themes/radiance/radiance8.4.tcl ================================================================== --- /dev/null +++ themes/radiance/radiance8.4.tcl @@ -0,0 +1,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 Index: themes/radiance/radiance8.5.tcl ================================================================== --- /dev/null +++ themes/radiance/radiance8.5.tcl @@ -0,0 +1,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) + + } +} +