bibliothek.gui.dock.title
Interface DockTitle

All Known Implementing Classes:
AbstractDockTitle, BasicButtonDockTitle, BasicDockTitle, BasicStationTitle, BasicTabDockTitle, BubbleButtonDockTitle, BubbleDockTitle, FlatButtonTitle, SmoothDefaultStationTitle, SmoothDefaultTitle

public interface DockTitle

A component which is shown aside a Dockable. A DockTitle displays some information about its Dockable, for example a title-text.
Every DockTitle is owned by exactly one Dockable. The owner can't be changed.
Every title is either in the state bound or unbound. As long as a title is unbound, it has not to do anything. As soon as it is bound, it has to ensure that it shows the correct properties. A title can assume that it is only bound when its Dockable knows the DockController.

Author:
Benjamin Sigg

Nested Class Summary
static class DockTitle.Orientation
          How to layout a DockTitle
 
Method Summary
 void addMouseInputListener(MouseInputListener listener)
          Adds a listener to all Components of this title which are visible and which may be "grabbed" by the mouse.
 void bind()
          Called before the title is displayed.
 void changed(DockTitleEvent event)
          Called if a property (of this title, of the owner or anything else) has changed.
 Component getComponent()
          Gets a Component which represents the DockTitle.
 Dockable getDockable()
          Gets the owner of this title.
 DockTitle.Orientation getOrientation()
          Gets the orientation of this title.
 DockTitleVersion getOrigin()
          Gets the version which was used to create this title.
 Point getPopupLocation(Point click)
          Tells whether a popup menu should be opened when the user clicks at click with the mouse.
 boolean isActive()
          Tells whether this title is selected (active) or not.
 void removeMouseInputListener(MouseInputListener listener)
          Removes a listener.
 void setOrientation(DockTitle.Orientation orientation)
          Sets the orientation of this title.
 void unbind()
          The reverse of bind().
 

Method Detail

getComponent

Component getComponent()
Gets a Component which represents the DockTitle. The Component is displayed aside the owner of this title. This method must always return the same Component.

Returns:
always the same Component

addMouseInputListener

void addMouseInputListener(MouseInputListener listener)
Adds a listener to all Components of this title which are visible and which may be "grabbed" by the mouse.

Parameters:
listener - the new listener

removeMouseInputListener

void removeMouseInputListener(MouseInputListener listener)
Removes a listener.

Parameters:
listener - the listener to remove

getPopupLocation

Point getPopupLocation(Point click)
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.

Parameters:
click - the location where the user clicked with the mouse
Returns:
the preferred location of a popup or null if no popup-menu should be opened

getDockable

Dockable getDockable()
Gets the owner of this title.

Returns:
the owner

setOrientation

void setOrientation(DockTitle.Orientation orientation)
Sets the orientation of this title. The layout of this title should be influenced by the orientation.

Parameters:
orientation - the orientation

getOrientation

DockTitle.Orientation getOrientation()
Gets the orientation of this title.

Returns:
the orientation
See Also:
setOrientation(bibliothek.gui.dock.title.DockTitle.Orientation)

changed

void changed(DockTitleEvent event)
Called if a property (of this title, of the owner or anything else) has changed. The title might change some of its own properties.

Parameters:
event - information about the current state

isActive

boolean isActive()
Tells whether this title is selected (active) or not. The title knows its state through the event-object of the method changed.

Returns:
the selection state

bind

void bind()
Called before the title is displayed. The method should connect the title with other objects, like its owner. If the title wants to show some DockActions (see the method DockController.listOffers(Dockable)), then this method should bind them too.
Clients should never call this method directly, they should call Dockable.bind(DockTitle). The DockController will call the bind-method, as soon as the Dockable knows the controller.


unbind

void unbind()
The reverse of bind(). The title should remove any connections to other objects and unbind its DockActions.
Clients should never call this method directly, they should call Dockable.unbind(DockTitle). The DockController will call the unbind-method before the Dockable looses the controller.


getOrigin

DockTitleVersion getOrigin()
Gets the version which was used to create this title. If this title was not created through the regular methods, then this method is allowed to return null. However, some features will only work correctly if this value is not null.

Returns:
the title-version, might be null