1# kroc.tcl - Copyright (C) 2004 David Zolli <kroc@kroc.tk>
2#
3# A sample pixmap theme for the tile package.
4
5#package require tile::pixmap
6
7namespace eval tile {
8    namespace eval kroc {
9        variable version 0.0.1
10    }
11}
12
13namespace eval tile::kroc {
14
15    set imgdir [file join [file dirname [info script]] kroc]
16    array set Images [tile::LoadImages $imgdir *.gif]
17
18    if {[package vsatisfies [package provide tile] 0.5]} {
19        set TNoteBook_Tab TNotebook.Tab
20    } else {
21        set TNoteBook_Tab Tab.TNotebook
22    }
23
24    style theme create kroc -parent alt -settings {
25
26        style default . -background #FCB64F -troughcolor #F8C278 -borderwidth 1
27	style default . -font TkDefaultFont -borderwidth 1
28        style map . -background [list active #694418]
29        style map . -foreground [list disabled #B2B2B2 active #FFE7CB]
30
31        style default TButton -padding "10 4"
32
33        style default $TNoteBook_Tab -padding {10 3} -font TkDefaultFont
34        style map $TNoteBook_Tab \
35                -background [list selected #FCB64F {} #FFE6BA] \
36                -foreground [list {} black] \
37                -padding [list selected {10 6 10 3}]
38
39        style map TScrollbar \
40		-background	{ pressed #694418} \
41                -arrowcolor	{ pressed #FFE7CB } \
42                -relief		{ pressed sunken } \
43                ;
44
45        style layout Vertical.TScrollbar {
46            Scrollbar.trough -children {
47                Scrollbar.uparrow -side top
48                Scrollbar.downarrow -side bottom
49                Scrollbar.uparrow -side bottom
50                Scrollbar.thumb -side top -expand true
51            }
52        }
53
54        style layout Horizontal.TScrollbar {
55            Scrollbar.trough -children {
56                Scrollbar.leftarrow -side left
57                Scrollbar.rightarrow -side right
58                Scrollbar.leftarrow -side right
59                Scrollbar.thumb -side left -expand true
60            }
61        }
62
63        #
64        # Elements:
65        #
66        if {[package vsatisfies [package provide tile] 0.5]} {
67
68            style element create Button.button image $Images(button-n) \
69                -map [list  \
70                    pressed		$Images(button-p) \
71                    active		$Images(button-h) \
72                    ] -border 3 -sticky ew
73
74            style element create Checkbutton.indicator image $Images(check-nu) \
75                -map [list \
76                    {pressed selected}	$Images(check-nc) \
77                    pressed		$Images(check-nu) \
78                    {active selected}	$Images(check-hc) \
79                    active		$Images(check-hu) \
80                    selected		$Images(check-nc) \
81                    ] -sticky w
82
83            style element create Radiobutton.indicator image $Images(radio-nu) \
84                -map [list \
85                    {pressed selected}	$Images(radio-nc) \
86                    pressed		$Images(radio-nu) \
87                    {active selected}	$Images(radio-hc) \
88                    active		$Images(radio-hu) \
89                    selected		$Images(radio-nc) \
90                    ] -sticky w
91
92        } else {
93
94            style element create Button.button pixmap -images [list  \
95                    pressed		$Images(button-p) \
96                    active		$Images(button-h) \
97                    {}			$Images(button-n) \
98                    ] -border 3 -tiling tile
99
100            style element create Checkbutton.indicator pixmap -images [list \
101                    {pressed selected}	$Images(check-nc) \
102                    pressed		$Images(check-nu) \
103                    {active selected}	$Images(check-hc) \
104                    active		$Images(check-hu) \
105                    selected		$Images(check-nc) \
106                    {}			$Images(check-nu) \
107                    ] -tiling fixed
108
109            style element create Radiobutton.indicator pixmap -images [list \
110                    {pressed selected}	$Images(radio-nc) \
111                    pressed		$Images(radio-nu) \
112                    {active selected}	$Images(radio-hc) \
113                    active		$Images(radio-hu) \
114                    selected		$Images(radio-nc) \
115                    {}			$Images(radio-nu) \
116                    ] -tiling fixed
117
118        }
119
120        #
121        # Settings: (*button.background is not needed in tile 0.5 or above)
122        #
123        style layout TButton {
124	    Button.button -children {
125		Button.focus -children {
126		    Button.padding -children {
127			Button.label -expand true -sticky {}
128		    }
129		}
130	    }
131        }
132
133        style layout TCheckbutton {
134	    Checkbutton.border -children {
135		Checkbutton.background
136		Checkbutton.padding -children {
137		    Checkbutton.indicator -side left
138		    Checkbutton.focus -side left -children {
139			Checkbutton.label
140		    }
141		}
142            }
143        }
144
145        style layout TRadiobutton {
146            Radiobutton.border -children {
147                Radiobutton.background
148                Radiobutton.padding -children  {
149                    Radiobutton.indicator -side left
150                    Radiobutton.focus -expand true -sticky w -children {
151                        Radiobutton.label -side right -expand true
152                    }
153                }
154            }
155        }
156
157    } }
158
159# -------------------------------------------------------------------------
160
161package provide tile::theme::kroc $::tile::kroc::version
162
163# -------------------------------------------------------------------------
164