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

java.lang.Object
  extended by bibliothek.gui.dock.station.stack.tab.AbstractTabPaneComponent
      extended by bibliothek.gui.dock.station.stack.menu.AbstractCombinedMenu
          extended by bibliothek.extension.gui.dock.theme.bubble.BubbleTabMenu
All Implemented Interfaces:
CombinedMenu, TabMenu, TabPaneComponent

@ColorCodes(value={"stack.menu.background.top.mouse","stack.menu.background.bottom.mouse","stack.menu.border.mouse","stack.menu.background.top","stack.menu.background.bottom","stack.menu.border"})
public class BubbleTabMenu
extends AbstractCombinedMenu

A round button with an icon that opens a menu when clicked.

Author:
Benjamin Sigg

Nested Class Summary
protected  class BubbleTabMenu.BubbleMenuColor
          Link to a color that is used to paint this button.
 
Constructor Summary
BubbleTabMenu(StackDockComponentParent station, TabPane parent, CombinedHandler<CombinedMenu> visibility)
          Creates a new tab menu.
 
Method Summary
protected  java.awt.Component createComponent()
          Creates the button which will always be visible.
 boolean isMouseOver()
          Tells whether the mouse is currently over this menus button.
protected  void selected(Dockable dockable)
          Called if this menu was open, an element was selected and the menu closed.
 void setController(DockController controller)
          Sets the controller in whose realm this menu is used.
 void stopAnimation()
          Stops any animation of this menu.
 
Methods inherited from class bibliothek.gui.dock.station.stack.menu.AbstractCombinedMenu
backgroundChanged, closed, ensureComponent, getBackground, getComponent, getController, getDockable, getDockableCount, getDockables, getZOrder, insert, isPaneVisible, open, remove, setIcon, setPaneVisible, setText, setTooltip, setZOrder
 
Methods inherited from class bibliothek.gui.dock.station.stack.tab.AbstractTabPaneComponent
getBounds, getMaximumSize, getMinimumSize, getOrientation, getOverlap, getPreferredSize, getTabParent, setBounds, setOrientation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bibliothek.gui.dock.station.stack.tab.TabPaneComponent
getBounds, getMaximumSize, getMinimumSize, getOverlap, getPreferredSize, getTabParent, setBounds, setOrientation
 

Constructor Detail

BubbleTabMenu

public BubbleTabMenu(StackDockComponentParent station,
                     TabPane parent,
                     CombinedHandler<CombinedMenu> visibility)
Creates a new tab menu.

Parameters:
station - the owner of this menu
parent - the pane on which the menu is shown
visibility - handles the visibility of this menu
Method Detail

setController

public void setController(DockController controller)
Description copied from interface: CombinedMenu
Sets the controller in whose realm this menu is used.

Specified by:
setController in interface CombinedMenu
Overrides:
setController in class AbstractCombinedMenu
Parameters:
controller - the realm

stopAnimation

public void stopAnimation()
Stops any animation of this menu.


isMouseOver

public boolean isMouseOver()
Tells whether the mouse is currently over this menus button.

Returns:
true if the mouse is over the button

createComponent

protected java.awt.Component createComponent()
Description copied from class: AbstractCombinedMenu
Creates the button which will always be visible. The user needs to click onto that button in order to show the content of this menu. This method will be called only once and not from a constructor of AbstractCombinedMenu.

Specified by:
createComponent in class AbstractCombinedMenu
Returns:
the new button

selected

protected void selected(Dockable dockable)
Description copied from class: AbstractCombinedMenu
Called if this menu was open, an element was selected and the menu closed.

Specified by:
selected in class AbstractCombinedMenu
Parameters:
dockable - the selected element