tablelist::setTheme
Commandtablelist::getCurrentTheme
Commandtablelist::getThemes
Commandtablelist::setThemeDefaults
CommandThe 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.
tablelist::setTheme
Commandtablelist::setTheme
– Set the current themetablelist::setTheme theme
theme
,
loading it if necessary. It is simply an alias for
ttk::setTheme
or tile::setTheme
,
depending on the tile version loaded into the interpreter. (The
tile::setTheme
command was renamed to
ttk::setTheme
in tile version 0.8.)tablelist::setTheme
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 ttk::currentTheme
or
tile::currentTheme
, depending on the current tile
version.tablelist::getCurrentTheme
Commandtablelist::getCurrentTheme
– Get the current
themetablelist::getCurrentTheme
ttk::currentTheme
or
tile::currentTheme
, depending on the tile version
loaded into the interpreter. (The namespace containing the variable
currentTheme
was changed in tile version 0.8 from
tile
to ttk
.)tablelist::getThemes
Commandtablelist::getThemes
– Get the themes registered in
the package databasetablelist::getThemes
ttk::themes
or tile::availableThemes
, depending on the tile version
loaded into the interpreter. (The
tile::availableThemes
command was renamed to
ttk::themes
in tile version 0.8.)tablelist::setThemeDefaults
Commandtablelist::setThemeDefaults
– Set theme-specific
default values of some tablelist configuration optionstablelist::setThemeDefaults
tablelist::themeDefaults
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.tablelist::themeDefaults
are:
-background
, -foreground
,
-disabledforeground
,
-stripebackground
,
-selectbackground
,
-selectforeground
,
-selectborderwidth
, -font
,
-labelforeground
, -labelfont
,
-labelborderwidth
, -labelpady
,
-arrowcolor
, -arrowdisabledcolor
,
-arrowstyle
, and -treestyle
.
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 normal
, disabled
,
active
, and pressed
states.
(Tablelist needs the label colors for handling sort arrows and images with
transparent background in the column labels.)tablelist::setThemeDefaults
command
is invoked by Tablelist_tile automatically whenever a tablelist widget is
createad or the <<ThemeChanged>>
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.tablelist::themeDefaults
,
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:
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)