ZPalette¶
Tui Widgets uses a palette system for colors.
The palette assignes colors to symbols. It also has a rule system to change color assignments when the path on the widget tree to the root contains a widget with specific palette class.
ZPalette has predefined palettes which an application should use as a base for custom palettes. This ensures that new color symbols introduced in future version get some kind of default even when using custom palettes.
-
class Tui::ZPalette¶
ZPalette stores color assignments for use in widget painting.
It is copyable and defines no comparision operators.
It the following predefined default palettes:
-
class ColorDef¶
Defines a color in the palette
-
Tui::ZImplicitSymbol name¶
Symbol for the color to define.
-
Tui::ZImplicitSymbol name¶
-
enum Type¶
-
enumerator Publish¶
The changes in the rule apply to the widget with the given palette classes and all descendants.
-
enumerator Local¶
The change in the command apply only to the widget with the given palette classes, colors descendants are not changed.
-
enumerator Publish¶
-
class RuleCmd¶
Defines a part of a
Tui::ZPalette::RuleDef
.-
Tui::ZImplicitSymbol name¶
Symbol of the color to change.
-
Tui::ZImplicitSymbol reference¶
Symbol of the color to use as new color.
-
Tui::ZImplicitSymbol name¶
-
class RuleDef¶
Defines a rule matching palette class combinations to color changes commands.
-
void setColors(QList<Tui::ZPalette::ColorDef> newColors)¶
Define colors for symbols as specified in
newColors
. The defined colors take effect for the widget given this palette and its descendants unless overriden later.
-
addRules(QList<Tui::ZPalette::RuleDef> newRules)¶
Define color assignment rules as specified in
newRules
. Existing rules are not removed.The rules take effect on the widget given this plaette and its descendants.
Rules with more more classes to match override assignments by rules with less classes to match.
-
bool isNull() const¶
Returns
true
if not colors or rules are set in this palette.
-
ZColor getColor(ZWidget *targetWidget, ZImplicitSymbol x)¶
Return a named color for a target widget. If the color was not defined it returns red (
#ff0000
) as placeholder.This is the backend for
ZColor Tui::ZWidget::getColor(const ZImplicitSymbol &x)
, which applications should use instead.
-
class ColorDef¶
Palette Symbols¶
The predefined palettes assume most widgets are inside windows (or dialogs).
Symbols available without a window:
name |
description |
---|---|
root.bg |
background color for the root widget / backdrop |
root.fg |
foreground color for the root widget / backdrop |
menu.bg |
background for the menubar and for popup menus |
menu.fg |
foreground for the menubar and for popup menus |
menu.disabled.bg |
background for disabled menu items |
menu.disabled.fg |
foreground for disabled menu items |
menu.shortcut.bg |
background for menu item mnemonic (shortcut) letter |
menu.shortcut.fg |
foreground for menu item mnemonic (shortcut) letter |
menu.selected.bg |
background for the selected menu item |
menu.selected.fg |
foreground for the selected menu item |
menu.selected.disabled.bg |
background for the selected menu item in case it is disabled |
menu.selected.disabled.fg |
foreground for the selected menu item in case it is disabled |
menu.selected.shortcut.bg |
background for the selected menu item’s mnemonic (shortcut) letter |
menu.selected.shortcut.fg |
foreground for the selected menu item’s mnemonic (shortcut) letter |
Additional symbols available inside a window:
name |
description |
---|---|
bg |
generic background color |
window.bg |
background color of the window |
window.frame.focused.bg |
background color of the frame of a focused window |
window.frame.focused.fg |
foreground color of the frame of a focused window |
window.frame.focused.control.bg |
background color of the control in the frame of a focused window |
window.frame.focused.control.fg |
foreground color of the control in the frame of a focused window |
window.frame.unfocused.bg |
background color of the frame of an unfocused window |
window.frame.unfocused.fg |
foreground color of the frame of an unfocused window |
scrollbar.bg |
scrollbar background color |
scrollbar.fg |
scrollbar foreground color |
scrollbar.control.bg |
scrollbar dragger control backgroud color |
scrollbar.control.fg |
scrollbar dragger control foregroud color |
text.bg |
|
text.fg |
|
text.selected.bg |
|
text.selected.fg |
|
control.bg |
background color for unfocused controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.fg |
foreground color for unfocused controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.focused.bg |
background color for focused controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.focused.fg |
foreground color for focused controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.disabled.bg |
background color for disabled controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.disabled.fg |
foreground color for disabled controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.shortcut.bg |
background color for mnemonic (shortcut) letter for controls like lables, radioboxes, checkboxes and similar non boxed controls. |
control.shortcut.fg |
foreground color for mnemonic (shortcut) letter for controls like lables, radioboxes, checkboxes and similar non boxed controls. |
dataview.bg |
background color for unselected items in unfocused data controls like list views. |
dataview.fg |
foreground color for unselected items in unfocused data controls like list views. |
dataview.selected.bg |
background color for selected items in unfocused data controls like list views. |
dataview.selected.fg |
foreground color for selected items in unfocused data controls like list views. |
dataview.selected.focused.bg |
background color for selected items in focused data controls like list views. |
dataview.selected.focused.fg |
foreground color for selected items in focused data controls like list views. |
dataview.disabled.bg |
background color for unselected items in disabled data controls like list views. |
dataview.disabled.fg |
foreground color for unselected items in disabled data controls like list views. |
dataview.disabled.selected.bg |
background color for selected items in disabled data controls like list views. |
dataview.disabled.selected.fg |
foreground color for selected items in disabled data controls like list views. |
button.bg |
background color for unfocused buttons |
button.fg |
foreground color for unfocused buttons |
button.default.bg |
background color for unfocused default buttons |
button.default.fg |
foreground color for unfocused default buttons |
button.focused.bg |
background color for focused buttons |
button.focused.fg |
foreground color for focused buttons |
button.disabled.bg |
background color for disabled buttons |
button.disabled.fg |
foreground color for disabled buttons |
button.shortcut.bg |
background color for button mnemonic (shortcut) letter |
button.shortcut.fg |
foreground color for button mnemonic (shortcut) letter |
lineedit.bg |
background color for unfocused input boxes |
lineedit.fg |
foreground color for unfocused input boxes |
lineedit.focused.bg |
background color for focused input boxes |
lineedit.focused.fg |
foreground color for focused input boxes |
lineedit.disabled.bg |
background color for disabled input boxes |
lineedit.disabled.fg |
foreground color for disabled input boxes |
Predefined palette classes:
name |
description |
---|---|
window |
The widget with this class triggers window rules. |
dialog |
The widget with this class and the |
cyan |
The widget with this class and the |