|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbibliothek.gui.dock.control.MouseFocusObserver
public abstract class MouseFocusObserver
A FocusController listens to all AWT-events. As soon as the mouse is pressed
over a Dockable
, the FocusController will inform the DockController
about a new front-dockable
.
Field Summary | |
---|---|
private DockController |
controller
The controller to be informed about changes |
private java.util.Map<java.awt.Component,Dockable> |
dockables
a list of all Dockables and their base-component |
private java.util.Map<java.awt.Component,DockTitle> |
titles
a list of all DockTitles and their base-component |
private java.util.List<FocusVetoListener> |
vetos
A list of listeners which can cancel a call to the controller |
Constructor Summary | |
---|---|
MouseFocusObserver(DockController controller)
Creates a new FocusController. |
Method Summary | |
---|---|
void |
addVetoListener(FocusVetoListener listener)
Adds a listener to this controller which can cancel a call to the DockController . |
protected void |
check(java.awt.AWTEvent event)
Lets check this controller whether the focus should change, or not. |
protected void |
check(java.awt.Component component)
Tries to find the Dockable which owns component
and sets this Dockable to the focusedDockable. |
protected void |
check(java.awt.Component component,
boolean ensureFocus)
Tries to find the Dockable which owns component
and sets this Dockable to the focusedDockable. |
void |
dockableDrag(DockController controller,
Dockable dockable,
DockStation station)
Invoked before a Dockable is moved around. |
void |
dockableFocused(DockController controller,
Dockable dockable)
Invoked when dockable has gained the focus. |
void |
dockablePut(DockController controller,
Dockable dockable,
DockStation station)
Invoked after a Dockable was moved. |
void |
dockableRegistered(DockController controller,
Dockable dockable)
Invoked after a Dockable was registered. |
void |
dockableRegistering(DockController controller,
Dockable dockable)
Invoked right before the dockable is registered in the
controller . |
void |
dockableUnregistered(DockController controller,
Dockable dockable)
Invoked after dockable has been unregistered from controller . |
void |
dockStationRegistered(DockController controller,
DockStation station)
Invoked after a DockStation was registered. |
void |
dockStationRegistering(DockController controller,
DockStation station)
Invoked right before the station is registered in
the controller . |
void |
dockStationUnregistered(DockController controller,
DockStation station)
Invoked after station has been unregistered from controller . |
protected boolean |
fireVetoDockable(Dockable dockable)
Asks all FocusVetoListener through their method
FocusVetoListener.vetoFocus(MouseFocusObserver, Dockable)
whether they want cancel a call to the DockController . |
protected boolean |
fireVetoTitle(DockTitle title)
Asks all FocusVetoListener through their method
FocusVetoListener.vetoFocus(MouseFocusObserver, DockTitle)
whether they want cancel a call to the DockController . |
DockController |
getController()
Gets the affected controller. |
protected Dockable |
getDockable(java.awt.Component component)
Gets the top-dockable which has component or
parent of component as base Component. |
protected boolean |
interact(java.awt.AWTEvent event)
Tells whether this event should change the focus. |
void |
kill()
Stops this FocusController. |
void |
removeVetoListener(FocusVetoListener listener)
Removes a listener from this controller |
void |
titleBinded(DockController controller,
DockTitle title,
Dockable dockable)
Called when title was binded
to dockable . |
void |
titleUnbinded(DockController controller,
DockTitle title,
Dockable dockable)
Called when title was unbinded
from dockable . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.util.Map<java.awt.Component,Dockable> dockables
private java.util.Map<java.awt.Component,DockTitle> titles
private java.util.List<FocusVetoListener> vetos
private DockController controller
Constructor Detail |
---|
public MouseFocusObserver(DockController controller)
controller
- the controller which will be informed about
focus-changesMethod Detail |
---|
public void kill()
public DockController getController()
public void addVetoListener(FocusVetoListener listener)
DockController
.
listener
- the new listenerpublic void removeVetoListener(FocusVetoListener listener)
listener
- the listener to removeprotected boolean fireVetoTitle(DockTitle title)
FocusVetoListener
through their method
FocusVetoListener.vetoFocus(MouseFocusObserver, DockTitle)
whether they want cancel a call to the DockController
.
title
- the title which was hit by the mouse
true
if at least one veto was made,
false
otherwiseprotected boolean fireVetoDockable(Dockable dockable)
FocusVetoListener
through their method
FocusVetoListener.vetoFocus(MouseFocusObserver, Dockable)
whether they want cancel a call to the DockController
.
dockable
- the Dockable which was hit by the mouse
true
if at least one veto was made,
false
otherwiseprotected void check(java.awt.AWTEvent event)
event
is
allowed to change the focus or not. This check can be done through the
method interact(AWTEvent)
.
event
- The event to react on.interact(AWTEvent)
protected boolean interact(java.awt.AWTEvent event)
event
- the event
true
if the focus could be changedprotected void check(java.awt.Component component)
component
and sets this Dockable to the focusedDockable. The method
only succeeds if no veto-listener reacts.
component
- the component whose dockable parent is to set
focusedprotected void check(java.awt.Component component, boolean ensureFocus)
component
and sets this Dockable to the focusedDockable. The method
only succeeds if no veto-listener reacts.
component
- the component whose dockable parent is to set
focusedensureFocus
- whether the DockController should ensure
that the focus is set correctly or not.public void dockableRegistered(DockController controller, Dockable dockable)
DockRegisterListener
Dockable
was registered. Note that this method can
be called while a Dockable
is dragged. See the method
DockController
.isOnMove()
.
dockableRegistered
in interface DockRegisterListener
controller
- the controller where dockable
was addeddockable
- the Dockable
that was addedpublic void dockablePut(DockController controller, Dockable dockable, DockStation station)
DockRelocatorListener
Dockable
was moved.
dockablePut
in interface DockRelocatorListener
controller
- the origin of the eventdockable
- the Dockable
which was draggedstation
- the new parent of dockable
DockRelocatorListener.dockableDrag(DockController, Dockable, DockStation)
public void dockableDrag(DockController controller, Dockable dockable, DockStation station)
DockRelocatorListener
Dockable
is moved around. This method is called
after the user has released the mouse which was dragging a DockTitle
around.
dockableDrag
in interface DockRelocatorListener
controller
- the origin of the eventdockable
- the Dockable
which was draggedstation
- the future parent of dockable
DockRelocatorListener.dockablePut(DockController, Dockable, DockStation)
public void dockableUnregistered(DockController controller, Dockable dockable)
DockRegisterListener
dockable
has been unregistered from controller
.
Note that this method can be invoked while a Dockable
is dragged,
use the method DockController
.isOnMove()
.
dockableUnregistered
in interface DockRegisterListener
controller
- the controller from whom dockable
was removeddockable
- the removed Dockable
public void titleBinded(DockController controller, DockTitle title, Dockable dockable)
DockControllerListener
title
was binded
to dockable
.
This method is called after the DockTitle.bind()
-method
was invoked.
titleBinded
in interface DockControllerListener
controller
- the origin of the eventtitle
- the DockTitle
that was bindeddockable
- the owner of title
public void titleUnbinded(DockController controller, DockTitle title, Dockable dockable)
DockControllerListener
title
was unbinded
from dockable
.
This method is called after the DockTitle.bind()
-method
was invoked.
titleUnbinded
in interface DockControllerListener
controller
- the origin of the eventtitle
- the DockTitle
which was unbindeddockable
- the old owner of title
protected Dockable getDockable(java.awt.Component component)
component
or
parent of component
as base Component.
component
- a Component
null
if nothing was found or
a FocusVetoListener
doesn't want to inform the controllerpublic void dockStationUnregistered(DockController controller, DockStation station)
DockRegisterListener
station
has been unregistered from controller
.
Note that this method can be invoked while a Dockable
is dragged,
use the method DockController
.isOnMove()
.
dockStationUnregistered
in interface DockRegisterListener
controller
- the controller from whom dockable
was removedstation
- the removed DockStation
public void dockStationRegistered(DockController controller, DockStation station)
DockRegisterListener
DockStation
was registered. This method can
be called while a Dockable
is dragged. See the method
DockController
.isOnMove()
.
dockStationRegistered
in interface DockRegisterListener
controller
- the controller where station
was addedstation
- the DockStation
that was addedpublic void dockableRegistering(DockController controller, Dockable dockable)
DockRegisterListener
dockable
is registered in the
controller
.
dockableRegistering
in interface DockRegisterListener
controller
- the controller who does not yet know dockable
.dockable
- the dockable who does not yet know controller
.public void dockStationRegistering(DockController controller, DockStation station)
DockRegisterListener
station
is registered in
the controller
.
dockStationRegistering
in interface DockRegisterListener
controller
- the controller who does not yet know station
.station
- the station who does not yet know controller
.public void dockableFocused(DockController controller, Dockable dockable)
DockControllerListener
dockable
has gained the focus.
dockableFocused
in interface DockControllerListener
controller
- the origin of the eventdockable
- the Dockable
which is now focused
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |