bibliothek.extension.gui.dock.theme.eclipse.rex.tab
Class BaseTabComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by bibliothek.extension.gui.dock.theme.eclipse.rex.tab.BaseTabComponent
All Implemented Interfaces:
TabComponent, DockElementRepresentative, ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
RectGradientPainter, ShapedGradientPainter

@ColorCodes(value={"stack.tab.border","stack.tab.border.selected","stack.tab.border.selected.focused","stack.tab.border.selected.focuslost","stack.tab.top","stack.tab.top.selected","stack.tab.top.selected.focused","stack.tab.top.selected.focuslost","stack.tab.bottom","stack.tab.bottom.selected","stack.tab.bottom.selected.focused","stack.tab.bottom.selected.focuslost","stack.tab.text","stack.tab.text.selected","stack.tab.text.selected.focused","stack.tab.text.selected.focuslost","stack.border"})
public abstract class BaseTabComponent
extends JComponent
implements TabComponent

A base implementation ob TabComponent.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  TabColor colorStackBorder
           
protected  TabColor colorStackTabBorder
           
protected  TabColor colorStackTabBorderSelected
           
protected  TabColor colorStackTabBorderSelectedFocused
           
protected  TabColor colorStackTabBorderSelectedFocusLost
           
protected  TabColor colorStackTabBottom
           
protected  TabColor colorStackTabBottomSelected
           
protected  TabColor colorStackTabBottomSelectedFocused
           
protected  TabColor colorStackTabBottomSelectedFocusLost
           
protected  TabColor colorStackTabText
           
protected  TabColor colorStackTabTextSelected
           
protected  TabColor colorStackTabTextSelectedFocused
           
protected  TabColor colorStackTabTextSelectedFocusLost
           
protected  TabColor colorStackTabTop
           
protected  TabColor colorStackTabTopSelected
           
protected  TabColor colorStackTabTopSelectedFocused
           
protected  TabColor colorStackTabTopSelectedFocusLost
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BaseTabComponent(RexTabbedComponent component, DockController controller, StackDockStation station, Dockable dockable, int index)
          Creates a new TabComponent
 
Method Summary
 void addMouseInputListener(MouseInputListener listener)
          Adds a listener to this representative, it is not defined what to do with that listener, but most subclasses would just add the listener to their component.
 void bind()
          Informs this tab that it will be shown soon
 boolean doPaintIconWhenInactive()
           
 ButtonPanel getButtons()
           
 Component getComponent()
          Gets the Component which represents the element.
 DockController getController()
           
 Dockable getDockable()
           
 DockElement getElement()
          Gets the element which is represented by this.
 int getIndex()
           
 Point getPopupLocation(Point click, boolean popupTrigger)
          Tells whether a popup menu should be opened when the user clicks at click with the mouse.
 StackDockStation getStation()
           
 RexTabbedComponent getTabbedComponent()
           
 boolean isFocused()
           
 boolean isSelected()
           
 void removeMouseInputListener(MouseInputListener listener)
          Removes a listener from this representative.
 void setFocused(boolean focused)
           
 void setIndex(int index)
           
 void setPaintIconWhenInactive(boolean paintIconWhenInactive)
           
 void setSelected(boolean selected)
           
 void unbind()
          Informs this tab that it is invisible and must not have any connections to other resources
protected abstract  void updateBorder()
          Called when one of the border colors changed
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface bibliothek.extension.gui.dock.theme.eclipse.rex.tab.TabComponent
addMouseListener, addMouseMotionListener, getContentBorder, getOverlap, removeMouseListener, removeMouseMotionListener, update
 

Field Detail

colorStackTabBorder

protected final TabColor colorStackTabBorder

colorStackTabBorderSelected

protected final TabColor colorStackTabBorderSelected

colorStackTabBorderSelectedFocused

protected final TabColor colorStackTabBorderSelectedFocused

colorStackTabBorderSelectedFocusLost

protected final TabColor colorStackTabBorderSelectedFocusLost

colorStackTabTop

protected final TabColor colorStackTabTop

colorStackTabTopSelected

protected final TabColor colorStackTabTopSelected

colorStackTabTopSelectedFocused

protected final TabColor colorStackTabTopSelectedFocused

colorStackTabTopSelectedFocusLost

protected final TabColor colorStackTabTopSelectedFocusLost

colorStackTabBottom

protected final TabColor colorStackTabBottom

colorStackTabBottomSelected

protected final TabColor colorStackTabBottomSelected

colorStackTabBottomSelectedFocused

protected final TabColor colorStackTabBottomSelectedFocused

colorStackTabBottomSelectedFocusLost

protected final TabColor colorStackTabBottomSelectedFocusLost

colorStackTabText

protected final TabColor colorStackTabText

colorStackTabTextSelected

protected final TabColor colorStackTabTextSelected

colorStackTabTextSelectedFocused

protected final TabColor colorStackTabTextSelectedFocused

colorStackTabTextSelectedFocusLost

protected final TabColor colorStackTabTextSelectedFocusLost

colorStackBorder

protected final TabColor colorStackBorder
Constructor Detail

BaseTabComponent

public BaseTabComponent(RexTabbedComponent component,
                        DockController controller,
                        StackDockStation station,
                        Dockable dockable,
                        int index)
Creates a new TabComponent

Parameters:
component - the owner of this tab
controller - the controller from which this component should read colors
station - the station on which this component is
dockable - the element which is represented by this component
index - the location of this tab relative to other tabs
Method Detail

updateBorder

protected abstract void updateBorder()
Called when one of the border colors changed


bind

public void bind()
Description copied from interface: TabComponent
Informs this tab that it will be shown soon

Specified by:
bind in interface TabComponent

unbind

public void unbind()
Description copied from interface: TabComponent
Informs this tab that it is invisible and must not have any connections to other resources

Specified by:
unbind in interface TabComponent

getDockable

public Dockable getDockable()

getElement

public DockElement getElement()
Description copied from interface: DockElementRepresentative
Gets the element which is represented by this. The result of this method must not change.

Specified by:
getElement in interface DockElementRepresentative
Returns:
the element, never null

addMouseInputListener

public void addMouseInputListener(MouseInputListener listener)
Description copied from interface: DockElementRepresentative
Adds a listener to this representative, it is not defined what to do with that listener, but most subclasses would just add the listener to their component. It is valid to do nothing.

Specified by:
addMouseInputListener in interface DockElementRepresentative
Parameters:
listener - the new listener

removeMouseInputListener

public void removeMouseInputListener(MouseInputListener listener)
Description copied from interface: DockElementRepresentative
Removes a listener from this representative.

Specified by:
removeMouseInputListener in interface DockElementRepresentative
Parameters:
listener - the listener to remove

getPopupLocation

public Point getPopupLocation(Point click,
                              boolean popupTrigger)
Description copied from interface: DockElementRepresentative
Tells whether a popup menu should be opened when the user clicks at click with the mouse. If yes, then the top left edge of the popup should be returned, otherwise null should be returned.

Specified by:
getPopupLocation in interface DockElementRepresentative
Parameters:
click - the location where the user clicked with the mouse
popupTrigger - whether the invocation is the systems popup trigger or not. Many implementations of this method will return click in case of true, and null in case of false
Returns:
the preferred location of a popup or null if no popup-menu should be opened

getController

public DockController getController()

getStation

public StackDockStation getStation()

getButtons

public ButtonPanel getButtons()

getTabbedComponent

public RexTabbedComponent getTabbedComponent()

getComponent

public Component getComponent()
Description copied from interface: DockElementRepresentative
Gets the Component which represents the element. The result of this method must not change.

Specified by:
getComponent in interface TabComponent
Specified by:
getComponent in interface DockElementRepresentative
Returns:
the component, never null

setFocused

public void setFocused(boolean focused)
Specified by:
setFocused in interface TabComponent

isFocused

public boolean isFocused()

setSelected

public void setSelected(boolean selected)
Specified by:
setSelected in interface TabComponent

isSelected

public boolean isSelected()

setIndex

public void setIndex(int index)
Specified by:
setIndex in interface TabComponent

getIndex

public int getIndex()

doPaintIconWhenInactive

public boolean doPaintIconWhenInactive()

setPaintIconWhenInactive

public void setPaintIconWhenInactive(boolean paintIconWhenInactive)
Specified by:
setPaintIconWhenInactive in interface TabComponent