Class TabbedPanelProperties

java.lang.Object
net.infonode.properties.propertymap.PropertyMapContainer
net.infonode.tabbedpanel.TabbedPanelProperties

public class TabbedPanelProperties extends PropertyMapContainer
TabbedPanelProperties holds all properties for a TabbedPanel. A TabbedPanelProperties object contains separate property objects for the content area, the tab area, the tab area components and the buttons of the TabbedPanel.
See Also:
  • Field Details

  • Constructor Details

    • TabbedPanelProperties

      public TabbedPanelProperties()
      Constructs an empty TabbedPanelProperties object
    • TabbedPanelProperties

      public TabbedPanelProperties(PropertyMap map)
      Constructs a TabbedPanelProperties map with the given map as property storage
      Parameters:
      map - map to store properties in
    • TabbedPanelProperties

      public TabbedPanelProperties(TabbedPanelProperties inheritFrom)
      Constructs a TabbedPanelProperties object that inherits its properties from the given TabbedPanelProperties object
      Parameters:
      inheritFrom - TabbedPanelProperties object to inherit properties from
  • Method Details

    • getDefaultProperties

      public static TabbedPanelProperties getDefaultProperties()
      Creates a properties object with default properties based on the current look and feel
      Returns:
      properties object
    • addSuperObject

      public TabbedPanelProperties addSuperObject(TabbedPanelProperties 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 TabbedPanelProperties removeSuperObject()
      Removes the last added super object.
      Returns:
      this
    • removeSuperObject

      public TabbedPanelProperties removeSuperObject(TabbedPanelProperties superObject)
      Removes the given super object.
      Parameters:
      superObject - super object to remove
      Returns:
      this
      Since:
      ITP 1.3.0
    • replaceSuperObject

      public TabbedPanelProperties replaceSuperObject(TabbedPanelProperties oldSuperObject, TabbedPanelProperties newSuperObject)
      Replaces the given super objects.
      Parameters:
      oldSuperObject - old super object
      newSuperObject - new super object
      Returns:
      this
      Since:
      ITP 1.4.0
    • setShadowStrength

      public TabbedPanelProperties setShadowStrength(float strength)

      Sets the shadow strength. 0 means the shadow color is the same as the backgound color and 1 means the shadow color is the same as shadow color.

      Note: This property will only have effect if shadow is enabled.

      Parameters:
      strength - the strength between 0 and 1
      Returns:
      this TabbedPanelProperties
      See Also:
    • setShadowBlendAreaSize

      public TabbedPanelProperties setShadowBlendAreaSize(int size)

      Sets the shadow blend area size, i.e. number of pixels for the shadow color fading.

      Note: This property will only have effect if shadow is enabled.

      Parameters:
      size - the shadow blend area size in pixels
      Returns:
      this TabbedPanelProperties
      See Also:
    • setShadowSize

      public TabbedPanelProperties setShadowSize(int size)

      Sets the shadow size, i.e. the width/height of the shadow in pixels.

      Note: This property will only have effect if shadow is enabled.

      Parameters:
      size - shadow size in pixels
      Returns:
      this TabbedPanelProperties
      See Also:
    • setShadowColor

      public TabbedPanelProperties setShadowColor(Color color)

      Sets the shadow color.

      Note: This property will only have effect if shadow is enabled.

      Parameters:
      color - the shadow color
      Returns:
      this TabbedPanelProperties
      See Also:
    • setShadowEnabled

      public TabbedPanelProperties setShadowEnabled(boolean value)
      Sets shadow enabled
      Parameters:
      value - true for enabled, otherwise false
      Returns:
      this TabbedPanelProperties
    • setAutoSelectTab

      public TabbedPanelProperties setAutoSelectTab(boolean value)
      Sets if automatic selection of a tab is enabled. Automatic selection means that if no tab is selected and a tab is added to the TabbedPanel, then the added tab will automatically be selected. If a selected tab is removed from the TabbedPanel then the tab next to the selected tab will automatically be selected.
      Parameters:
      value - true for automactic selection, otherwise false
      Returns:
      this TabbedPanelProperties
    • setTabDeselectable

      public TabbedPanelProperties setTabDeselectable(boolean value)
      Sets if tab is deselectable. This means that if the selected tab is clicked then the selected tab will be deselected. Clicking it again will select the tab again.
      Parameters:
      value - true for deselectable, otherwise false
      Returns:
      this TabbedPanelProperties
    • setEnsureSelectedTabVisible

      public TabbedPanelProperties setEnsureSelectedTabVisible(boolean value)

      Sets if a tab should be made visible if it is selected, i.e. if scrolling is enabled, a tab will be scrolled into the visible part of the tab area when it becomes selected.

      Note: This will only have effect if scolling is enabled.

      Parameters:
      value - true for selected visible, otherwise false
      Returns:
      this TabbedPanelProperties
      See Also:
    • setTabScrollingOffset

      public TabbedPanelProperties setTabScrollingOffset(int offset)

      Sets number of pixels to be shown for the scrolled out tab next to the first visible tab.

      Note: This will only have effect if scolling is enabled.

      Parameters:
      offset - number of pixels
      Returns:
      this TabbedPanelProperties
      See Also:
    • setTabReorderEnabled

      public TabbedPanelProperties setTabReorderEnabled(boolean enabled)
      Sets if the tabs can be reordered using the mouse
      Parameters:
      enabled - true for enabled, otherwise disabled
      Returns:
      this TabbedPanelProperties
    • setHighlightPressedTab

      public TabbedPanelProperties setHighlightPressedTab(boolean highlightEnabled)
      Set to true if the tab pressed with the mouse should be highlighted, otherwise it's not changed.
      Parameters:
      highlightEnabled - true if the tab pressed with the mouse should be highlighted
      Returns:
      this
    • setAbortDragKey

      public TabbedPanelProperties setAbortDragKey(int keyCode)

      Sets the key code for aborting a tab drag or reorder operation.

      Note: The right mouse button can also be used to abort the operation.

      Parameters:
      keyCode - key code
      Returns:
      this TabbedPanelProperties
    • setTabLayoutPolicy

      public TabbedPanelProperties setTabLayoutPolicy(TabLayoutPolicy policy)
      Sets the tab layout policy for the tab area, i.e. how the line of tabs should be laid out
      Parameters:
      policy - the tab area layout policy
      Returns:
      this TabbedPanelProperties
    • setTabDropDownListVisiblePolicy

      public TabbedPanelProperties setTabDropDownListVisiblePolicy(TabDropDownListVisiblePolicy policy)

      Sets the tab drop down list visible policy, i.e. when a drop down list with the tabs should be visible

      The drop down list will show an icon for the tab if the tab implements the IconProvider and the text will be retrieved by calling toString() on the tab.

      Parameters:
      policy - the tab drop down list visible policy
      Returns:
      this TabbedPanelProperties
      Since:
      ITP 1.1.0
    • setTabSelectTrigger

      public TabbedPanelProperties setTabSelectTrigger(TabSelectTrigger trigger)
      Sets the tab select trigger, i.e. what triggers a tab selection
      Parameters:
      trigger - the tab select trigger
      Returns:
      this TabbedPanelProperties
      Since:
      ITP 1.1.0
    • setTabAreaOrientation

      public TabbedPanelProperties setTabAreaOrientation(Direction direction)
      Sets the tab area orientation, i.e. if the tab area should be placed up, down, left or right of the content area.
      Parameters:
      direction - the orientation
      Returns:
      this TabbedPanelProperties
    • setTabSpacing

      public TabbedPanelProperties setTabSpacing(int value)

      Sets the tab spacing, i.e. number of pixels between the tabs in the tab area.

      This can be a negative value i.e. tabs will be overlapping each other. The depth order can be controlled with the property TAB_DEPTH_ORDER.

      Parameters:
      value - number of pixels. A negative value reuslts in tabs overlapping each other with the number of pixels.
      Returns:
      this TabbedPanelProperties
      See Also:
    • setTabDepthOrderPolicy

      public TabbedPanelProperties setTabDepthOrderPolicy(TabDepthOrderPolicy policy)

      Sets the tab depth order policy to be used when tabs are overlapping i.e. negative tab spacing.

      If the depth order is descending, the first tab will be the top most and the last tab the bottom most. If the depth order is ascending, then the first tab will be the bottom most and the last tab the top most. Note that if a tab is highlighted, it will always be shown as the top most tab.

      Parameters:
      policy - the tab depth order policy
      Returns:
      this TabbedPanelProperties
      Since:
      ITP 1.2.0
      See Also:
    • getShadowStrength

      public float getShadowStrength()

      Gets the shadow strength. 0 means the shadow color is the same as the backgound color and 1 means the shadow color is the same as shadow color.

      Note: This property will only have effect if shadow is enabled.

      Returns:
      the shadow strength between 0 and 1
      See Also:
    • getShadowBlendAreaSize

      public int getShadowBlendAreaSize()

      Gets the shadow blend area size, i.e. number of pixels for the shadow color fading.

      Note: This property will only have effect if shadow is enabled.

      Returns:
      the shadow blend area size in pixels
      See Also:
    • getShadowSize

      public int getShadowSize()

      Gets the shadow size, i.e. the width/height of the shadow in pixels.

      Note: This property will only have effect if shadow is enabled.

      Returns:
      shadow size in pixels
      See Also:
    • getShadowColor

      public Color getShadowColor()

      Gets the shadow color.

      Note: This property will only have effect if shadow is enabled.

      Returns:
      the shadow color
      See Also:
    • getShadowEnabled

      public boolean getShadowEnabled()
      Gets shadow enabled
      Returns:
      true if shadow is enabled, otherwise false
    • getAutoSelectTab

      public boolean getAutoSelectTab()
      Gets if automatic selection of a tab is enabled. Automatic selection means that if no tab is selected and a tab is added to the TabbedPanel, then the added tab will automatically be selected. If a selected tab is removed from the TabbedPanel then the tab next to the selected tab will automatically be selected.
      Returns:
      true if automactic selection, otherwise false
    • getHighlightPressedTab

      public boolean getHighlightPressedTab()
      Gets if the tab pressed with the mouse will be highlighted.
      Returns:
      true if the tab pressed with the mouse will be highlighted
    • getTabDeselectable

      public boolean getTabDeselectable()
      Gets if tab is deselectable. This means that if the selected tab is clicked then the selected tab will be deselected. Clicking it again will select the tab again.
      Returns:
      true if deselectable, otherwise false
    • getEnsureSelectedTabVisible

      public boolean getEnsureSelectedTabVisible()

      Gets if a tab should be made visible if it is selected, i.e. if scrolling is enabled, a tab will be scrolled into the visible part of the tab area when it becomes selected.

      Note: This will only have effect if scolling is enabled.

      Returns:
      true if selected visible should be made visible, otherwise false
      See Also:
    • getPaintTabAreaShadow

      public boolean getPaintTabAreaShadow()
      Returns true if a shadow is painted for the tab area, false if a shadow is painted for the highlighted tab and the tab area components panel.
      Returns:
      true if a shadow is painted for the tab area, false if a shadow is painted for the highlighted tab and the tab area components panel
      Since:
      ITP 1.1.0
    • setPaintTabAreaShadow

      public TabbedPanelProperties setPaintTabAreaShadow(boolean paintShadow)
      Set to true if a shadow should be painted for the tab area, false if a shadow should be painted for the highlighted tab and the tab area components panel.
      Parameters:
      paintShadow - true if a shadow should be painted for the tab area, false if a shadow should be painted for the highlighted tab and the tab area components panel
      Returns:
      this
      Since:
      ITP 1.1.0
    • getTabScrollingOffset

      public int getTabScrollingOffset()

      Gets number of pixels to be shown for the last scrolled tab.

      Note: This will only have effect if scolling is enabled.

      Returns:
      number of pixels
      See Also:
    • getTabReorderEnabled

      public boolean getTabReorderEnabled()
      Gets if the tabs can be reorder using the mouse.
      Returns:
      true if enabled, otherwise disabled
    • getAbortDragKey

      public int getAbortDragKey()

      Gets the key code for aborting a tab drag or reorder operation.

      Note that the right mouse button can also be used to abort the operation.

      Returns:
      the key code
    • getTabLayoutPolicy

      public TabLayoutPolicy getTabLayoutPolicy()
      Gets the tab layout policy for the tab area, i.e. how the line of tabs should be laid out
      Returns:
      the tab area layout policy
    • getTabDropDownListVisiblePolicy

      public TabDropDownListVisiblePolicy getTabDropDownListVisiblePolicy()

      Gets the tab drop down list visible policy, i.e. when a drop down list with the tabs should be visible.

      The drop down list will show an icon for the tab if the tab implements the IconProvider and the text will be retrieved by calling toString() on the tab.

      Returns:
      the tab drop down list visible policy
      Since:
      ITP 1.1.0
    • getTabSelectTrigger

      public TabSelectTrigger getTabSelectTrigger()
      Gets the tab select trigger, i.e. what triggers a tab selection
      Returns:
      the tab select trigger
      Since:
      ITP 1.1.0
    • getTabAreaOrientation

      public Direction getTabAreaOrientation()
      Gets the tab area orientation, i.e. if the tab area should be placed up, down, left or right of the content area
      Returns:
      the orientation
    • getTabSpacing

      public int getTabSpacing()

      Gets the tab spacing, i.e. number of pixels between the tabs in the tab area.

      This can be a negative value i.e. tabs will be overlapping each other. The depth order can be controlled with the property TAB_DEPTH_ORDER.

      Returns:
      number of pixels, can be negative i.e. tabs will be overlapping
      See Also:
    • getTabDepthOrderPolicy

      public TabDepthOrderPolicy getTabDepthOrderPolicy()

      Gets the tab depth order policy to be used when tabs are overlapping i.e. negative tab spacing.

      If the depth order is descending, the first tab will be the top most and the last tab the bottom most. If the depth order is ascending, then the first tab will be the bottom most and the last tab the top most. Note that if a tab is highlighted, it will always be shown as the top most tab.

      Returns:
      the tab depth order policy
      Since:
      ITP 1.2.0
      See Also:
    • setHoverListener

      public TabbedPanelProperties setHoverListener(HoverListener listener)

      Sets the hover listener that will be triggered when the tabbed panel is hoverd by the mouse.

      The hovered tabbed panel will be the source of the hover event sent to the hover listener.

      Parameters:
      listener - the hover listener
      Returns:
      this TabbedPanelProperties
      Since:
      ITP 1.3.0
    • getHoverListener

      public HoverListener getHoverListener()

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

      The hovered tabbed panel will be the source of the hover event sent to the hover listener.

      Returns:
      the hover listener
      Since:
      ITP 1.3.0
    • setHoverPolicy

      public TabbedPanelProperties setHoverPolicy(TabbedPanelHoverPolicy hoverPolicy)

      Sets the hover policy.

      The hover policy determines when the tabbed panel is considered hovered by the mouse and the hover listener is called. The default hover policy is NO_HOVERED_CHILD.

      Parameters:
      hoverPolicy - the hover policy
      Returns:
      this TabbedPanelProperties
      Since:
      ITP 1.3.0
    • getHoverPolicy

      public TabbedPanelHoverPolicy getHoverPolicy()

      Gets the hover policy.

      The hover policy determines when the tabbed panel is considered hovered by the mouse and the hover listener is called. The default hover policy is NO_HOVERED_CHILD.

      Returns:
      the hover policy
      Since:
      ITP 1.3.0
    • getContentPanelProperties

      public TabbedPanelContentPanelProperties getContentPanelProperties()
      Gets the properties getMap() with properties for the tabbed panel's content area
      Returns:
      the properties for the content area
    • getTabAreaProperties

      public TabAreaProperties getTabAreaProperties()
      Gets the properties getMap() with properties for the tabbed panel's tab area
      Returns:
      the properties for the tab area
    • getTabAreaComponentsProperties

      public TabAreaComponentsProperties getTabAreaComponentsProperties()
      Gets the properties getMap() with properties for the area in a tabbed panel's tab area where the tab area components are shown.
      Returns:
      the properties for the tab area components
      Since:
      ITP 1.1.0
    • getButtonProperties

      public TabbedPanelButtonProperties getButtonProperties()
      Gets the properties getMap() with properties for all the buttons in a tabbed panel.
      Returns:
      the properties for the buttons
      Since:
      ITP 1.3.0