Package org.eclipse.ui.forms
Class FormColors
java.lang.Object
org.eclipse.ui.forms.FormColors
Manages colors that will be applied to forms and form widgets. The colors are
chosen to make the widgets look correct in the editor area. If a different
set of colors is needed, subclass this class and override 'initialize' and/or
'initializeColors'.
- Since:
- 3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Color
protected Color
static final String
Deprecated.protected Display
protected Color
static final String
Deprecated.useIFormColors.SEPARATOR
.static final String
Deprecated.useIFormColors.TB_BG
static final String
Deprecated.useIFormColors.TB_BORDER
.static final String
Deprecated.useIFormColors.TB_FG
static final String
Deprecated.useIFormColors.TB_GBG
static final String
Deprecated.useIFormColors.TB_TOGGLE
.static final String
Deprecated.useIFormColors.TB_TOGGLE_HOVER
.static final String
Deprecated.useIFormColors.TITLE
. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic RGB
Blends c1 and c2 based in the provided ratio.createColor
(String key, int r, int g, int b) Creates the color for the specified key using the provided RGB values.createColor
(String key, RGB rgb) Creates the color for the specified key using the provided RGB object.void
dispose()
Disposes all the colors in the registry.Returns the current background color.Returns the computed border color.Returns the color object for the provided key or null if not in the registry.Returns the display used to create colors.Returns the current foreground color.Creates a color that can be used for areas of the form that is inactive.getSystemColor
(int code) Returns the RGB value of the system color represented by the code argument, as defined inSWT
class.protected void
Initializes the colors.protected void
Allocates colors for the following keys: BORDER, SEPARATOR and TITLE.protected void
Allocates additional colors for the form header, namely background gradients, bottom separator keylines and DND highlights.void
Allocates colors for the section tool bar (all the keys that start with TB).boolean
isShared()
Tests if the colors are shared.boolean
Tests if the background is white.void
Marks the colors shared.void
setBackground
(Color bg) Sets the background color.void
setForeground
(Color fg) Sets the foreground color.static boolean
testAnyPrimaryColor
(RGB rgb, int from, int to) Tests the source RGB for range.static boolean
testTwoPrimaryColors
(RGB rgb, int from, int to) Tests the source RGB for range.protected void
Computes the border color relative to the background.
-
Field Details
-
TITLE
Deprecated.useIFormColors.TITLE
.Key for the form title foreground color.- See Also:
-
BORDER
Deprecated.useIFormColors.BORDER
Key for the tree/table border color.- See Also:
-
SEPARATOR
Deprecated.useIFormColors.SEPARATOR
.Key for the section separator color.- See Also:
-
TB_BG
Deprecated.useIFormColors.TB_BG
Key for the section title bar background.- See Also:
-
TB_FG
Deprecated.useIFormColors.TB_FG
Key for the section title bar foreground.- See Also:
-
TB_GBG
Deprecated.useIFormColors.TB_GBG
Key for the section title bar gradient.- See Also:
-
TB_BORDER
Deprecated.useIFormColors.TB_BORDER
.Key for the section title bar border.- See Also:
-
TB_TOGGLE
Deprecated.useIFormColors.TB_TOGGLE
.Key for the section toggle color. Since 3.1, this color is used for all section styles.- See Also:
-
TB_TOGGLE_HOVER
Deprecated.useIFormColors.TB_TOGGLE_HOVER
.Key for the section toggle hover color.- Since:
- 3.1
- See Also:
-
colorRegistry
-
background
-
foreground
-
display
-
border
-
-
Constructor Details
-
FormColors
Creates form colors using the provided display.- Parameters:
display
- the display to use
-
-
Method Details
-
getDisplay
Returns the display used to create colors.- Returns:
- the display
-
initialize
protected void initialize()Initializes the colors. Subclasses can override this method to change the way colors are created. Alternatively, only the color table can be modified by overridinginitializeColorTable()
.- See Also:
-
initializeColorTable
protected void initializeColorTable()Allocates colors for the following keys: BORDER, SEPARATOR and TITLE. Subclasses can override to allocate these colors differently. -
initializeSectionToolBarColors
public void initializeSectionToolBarColors()Allocates colors for the section tool bar (all the keys that start with TB). Since these colors are only needed when TITLE_BAR style is used with the Section widget, they are not needed all the time and are allocated on demand. Consequently, this method will do nothing if the colors have been already initialized. Call this method prior to using colors with the TB keys to ensure they are available. -
initializeFormHeaderColors
protected void initializeFormHeaderColors()Allocates additional colors for the form header, namely background gradients, bottom separator keylines and DND highlights. Since these colors are only needed for clients that want to use these particular style of header rendering, they are not needed all the time and are allocated on demand. Consequently, this method will do nothing if the colors have been already initialized. Call this method prior to using color keys with the H_ prefix to ensure they are available.- Since:
- 3.3
-
getSystemColor
Returns the RGB value of the system color represented by the code argument, as defined inSWT
class.- Parameters:
code
- the system color constant as defined inSWT
class.- Returns:
- the RGB value of the system color
-
createColor
Creates the color for the specified key using the provided RGB object. The color object will be returned and also put into the registry. When the class is disposed, the color will be disposed with it.- Parameters:
key
- the unique color keyrgb
- the RGB object- Returns:
- the allocated color object
-
getInactiveBackground
Creates a color that can be used for areas of the form that is inactive. These areas can contain images, links, controls and other content but are considered auxilliary to the main content area.The color should not be disposed because it is managed by this class.
- Returns:
- the inactive form color
- Since:
- 3.1
-
createColor
Creates the color for the specified key using the provided RGB values. The color object will be returned and also put into the registry. If there is already another color object under the same key in the registry, the existing object will be disposed. When the class is disposed, the color will be disposed with it.- Parameters:
key
- the unique color keyr
- red valueg
- green valueb
- blue value- Returns:
- the allocated color object
-
updateBorderColor
protected void updateBorderColor()Computes the border color relative to the background. Allocated border color is designed to work well with white. Otherwise, standard widget background color will be used. -
setBackground
Sets the background color. All the toolkits that use this class will share the same background.- Parameters:
bg
- background color
-
setForeground
Sets the foreground color. All the toolkits that use this class will share the same foreground.- Parameters:
fg
- foreground color
-
getBackground
Returns the current background color.- Returns:
- the background color
-
getForeground
Returns the current foreground color.- Returns:
- the foreground color
-
getBorderColor
Returns the computed border color. Border color depends on the background and is recomputed whenever the background changes.- Returns:
- the current border color
-
isWhiteBackground
public boolean isWhiteBackground()Tests if the background is white. White background has RGB value 255,255,255.- Returns:
- true if background is white, false otherwise.
-
getColor
Returns the color object for the provided key or null if not in the registry.- Parameters:
key
- the color key- Returns:
- color object if found, or null if not.
-
dispose
public void dispose()Disposes all the colors in the registry. -
blend
Blends c1 and c2 based in the provided ratio.- Parameters:
c1
- first colorc2
- second colorratio
- percentage of the first color in the blend (0-100)- Returns:
- the RGB value of the blended color
- Since:
- 3.1
-
testAnyPrimaryColor
Tests the source RGB for range.- Parameters:
rgb
- the tested RGBfrom
- range start (excluding the value itself)to
- range end (excluding the value itself)- Returns:
true
if at least one of the primary colors in the source RGB are within the provided range,false
otherwise.- Since:
- 3.1
-
testTwoPrimaryColors
Tests the source RGB for range.- Parameters:
rgb
- the tested RGBfrom
- range start (excluding the value itself)to
- range end (excluding the value itself)- Returns:
true
if at least two of the primary colors in the source RGB are within the provided range,false
otherwise.- Since:
- 3.1
-
IFormColors.BORDER