bibliothek.extension.gui.dock.theme.bubble
Class BubbleDisplayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by bibliothek.gui.dock.util.BackgroundPanel
                      extended by bibliothek.gui.dock.util.ConfiguredBackgroundPanel
                          extended by bibliothek.gui.dock.themes.basic.BasicDockableDisplayer
                              extended by bibliothek.extension.gui.dock.theme.bubble.BubbleDisplayer
All Implemented Interfaces:
DockComponentRoot, DockableDisplayer, PaintableComponent, ImageObserver, MenuContainer, Serializable, Accessible

@ColorCodes(value={"displayer.border.high.active","displayer.border.high.active.mouse","displayer.border.high.inactive","displayer.border.high.inactive.mouse","displayer.border.high.disabled","displayer.border.low.active","displayer.border.low.active.mouse","displayer.border.low.inactive","displayer.border.low.inactive.mouse","displayer.border.low.disabled"})
public class BubbleDisplayer
extends BasicDockableDisplayer

A DockableDisplayer drawing a border around its content, but leaves the side at which the title lies open.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
 class BubbleDisplayer.OpenBorder
          The border which will be painted around the dockable.
 
Nested classes/interfaces inherited from class bibliothek.gui.dock.themes.basic.BasicDockableDisplayer
BasicDockableDisplayer.DisplayerBorder, BasicDockableDisplayer.Hints
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface bibliothek.gui.dock.station.DockableDisplayer
DockableDisplayer.Location
 
Field Summary
 
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
BubbleDisplayer(DockStation station, Dockable dockable, DockTitle title)
          Creates a new displayer
 
Method Summary
protected  BasicDockableDisplayerDecorator createStackedDecorator()
          Creates a new decorator that will be shown in this displayer if the displayer is shown alongside a tab (@see BasicDockableDisplayer.setStacked(boolean)).
protected  TabDecorator createTabDecorator()
          Creates a new TabDecorator that will be shown on this displayer.
protected  Component getComponent(Dockable dockable)
          Gets the Component which should be used to layout the current Dockable.
protected  Border getDefaultBorder()
          Gets the default border for this displayer.
 Insets getDockableInsets()
          Gets an estimate of the insets around the Dockable of this displayer compared to the whole size of this displayer.
 boolean isDisabled()
          Whether the Dockable is currently enabled or not
protected  void pulse()
          Called by the animation when the colors changed and the displayer should be repainted.
 void setController(DockController controller)
          Sets the controller for which this displayer is used.
protected  void setDisabled(boolean disabled)
          Called when the DisablingStrategy changes the disabled state.
 void setDockable(Dockable dockable)
          Sets the Dockable which should be shown on this displayer.
 void setTitle(DockTitle title)
          Sets the title of this displayer.
protected  void updateAnimation()
          Sets the colors to which the animation should run.
protected  void updateBorder()
          Called when the hint, whether a border should be shown or not, has changed.
 
Methods inherited from class bibliothek.gui.dock.themes.basic.BasicDockableDisplayer
addDockableDisplayerListener, createContentPane, createMinimalDecorator, createRootHandler, createStackedDecorator, fireMoveableElementChanged, getComponent, getComponent, getComponentConfiguration, getController, getDefaultBorderHint, getDockable, getHints, getMoveableElement, getStation, getTitle, getTitleCenter, getTitleLocation, init, isRespectBorderHint, isSingleTabShowing, isSingleTabShowInnerBorder, isSingleTabShowOuterBorder, isStacked, isTabInside, listeners, orientation, prepareCombination, removeDockableDisplayerListener, resetDecorator, setBaseBorder, setComponentConfiguration, setContentBorder, setDecorator, setDefaultBorderHint, setRespectBorderHint, setSingleTabShowInnerBorder, setSingleTabShowOuterBorder, setStacked, setStation, setTabInside, setTitleLocation, titleContains, updateDecorator, updateDecorator, updateUI
 
Methods inherited from class bibliothek.gui.dock.util.ConfiguredBackgroundPanel
configure, setupRenderingHints
 
Methods inherited from class bibliothek.gui.dock.util.BackgroundPanel
getBackgroundAlgorithm, getTransparency, paint, paintBackground, paintBorder, paintChildren, paintComponent, paintForeground, paintOverlay, setBackground, setTransparency
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, 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
 
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
 

Constructor Detail

BubbleDisplayer

public BubbleDisplayer(DockStation station,
                       Dockable dockable,
                       DockTitle title)
Creates a new displayer

Parameters:
station - the station for which this displayer will be used
dockable - the Dockable which will be shown on this displayer, might be null
title - the title to show on this displayer, might be null
Method Detail

setDisabled

protected void setDisabled(boolean disabled)
Called when the DisablingStrategy changes the disabled state.

Parameters:
disabled - the new state of the Dockable

isDisabled

public boolean isDisabled()
Whether the Dockable is currently enabled or not

Returns:
the disabled state

updateAnimation

protected void updateAnimation()
Sets the colors to which the animation should run.


pulse

protected void pulse()
Called by the animation when the colors changed and the displayer should be repainted.


setController

public void setController(DockController controller)
Description copied from interface: DockableDisplayer
Sets the controller for which this displayer is used. That property must be set by the client. Note that there is no guarantee, that a client sets this property.

Specified by:
setController in interface DockableDisplayer
Overrides:
setController in class BasicDockableDisplayer
Parameters:
controller - the controller, can be null

getComponent

protected Component getComponent(Dockable dockable)
Description copied from class: BasicDockableDisplayer
Gets the Component which should be used to layout the current Dockable.

Overrides:
getComponent in class BasicDockableDisplayer
Parameters:
dockable - the current Dockable, never null
Returns:
the component representing dockable

setTitle

public void setTitle(DockTitle title)
Description copied from interface: DockableDisplayer
Sets the title of this displayer. If the title is set to null, no title is visible. The displayer will change the orientation of the title.

Specified by:
setTitle in interface DockableDisplayer
Overrides:
setTitle in class BasicDockableDisplayer
Parameters:
title - the title or null

setDockable

public void setDockable(Dockable dockable)
Description copied from interface: DockableDisplayer
Sets the Dockable which should be shown on this displayer. A value of null means that no Dockable should be visible at all.

Specified by:
setDockable in interface DockableDisplayer
Overrides:
setDockable in class BasicDockableDisplayer
Parameters:
dockable - the child, can be null

updateBorder

protected void updateBorder()
Description copied from class: BasicDockableDisplayer
Called when the hint, whether a border should be shown or not, has changed.

Overrides:
updateBorder in class BasicDockableDisplayer

getDefaultBorder

protected Border getDefaultBorder()
Description copied from class: BasicDockableDisplayer
Gets the default border for this displayer. That can either be a new object or an old border. It should not be null. The standard implementation just returns a new instance of of BevelBorder.

Overrides:
getDefaultBorder in class BasicDockableDisplayer
Returns:
the default border to be used on this displayer

getDockableInsets

public Insets getDockableInsets()
Description copied from interface: DockableDisplayer
Gets an estimate of the insets around the Dockable of this displayer compared to the whole size of this displayer.

Specified by:
getDockableInsets in interface DockableDisplayer
Overrides:
getDockableInsets in class BasicDockableDisplayer
Returns:
the estimate of the insets

createStackedDecorator

protected BasicDockableDisplayerDecorator createStackedDecorator()
Description copied from class: BasicDockableDisplayer
Creates a new decorator that will be shown in this displayer if the displayer is shown alongside a tab (@see BasicDockableDisplayer.setStacked(boolean)). The default implementation return BasicDockableDisplayer.createMinimalDecorator(). Subclasses may call BasicDockableDisplayer.createStackedDecorator(PropertyKey) to easily create a fitting decorator.

Overrides:
createStackedDecorator in class BasicDockableDisplayer
Returns:
the new decorator
See Also:
BasicDockableDisplayer.createStackedDecorator(PropertyKey)

createTabDecorator

protected TabDecorator createTabDecorator()
Description copied from class: BasicDockableDisplayer
Creates a new TabDecorator that will be shown on this displayer.

Overrides:
createTabDecorator in class BasicDockableDisplayer
Returns:
the new decorator