Package org.apache.pivot.wtk.skin.terra
Class TerraTheme
- java.lang.Object
-
- org.apache.pivot.wtk.Theme
-
- org.apache.pivot.wtk.skin.terra.TerraTheme
-
public final class TerraTheme extends Theme
The default (and only) Pivot theme ("Terra"), which is highly customizable as far as color and style using configuration files and runtime attributes.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCOLOR_MULTIPLIER_PROPERTYProperty map key for the default color multiplier to use for the theme.static java.lang.StringCOLORS_PROPERTYProperty map key for the list of base colors for the theme.static java.lang.StringCOMMAND_BUTTON_STYLEThe style name for our "command" buttons (such as "OK" and "Cancel").static java.lang.StringDEFAULT_BACKGROUND_COLOR_PROPERTYProperty map key for the default background color for this theme.static java.lang.StringDEFAULT_FOREGROUND_COLOR_PROPERTYProperty map key for the default foreground color for the theme.static java.lang.StringDEFAULT_STYLES_FILEName of the file to read for setting default styles for each component skin.static java.lang.StringDEFAULT_STYLES_PROPERTYProperty map key for the name of the default styles file.static java.lang.StringFONT_PROPERTYProperty map key for the default font for the theme.static java.lang.StringLOCATION_PROPERTYProperty map key for the location of the theme classes.static java.lang.StringMESSAGE_ICONS_PROPERTYProperty map key for the message icons.static java.lang.StringNAMED_STYLES_FILEName of the file containing our theme's default style definitions.static java.lang.StringNAMED_STYLES_PROPERTYProperty map key for the name of the named styles file.static java.lang.StringSMALL_MESSAGE_ICONS_PROPERTYProperty map key for the small message icons.static java.lang.StringTHEME_IS_DARK_PROPERTYProperty map key for the "isDark" flag for the theme.static java.lang.StringTHEME_IS_FLAT_PROPERTYProperty map key for the "isFlat" flag for this theme.static java.lang.StringTHICK_FOCUS_RECTANGLE_PROPERTYProperty map key for the "thickFocusRectangle" flag for the theme.static java.lang.StringTRANSITION_ENABLED_PROPERTYProperty map key for the "transitionEnabled" flag for the theme.-
Fields inherited from class org.apache.pivot.wtk.Theme
BOLD_KEY, ITALIC_KEY, NAME_KEY, PROVIDER_NAME, SIZE_KEY
-
-
Constructor Summary
Constructors Constructor Description TerraTheme()Construct the "Terra" theme and set the default skin classes for each component.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.awt.Colorbrighten(java.awt.Color color)static java.awt.Colordarken(java.awt.Color color)java.awt.ColorgetBaseColor(int index)Gets a color from the theme's base color palette.java.awt.ColorgetColor(int index)Gets a value from the theme's complete color palette (including derived colors, if any).java.awt.ColorgetDefaultBackgroundColor()Gets the theme's default background color.java.awt.ColorgetDefaultForegroundColor()Gets the theme's default foreground color.java.awt.FontgetFont()Gets the theme's font.ImagegetMessageIcon(MessageType messageType)Gets the image that this theme uses to represent messages of the specified type.intgetNumberOfColors()Gets the total number of Colors (including derived colors, if any).intgetNumberOfPaletteColors()Gets the number of Palette Colors.ImagegetSmallMessageIcon(MessageType messageType)Gets the small image that this theme uses to represent messages of the specified type.booleanisThemeDark()Tell if the theme is dark.
Usually this means that (if true) any color will be transformed in the opposite way (brightening instead of darkening, and darkening instead of brightening).booleanisThemeFlat()Tell if the theme is flat.
Usually this means that (if true) any border/shadow will not be drawn.booleanisThickFocusRectangle()Tell if the theme has thick focus rectangles, which may be more visible in some color schemes, or some screen resolutions.booleanisTransitionEnabled()Tell if the theme has transitions enabled.
Usually this means that (if false) any effect/transition will not be drawn.voidsetBaseColor(int index, java.awt.Color baseColor)Sets a color in the theme's base color palette.voidsetColor(int index, java.awt.Color color)Sets a value in the theme's complete color palette (including derived colors, if any).<T extends ComponentSkin>
voidsetDefaultStyles(T skin)Set appropriate default styles for the given skin object, specified by the current theme.voidsetFont(java.awt.Font newFont)Sets the theme's font.voidsetMessageIcon(MessageType messageType, Image messageIcon)Sets the image that this theme uses to represent messages of the specified type.voidsetSmallMessageIcon(MessageType messageType, Image smallMessageIcon)Sets the small image that this theme uses to represent messages of the specified type.-
Methods inherited from class org.apache.pivot.wtk.Theme
deriveFont, getSkinClass, getTheme, set
-
-
-
-
Field Detail
-
LOCATION_PROPERTY
public static final java.lang.String LOCATION_PROPERTY
Property map key for the location of the theme classes.- See Also:
- Constant Field Values
-
FONT_PROPERTY
public static final java.lang.String FONT_PROPERTY
Property map key for the default font for the theme.- See Also:
- Constant Field Values
-
COLOR_MULTIPLIER_PROPERTY
public static final java.lang.String COLOR_MULTIPLIER_PROPERTY
Property map key for the default color multiplier to use for the theme.- See Also:
- Constant Field Values
-
THEME_IS_DARK_PROPERTY
public static final java.lang.String THEME_IS_DARK_PROPERTY
Property map key for the "isDark" flag for the theme.- See Also:
- Constant Field Values
-
THEME_IS_FLAT_PROPERTY
public static final java.lang.String THEME_IS_FLAT_PROPERTY
Property map key for the "isFlat" flag for this theme.- See Also:
- Constant Field Values
-
TRANSITION_ENABLED_PROPERTY
public static final java.lang.String TRANSITION_ENABLED_PROPERTY
Property map key for the "transitionEnabled" flag for the theme.- See Also:
- Constant Field Values
-
THICK_FOCUS_RECTANGLE_PROPERTY
public static final java.lang.String THICK_FOCUS_RECTANGLE_PROPERTY
Property map key for the "thickFocusRectangle" flag for the theme.- See Also:
- Constant Field Values
-
COLORS_PROPERTY
public static final java.lang.String COLORS_PROPERTY
Property map key for the list of base colors for the theme.- See Also:
- Constant Field Values
-
DEFAULT_STYLES_PROPERTY
public static final java.lang.String DEFAULT_STYLES_PROPERTY
Property map key for the name of the default styles file.- See Also:
- Constant Field Values
-
NAMED_STYLES_PROPERTY
public static final java.lang.String NAMED_STYLES_PROPERTY
Property map key for the name of the named styles file.- See Also:
- Constant Field Values
-
MESSAGE_ICONS_PROPERTY
public static final java.lang.String MESSAGE_ICONS_PROPERTY
Property map key for the message icons.- See Also:
- Constant Field Values
-
SMALL_MESSAGE_ICONS_PROPERTY
public static final java.lang.String SMALL_MESSAGE_ICONS_PROPERTY
Property map key for the small message icons.- See Also:
- Constant Field Values
-
DEFAULT_BACKGROUND_COLOR_PROPERTY
public static final java.lang.String DEFAULT_BACKGROUND_COLOR_PROPERTY
Property map key for the default background color for this theme.- See Also:
- Constant Field Values
-
DEFAULT_FOREGROUND_COLOR_PROPERTY
public static final java.lang.String DEFAULT_FOREGROUND_COLOR_PROPERTY
Property map key for the default foreground color for the theme.- See Also:
- Constant Field Values
-
COMMAND_BUTTON_STYLE
public static final java.lang.String COMMAND_BUTTON_STYLE
The style name for our "command" buttons (such as "OK" and "Cancel").- See Also:
- Constant Field Values
-
DEFAULT_STYLES_FILE
public static final java.lang.String DEFAULT_STYLES_FILE
Name of the file to read for setting default styles for each component skin.- See Also:
- Constant Field Values
-
NAMED_STYLES_FILE
public static final java.lang.String NAMED_STYLES_FILE
Name of the file containing our theme's default style definitions.- See Also:
- Constant Field Values
-
-
Method Detail
-
getFont
public java.awt.Font getFont()
Gets the theme's font.
-
setFont
public void setFont(java.awt.Font newFont)
Sets the theme's font.
-
getColor
public java.awt.Color getColor(int index)
Gets a value from the theme's complete color palette (including derived colors, if any).
-
setColor
public void setColor(int index, java.awt.Color color)Sets a value in the theme's complete color palette (including derived colors, if any).
-
getBaseColor
public java.awt.Color getBaseColor(int index)
Gets a color from the theme's base color palette.- Specified by:
getBaseColorin classTheme- Parameters:
index- the index of the color, starting from 0- Returns:
- A color from the theme's base color palette.
-
setBaseColor
public void setBaseColor(int index, java.awt.Color baseColor)Sets a color in the theme's base color palette.- Specified by:
setBaseColorin classTheme- Parameters:
index- the index of the color, starting from 0baseColor- the color to set
-
getNumberOfPaletteColors
public int getNumberOfPaletteColors()
Gets the number of Palette Colors.- Specified by:
getNumberOfPaletteColorsin classTheme- Returns:
- the number of colors in the base palette
-
getNumberOfColors
public int getNumberOfColors()
Gets the total number of Colors (including derived colors, if any).- Specified by:
getNumberOfColorsin classTheme- Returns:
- Total number of theme colors.
-
isThemeDark
public boolean isThemeDark()
Tell if the theme is dark.
Usually this means that (if true) any color will be transformed in the opposite way (brightening instead of darkening, and darkening instead of brightening).- Specified by:
isThemeDarkin classTheme- Returns:
- true if dark, false otherwise (default)
-
isThemeFlat
public boolean isThemeFlat()
Tell if the theme is flat.
Usually this means that (if true) any border/shadow will not be drawn.- Specified by:
isThemeFlatin classTheme- Returns:
- true if flat, false otherwise (default)
-
isTransitionEnabled
public boolean isTransitionEnabled()
Tell if the theme has transitions enabled.
Usually this means that (if false) any effect/transition will not be drawn.- Specified by:
isTransitionEnabledin classTheme- Returns:
- true if enabled (default), false otherwise
-
isThickFocusRectangle
public boolean isThickFocusRectangle()
Tell if the theme has thick focus rectangles, which may be more visible in some color schemes, or some screen resolutions.- Specified by:
isThickFocusRectanglein classTheme- Returns:
trueif the focus rectangle should be thick, orfalsefor thin (one-pixel) ones (the default for earlier versions).
-
getMessageIcon
public Image getMessageIcon(MessageType messageType)
Gets the image that this theme uses to represent messages of the specified type.- Parameters:
messageType- The desired message type.- Returns:
- The icon image for this message type.
-
setMessageIcon
public void setMessageIcon(MessageType messageType, Image messageIcon)
Sets the image that this theme uses to represent messages of the specified type.- Parameters:
messageType- The message type to change.messageIcon- The new icon image for this type.
-
getSmallMessageIcon
public Image getSmallMessageIcon(MessageType messageType)
Gets the small image that this theme uses to represent messages of the specified type.- Parameters:
messageType- The message type to query.- Returns:
- The small image.
-
setSmallMessageIcon
public void setSmallMessageIcon(MessageType messageType, Image smallMessageIcon)
Sets the small image that this theme uses to represent messages of the specified type.- Parameters:
messageType- The message type to change.smallMessageIcon- The new small icon for this type.
-
getDefaultBackgroundColor
public java.awt.Color getDefaultBackgroundColor()
Gets the theme's default background color.- Overrides:
getDefaultBackgroundColorin classTheme- Returns:
- The color if set, or White if the theme is not dark (default), or Black.
-
getDefaultForegroundColor
public java.awt.Color getDefaultForegroundColor()
Gets the theme's default foreground color.- Overrides:
getDefaultForegroundColorin classTheme- Returns:
- The color if set, or Black if the theme is not dark (default), or White.
-
brighten
public static java.awt.Color brighten(java.awt.Color color)
- Parameters:
color- The color to brighten.- Returns:
- A brighter version of the specified color. Specifically, it
increases the brightness (in the HSB color model) by the
brightenColorMultiplierfactor already set.
-
darken
public static java.awt.Color darken(java.awt.Color color)
- Parameters:
color- The color to darken.- Returns:
- A darker version of the specified color. Specifically, it
decreases the brightness (in the HSB color model) by the
darkenColorMultiplierfactor already set.
-
setDefaultStyles
public <T extends ComponentSkin> void setDefaultStyles(T skin)
Set appropriate default styles for the given skin object, specified by the current theme.- Specified by:
setDefaultStylesin classTheme- Type Parameters:
T- The skin class whose type we are dealing with.- Parameters:
skin- The skin object of that type whose styles are to be set.- Throws:
ThemeNotFoundException- if the default styles cannot be located for the skin.
-
-