1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
|
<html>
<head>
<title>Commands Related to tile Themes</title>
<meta name="Author" content="Csaba Nemethi">
<meta name="Keywords" content="tablelist, theme, tile">
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<h1>Commands Related to tile Themes</h1>
<h3>by</h3>
<h2>Csaba Nemethi</h2>
<address>
<a href="mailto:csaba.nemethi@t-online.de">csaba.nemethi@t-online.de</a>
</address>
</div>
<hr>
<h2><a name="contents"></a>Contents</h2>
<ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#setTheme">The <code><b>tablelist::setTheme</b></code>
Command</a></li>
<li><a href="#getCurrentTheme">The
<code><b>tablelist::getCurrentTheme</b></code> Command</a></li>
<li><a href="#getThemes">The <code><b>tablelist::getThemes</b></code>
Command</a></li>
<li><a href="#setThemeDefaults">The
<code><b>tablelist::setThemeDefaults</b></code> Command</a></li>
</ul>
<div align="center">
<p><a href="index.html">Start page</a></p>
</div>
<hr>
<h2><a name="overview"></a>Overview</h2>
<p>The commands described in this reference page should only be invoked when
using the package Tablelist_tile. They enable you to set and query the
current theme, to retrieve a list of the available themes, and to make sure
that your widgets will have a theme-specific appearance.</p>
<div align="center">
<p><a href="#contents">Contents</a> <a href=
"index.html">Start page</a></p>
</div>
<hr>
<h2><a name="setTheme"></a>The <code><b>tablelist::setTheme</b></code>
Command</h2>
<dl>
<dt><b>NAME</b></dt>
<dd><code>tablelist::setTheme</code> - Set the current theme</dd>
<dt><br>
<b>SYNOPSIS</b></dt>
<dd>
<pre>
<b>tablelist::setTheme</b> <i>theme</i>
</pre>
</dd>
<dt><b>DESCRIPTION</b></dt>
<dd>
This command sets the current theme to <code><i>theme</i></code>, loading
it if necessary. It is simply an alias for
<code><b>ttk::setTheme</b></code> or <code><b>tile::setTheme</b></code>,
depending on the tile version loaded into the interpreter. (The
<code><b>tile::setTheme</b></code> command was renamed to
<code><b>ttk::setTheme</b></code> in tile version 0.8.)
<p>Being just an alias for a tile library procedure, the
<code><b>tablelist::setTheme</b></code> command does exactly the same as
the original one: It loads the package implementing the given theme if
needed, sets the theme to the specified one, and saves the latter in the
variable <code><b>ttk::currentTheme</b></code> or
<code><b>tile::currentTheme</b></code>, depending on the current tile
version.</p>
</dd>
<dt><b>KEYWORDS</b></dt>
<dd>tablelist, theme, tile</dd>
</dl>
<div align="center">
<p><a href="#contents">Contents</a> <a href=
"index.html">Start page</a></p>
</div>
<hr>
<h2><a name="getCurrentTheme"></a>The
<code><b>tablelist::getCurrentTheme</b></code> Command</h2>
<dl>
<dt><b>NAME</b></dt>
<dd><code>tablelist::getCurrentTheme</code> - Get the current theme</dd>
<dt><br>
<b>SYNOPSIS</b></dt>
<dd>
<pre>
<b>tablelist::getCurrentTheme</b>
</pre>
</dd>
<dt><b>DESCRIPTION</b></dt>
<dd>This command returns the value of the variable
<code><b>ttk::currentTheme</b></code> or
<code><b>tile::currentTheme</b></code>, depending on the tile version
loaded into the interpreter. (The namespace containing the variable
<code><b>currentTheme</b></code> was changed in tile version 0.8 from
<code><b>tile</b></code> to <code><b>ttk</b></code>.)</dd>
<dt><br>
<b>KEYWORDS</b></dt>
<dd>tablelist, theme, tile</dd>
</dl>
<div align="center">
<p><a href="#contents">Contents</a> <a href=
"index.html">Start page</a></p>
</div>
<hr>
<h2><a name="getThemes"></a>The <code><b>tablelist::getThemes</b></code>
Command</h2>
<dl>
<dt><b>NAME</b></dt>
<dd><code>tablelist::getThemes</code> - Get the themes registered in the
package database</dd>
<dt><br>
<b>SYNOPSIS</b></dt>
<dd>
<pre>
<b>tablelist::getThemes</b>
</pre>
</dd>
<dt><b>DESCRIPTION</b></dt>
<dd>This command returns a list of the themes registered in the package
database. It is simply an alias for <code><b>ttk::themes</b></code>
or <code><b>tile::availableThemes</b></code>, depending on the tile version
loaded into the interpreter. (The
<code><b>tile::availableThemes</b></code> command was renamed to
<code><b>ttk::themes</b></code> in tile version 0.8.)</dd>
<dt><br>
<b>KEYWORDS</b></dt>
<dd>tablelist, theme, tile</dd>
</dl>
<div align="center">
<p><a href="#contents">Contents</a> <a href=
"index.html">Start page</a></p>
</div>
<hr>
<h2>The <a name="setThemeDefaults"></a>
<code><b>tablelist::setThemeDefaults</b></code> Command</h2>
<dl>
<dt><b>NAME</b></dt>
<dd><code>tablelist::setThemeDefaults</code> - Set theme-specific default
values of some tablelist configuration options</dd>
<dt><br>
<b>SYNOPSIS</b></dt>
<dd>
<pre>
<b>tablelist::setThemeDefaults</b>
</pre>
</dd>
<dt><b>DESCRIPTION</b></dt>
<dd>
This command populates the array
<code><b>tablelist::themeDefaults</b></code> with theme-specific default
values of a series of Tablelist configuration options. The array
names are the command-line names of the options, and the corresponding
array values are the default values of these configuration options for
the currently set tile theme.
<p>The options whose names and values are written into the array
<code><b>tablelist::themeDefaults</b></code> are:
<code><b>-background</b></code>, <code><b>-foreground</b></code>,
<code><b>-disabledforeground</b></code>,
<code><b>-stripebackground</b></code>,
<code><b>-selectbackground</b></code>,
<code><b>-selectforeground</b></code>,
<code><b>-selectborderwidth</b></code>, <code><b>-font</b></code>,
<code><b>-labelbackground</b></code>,
<code><b>-labelforeground</b></code>, <code><b>-labelfont</b></code>,
<code><b>-labelborderwidth</b></code>, <code><b>-labelpady</b></code>,
<code><b>-arrowcolor</b></code>, <code><b>-arrowdisabledcolor</b></code>,
and <code><b>-arrowstyle</b></code>. In addition, the command sets
some other array elements to theme-specific default values of the
background and foreground colors of the column labels in
<code><b>disabled</b></code>, <code><b>active</b></code>, and
<code><b>pressed</b></code> states. (Tablelist needs the label
colors for handling sort arrows and images with transparent background in
the column labels.)</p>
<p>The <code><b>tablelist::setThemeDefaults</b></code> command is invoked
by Tablelist_tile automatically whenever a tablelist widget is createad
or the <code><b><<ThemeChanged>></b></code> virtual event is
received by a tablelist widget. In the latter case, the widget is
reconfigured, using the new default values of those options that were not
set explicitly to values different from the corresponding defaults.</p>
<p>Besides being used by the Tablelist_tile code, this command can also
be invoked in Tcl scripts, still before creating any tile-based tablelist
widget. By calling it explicitly and using the values written by it
into the array <code><b>tablelist::themeDefaults</b></code>, you can make
sure that classical Tk widgets, e.g., listbox and text, will have a
theme-specific appearance, just like the tile widgets. For example,
you can add some common configuration options to the option database as
follows:</p>
<blockquote>
<pre>
tablelist::setThemeDefaults
if {$tile::currentTheme eq "aqua"} {
option add *Listbox.selectBackground \
$tablelist::themeDefaults(-selectbackground)
option add *Listbox.selectForeground \
$tablelist::themeDefaults(-selectforeground)
} else {
option add *selectBackground $tablelist::themeDefaults(-selectbackground)
option add *selectForeground $tablelist::themeDefaults(-selectforeground)
}
option add *selectBorderWidth $tablelist::themeDefaults(-selectborderwidth)
</pre>
</blockquote>
</dd>
<dt><b>KEYWORDS</b></dt>
<dd>tablelist, theme, tile</dd>
</dl>
<div align="center">
<p><a href="#contents">Contents</a> <a href=
"index.html">Start page</a></p>
</div>
</body>
</html>
|