net.infonode.tabbedpanel.titledtab
Class TitledTabProperties

java.lang.Object
  extended by net.infonode.properties.propertymap.PropertyMapContainer
      extended by net.infonode.tabbedpanel.titledtab.TitledTabProperties

public class TitledTabProperties
extends PropertyMapContainer

TitledTabProperties holds all properties for a TitledTab.

A titled tab can have three states, normal, highlighted and disabled. Each state is represented by a TitledTabStateProperties object containing all properties that can be set for a state.

By default the property values in the highlighted and disabled state are references to corresponding values in the normal state. This means that if you set a property value in the normal state, then highlighted and the disabled state will use that property value if the property has not been set in the highlighted or disabled state.

Example:
Setting the background color in the normal state means that normal, highlighted and disabled state will use that color as background color. If you set background color for highlighted state, then the highlighted state will use that color regardless of the background color for the normal state.

By default the tool tip text in all states is the same as the tab text in the normal state. For example, if you change the tab text in the highlighted state and want the tooltip to display the same text, you must set the "Tool Tip Text" property TitledTabStateProperties.TOOL_TIP_TEXT in the highlighted state.

Version:
$Revision: 1.42 $
Author:
$Author: jesper $
See Also:
TitledTab, TitledTabStateProperties

Field Summary
static TitledTabBorderSizePolicyProperty BORDER_SIZE_POLICY
          Border size policy property
private static TitledTabProperties DEFAULT_VALUES
           
static PropertyMapProperty DISABLED_PROPERTIES
          Disabled state properties
static BooleanProperty ENABLED
          TitledTab enabled property
static BooleanProperty FOCUS_MARKER_ENABLED
          Focus Marker Enabled property
static BooleanProperty FOCUSABLE
          Focusabled property
static PropertyMapProperty HIGHLIGHTED_PROPERTIES
          Highlighted state properties
static IntegerProperty HIGHLIGHTED_RAISED_AMOUNT
          Highlighted raised amount property
static HoverListenerProperty HOVER_LISTENER
          Hover listener property
static DimensionProviderProperty MINIMUM_SIZE_PROVIDER
          Tab minimum size property
static PropertyMapProperty NORMAL_PROPERTIES
          Normal state properties
static PropertyMapGroup PROPERTIES
          A property group for all properties in TitledTabProperties
static TitledTabSizePolicyProperty SIZE_POLICY
          Size policy property
 
Constructor Summary
TitledTabProperties()
          Constructs an empty TitledTabProperties object
TitledTabProperties(PropertyMap object)
          Constructs a TitledTabProperties object with the give object as property storage
TitledTabProperties(TitledTabProperties inheritFrom)
          Constructs a TitledTabProperties object that inherits its properties from the given TitledTabProperties object
 
Method Summary
 TitledTabProperties addSuperObject(TitledTabProperties superObject)
          Adds a super object from which property values are inherited.
 TitledTabBorderSizePolicy getBorderSizePolicy()
          Gets the border size policy for this TitledTab
static TitledTabProperties getDefaultProperties()
          Creates a properties object with default properties based on the current look and feel
 TitledTabStateProperties getDisabledProperties()
          Gets the properties for the disabled state
 boolean getEnabled()
          Gets if this TitledTab is enabled or disabled
 boolean getFocusable()
          Gets if this TitledTab is focusable
 boolean getFocusMarkerEnabled()
           Gets if this TitledTab should show its built-in focus marker when this tab has focus.
 TitledTabStateProperties getHighlightedProperties()
          Gets the properties for the highlighted state
 int getHighlightedRaised()
          Gets how many pixels higher this TitledTab will be when it is in its highlighted state compared to its normal and disabled state
 HoverListener getHoverListener()
          Gets the hover listener that will be triggered when the tab is hovered by the mouse.
 DimensionProvider getMinimumSizeProvider()
          Gets the dimension provider for the tab's minimum size
 TitledTabStateProperties getNormalProperties()
          Gets the properties for the normal state
 TitledTabSizePolicy getSizePolicy()
          Gets the size policy for this TitledTab
 TitledTabProperties removeSuperObject()
          Removes the last added super object.
 TitledTabProperties removeSuperObject(TitledTabProperties superObject)
          Removes the given super object.
 TitledTabProperties replaceSuperObject(TitledTabProperties oldSuperObject, TitledTabProperties newSuperObject)
          Replaces the given super objects.
 TitledTabProperties setBorderSizePolicy(TitledTabBorderSizePolicy sizePolicy)
          Sets the border size policy for this TitledTab
 TitledTabProperties setEnabled(boolean value)
           Sets if this TitledTab should be enabled or not.
 TitledTabProperties setFocusable(boolean value)
          Sets if this TitledTab should be focusable
 TitledTabProperties setFocusMarkerEnabled(boolean value)
           Sets if this TitledTab should show its built-in focus marker when this tab has focus.
 TitledTabProperties setHighlightedRaised(int amount)
          Sets how many pixels higher this TitledTab will be when it is in its highlighted state compared to its normal and disabled state
 TitledTabProperties setHoverListener(HoverListener listener)
          Sets the hover listener that will be triggered when the tab is hovered by the mouse.
 TitledTabProperties setMinimumSizeProvider(DimensionProvider size)
          Sets the tab's minimum size dimension provider
 TitledTabProperties setSizePolicy(TitledTabSizePolicy sizePolicy)
          Sets the size policy for this TitledTab
private static void updateFunctionalProperties()
           
private static void updateVisualProperties()
           
 
Methods inherited from class net.infonode.properties.propertymap.PropertyMapContainer
getMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTIES

public static final PropertyMapGroup PROPERTIES
A property group for all properties in TitledTabProperties


FOCUSABLE

public static final BooleanProperty FOCUSABLE
Focusabled property

See Also:
setFocusable(boolean), getFocusable()

FOCUS_MARKER_ENABLED

public static final BooleanProperty FOCUS_MARKER_ENABLED
Focus Marker Enabled property

Since:
ITP 1.4.0
See Also:
setFocusMarkerEnabled(boolean), getFocusMarkerEnabled()

NORMAL_PROPERTIES

public static final PropertyMapProperty NORMAL_PROPERTIES
Normal state properties

See Also:
getNormalProperties()

HIGHLIGHTED_PROPERTIES

public static final PropertyMapProperty HIGHLIGHTED_PROPERTIES
Highlighted state properties

See Also:
getHighlightedProperties()

DISABLED_PROPERTIES

public static final PropertyMapProperty DISABLED_PROPERTIES
Disabled state properties

See Also:
getDisabledProperties()

SIZE_POLICY

public static final TitledTabSizePolicyProperty SIZE_POLICY
Size policy property

See Also:
setSizePolicy(net.infonode.tabbedpanel.titledtab.TitledTabSizePolicy), getSizePolicy()

BORDER_SIZE_POLICY

public static final TitledTabBorderSizePolicyProperty BORDER_SIZE_POLICY
Border size policy property

See Also:
setBorderSizePolicy(net.infonode.tabbedpanel.titledtab.TitledTabBorderSizePolicy), getBorderSizePolicy()

MINIMUM_SIZE_PROVIDER

public static final DimensionProviderProperty MINIMUM_SIZE_PROVIDER
Tab minimum size property

See Also:
setMinimumSizeProvider(DimensionProvider), getMinimumSizeProvider()

HIGHLIGHTED_RAISED_AMOUNT

public static final IntegerProperty HIGHLIGHTED_RAISED_AMOUNT
Highlighted raised amount property

See Also:
setHighlightedRaised(int), getHighlightedRaised()

HOVER_LISTENER

public static final HoverListenerProperty HOVER_LISTENER
Hover listener property

Since:
ITP 1.3.0
See Also:
setHoverListener(net.infonode.gui.hover.HoverListener), getHoverListener()

ENABLED

public static final BooleanProperty ENABLED
TitledTab enabled property

Since:
ITP 1.5.0
See Also:
setEnabled(boolean), getEnabled()

DEFAULT_VALUES

private static final TitledTabProperties DEFAULT_VALUES
Constructor Detail

TitledTabProperties

public TitledTabProperties()
Constructs an empty TitledTabProperties object


TitledTabProperties

public TitledTabProperties(PropertyMap object)
Constructs a TitledTabProperties object with the give object as property storage

Parameters:
object - object to store properties in

TitledTabProperties

public TitledTabProperties(TitledTabProperties inheritFrom)
Constructs a TitledTabProperties object that inherits its properties from the given TitledTabProperties object

Parameters:
inheritFrom - TitledTabProperties object to inherit properties from
Method Detail

addSuperObject

public TitledTabProperties addSuperObject(TitledTabProperties superObject)
Adds a super object from which property values are inherited.

Parameters:
superObject - the object from which to inherit property values
Returns:
this

removeSuperObject

public TitledTabProperties removeSuperObject()
Removes the last added super object.

Returns:
this

removeSuperObject

public TitledTabProperties removeSuperObject(TitledTabProperties superObject)
Removes the given super object.

Parameters:
superObject - super object to remove
Returns:
this
Since:
ITP 1.3.0

replaceSuperObject

public TitledTabProperties replaceSuperObject(TitledTabProperties oldSuperObject,
                                              TitledTabProperties newSuperObject)
Replaces the given super objects.

Parameters:
oldSuperObject - super object to replace
newSuperObject - new super object
Returns:
this
Since:
ITP 1.4.0

getDefaultProperties

public static TitledTabProperties getDefaultProperties()
Creates a properties object with default properties based on the current look and feel

Returns:
properties object

getNormalProperties

public TitledTabStateProperties getNormalProperties()
Gets the properties for the normal state

Returns:
the normal state properties

getHighlightedProperties

public TitledTabStateProperties getHighlightedProperties()
Gets the properties for the highlighted state

Returns:
the highlighted state properties

getDisabledProperties

public TitledTabStateProperties getDisabledProperties()
Gets the properties for the disabled state

Returns:
the disabled state properties

setFocusable

public TitledTabProperties setFocusable(boolean value)
Sets if this TitledTab should be focusable

Parameters:
value - true for focusable, otherwise false
Returns:
this TitledTabProperties

getFocusable

public boolean getFocusable()
Gets if this TitledTab is focusable

Returns:
true for focusable, otherwise false

setFocusMarkerEnabled

public TitledTabProperties setFocusMarkerEnabled(boolean value)

Sets if this TitledTab should show its built-in focus marker when this tab has focus.

Note: Disabling the focus marker is useful when for example creating a theme that draws its own focus marker.

Parameters:
value - true for enabled, otherwise false
Returns:
this TitledTabProperties
Since:
ITP 1.4.0

getFocusMarkerEnabled

public boolean getFocusMarkerEnabled()

Gets if this TitledTab should show its built-in focus marker when this tab has focus.

Note: Disabling the focus marker is useful when for example creating a theme that draws its own focus marker.

Returns:
true for enabled, otherwise false
Since:
ITP 1.4.0

setSizePolicy

public TitledTabProperties setSizePolicy(TitledTabSizePolicy sizePolicy)
Sets the size policy for this TitledTab

Parameters:
sizePolicy - the size policy
Returns:
this TitledTabProperties

getSizePolicy

public TitledTabSizePolicy getSizePolicy()
Gets the size policy for this TitledTab

Returns:
the size policy

setBorderSizePolicy

public TitledTabProperties setBorderSizePolicy(TitledTabBorderSizePolicy sizePolicy)
Sets the border size policy for this TitledTab

Parameters:
sizePolicy - the border size policy
Returns:
this TitledTabProperties

getBorderSizePolicy

public TitledTabBorderSizePolicy getBorderSizePolicy()
Gets the border size policy for this TitledTab

Returns:
the border size policy

setMinimumSizeProvider

public TitledTabProperties setMinimumSizeProvider(DimensionProvider size)
Sets the tab's minimum size dimension provider

Parameters:
size - the minimum size dimension provider or null if tab's default minimum size should be used instead
Returns:
this TitledTabProperties

getMinimumSizeProvider

public DimensionProvider getMinimumSizeProvider()
Gets the dimension provider for the tab's minimum size

Returns:
the minimum size provider or null if default tab minimum size is to be used instead

setHighlightedRaised

public TitledTabProperties setHighlightedRaised(int amount)
Sets how many pixels higher this TitledTab will be when it is in its highlighted state compared to its normal and disabled state

Parameters:
amount - number of pixels
Returns:
this TitledTabProperties

getHighlightedRaised

public int getHighlightedRaised()
Gets how many pixels higher this TitledTab will be when it is in its highlighted state compared to its normal and disabled state

Returns:
number of pixels

setEnabled

public TitledTabProperties setEnabled(boolean value)

Sets if this TitledTab should be enabled or not.

Note: Calling TitledTab.setEnabled(boolean) will modify this property for the tab.

Parameters:
value - true for enabled, otherwise false
Returns:
this TitledTabProperties
Since:
ITP 1.5.0

getEnabled

public boolean getEnabled()
Gets if this TitledTab is enabled or disabled

Returns:
true for enabled, otherwise false
Since:
ITP 1.5.0

setHoverListener

public TitledTabProperties setHoverListener(HoverListener listener)

Sets the hover listener that will be triggered when the tab is hovered by the mouse.

The hovered titled tab will be the source of the hover event sent to the hover listener.

Parameters:
listener - the hover listener
Returns:
this TitledTabProperties
Since:
ITP 1.3.0

getHoverListener

public HoverListener getHoverListener()

Gets the hover listener that will be triggered when the tab is hovered by the mouse.

The hovered titled tab will be the source of the hover event sent to the hover listener.

Returns:
the hover listener
Since:
ITP 1.3.0

updateVisualProperties

private static void updateVisualProperties()

updateFunctionalProperties

private static void updateFunctionalProperties()