Class AbstractDockable
- All Implemented Interfaces:
EventListener,Dockable,DockingListener,DockingMonitor
Dockable interface. This
class should be extended by any application that wishes to make use of the
Dockable interface without the need for writing out an implementation
for every method that isn't explicitly used.- Author:
- Christopher Butler
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.flexdock.docking.event.DockingListener
DockingListener.Stub -
Field Summary
Fields inherited from interface org.flexdock.docking.Dockable
DOCKABLE_INDICATOR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDockingListener(DockingListener listener) Adds aDockingListenerto observe docking events for thisDockable.voidAdds a PropertyChangeListener to the listener list.booleanProvides the defaultDockableimplementation ofdock(Dockable dockable)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent).booleanProvides the defaultDockableimplementation ofdock(Dockable dockable, String relativeRegion)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent, String region).booleanProvides the defaultDockableimplementation ofdock(Dockable dockable, String relativeRegion, float ratio)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent, String region, float proportion).voidNo operation.voidNo operation.voiddragStarted(DockingEvent evt) No operation.voiddropStarted(DockingEvent evt) No operation.getClientProperty(Object key) Returns the value of the property with the specified key.abstract ComponentReturns theComponentused to back thisDockableinstance.Returns an array of allDockingListenersadded to thisDockable.Returns theDockingPortwithin which thisDockableis currently docked.Returns aDockablePropertySetinstance associated with thisDockable.Returns aListofComponentsused to initiate drag-to-dock operation.Returns aHashSetofComponentsused as frame drag sources when thisDockableis floating in a non-decorated external dialog.Returns the persistent ID of thisDockableinstance provided when this object was instantiated.Returns theStringused for tab labels when thisDockableis embedded within a tabbed layout.voidputClientProperty(Object key, Object value) Adds an arbitrary key/value "client property" to thisDockable.voidremoveDockingListener(DockingListener listener) Removes the specifiedDockingListenerfrom thisDockable.voidRemoves a PropertyChangeListener from the listener list.voidsetTabText(String tabText) Sets theStringto be used for tab labels when thisDockableis embedded within a tabbed layout.voidNo operation.voidNo operation.
-
Constructor Details
-
AbstractDockable
Creates a newAbstractDockableinstance. This constructor is meant to be invoked by subclasses as it initializes theDockable'spersistent ID and drag sources.- Parameters:
id- the persistent ID of the resultingDockable- See Also:
-
-
Method Details
-
getComponent
Returns theComponentused to back thisDockableinstance.- Specified by:
getComponentin interfaceDockable- Returns:
- the
Componentused to back thisDockableinstance. - See Also:
-
getDragSources
Returns aListofComponentsused to initiate drag-to-dock operation. By default, the returnedListcontains theComponentreturned bygetComponent().- Specified by:
getDragSourcesin interfaceDockable- Returns:
- a
ListofComponentsused to initiate drag-to-dock operation. - See Also:
-
getPersistentId
Returns the persistent ID of thisDockableinstance provided when this object was instantiated.- Specified by:
getPersistentIdin interfaceDockable- Returns:
- the persistent ID of this
Dockable - See Also:
-
getFrameDragSources
Returns aHashSetofComponentsused as frame drag sources when thisDockableis floating in a non-decorated external dialog. TheHashSetreturned by this method is initially empty. Because it is mutable, however, newComponentsmay be added to it.- Specified by:
getFrameDragSourcesin interfaceDockable- Returns:
- a
HashSetofComponentsused as frame drag sources when thisDockableis floating in a non-decorated external dialog. - See Also:
-
setTabText
Sets theStringto be used for tab labels when thisDockableis embedded within a tabbed layout.nullvalues are discouraged, but not illegal.- Parameters:
tabText- theStringto be used for tab labels when thisDockableis embedded within a tabbed layout.
-
getTabText
Returns theStringused for tab labels when thisDockableis embedded within a tabbed layout. It is possible for this method to return anullreference.- Returns:
- tabText the
Stringused for tab labels when thisDockableis embedded within a tabbed layout.
-
dockingCanceled
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
dockingCanceledin interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
dockingComplete
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
dockingCompletein interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
dragStarted
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
dragStartedin interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
dropStarted
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
dropStartedin interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
undockingComplete
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
undockingCompletein interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
undockingStarted
No operation. Provided as a method stub to fulfull theDockingListenerinterface contract.- Specified by:
undockingStartedin interfaceDockingListener- Parameters:
evt- theDockingEventto respond to.- See Also:
-
addDockingListener
Adds aDockingListenerto observe docking events for thisDockable.nullarguments are ignored.- Specified by:
addDockingListenerin interfaceDockingMonitor- Parameters:
listener- theDockingListenerto add to thisDockable.- See Also:
-
getDockingListeners
Returns an array of allDockingListenersadded to thisDockable. If there are no listeners present for thisDockable, then a zero-length array is returned.- Specified by:
getDockingListenersin interfaceDockingMonitor- Returns:
- an array of all
DockingListenersadded to thisDockable. - See Also:
-
removeDockingListener
Removes the specifiedDockingListenerfrom thisDockable. If the specifiedDockingListenerisnull, or the listener has not previously been added to thisDockable, then noExceptionis thrown and no action is taken.- Specified by:
removeDockingListenerin interfaceDockingMonitor- Parameters:
listener- theDockingListenerto remove from thisDockable- See Also:
-
getClientProperty
Returns the value of the property with the specified key. Only properties added withputClientPropertywill return a non-nullvalue. Ifkeyisnull, anullreference is returned.If the
Componentreturned bygetComponent()is an instance ofJComponent, then this method will dispatch to thatJComponent'sgetClientProperty(Object, Object)method. Otherwise, thisDockablewill provide its own internal mapping of client properties.- Specified by:
getClientPropertyin interfaceDockable- Parameters:
key- the key that is being queried- Returns:
- the value of this property or
null - See Also:
-
putClientProperty
Adds an arbitrary key/value "client property" to thisDockable.nullvalues are allowed. Ifkeyisnull, then no action is taken.If the
Componentreturned bygetComponent()is an instance ofJComponent, then this method will dispatch to thatJComponent'sputClientProperty(Object, Object)method. Otherwise, thisDockablewill provide its own internal mapping of client properties.- Specified by:
putClientPropertyin interfaceDockable- Parameters:
key- the new client property keyvalue- the new client property value; ifnullthis method will remove the property- See Also:
-
getDockingProperties
Returns aDockablePropertySetinstance associated with thisDockable. This method returns the default implementation supplied by the framework by invokinggetDockablePropertySet(Dockable dockable)onorg.flexdock.docking.props.PropertyManagerand supplying an argument ofthis.- Specified by:
getDockingPropertiesin interfaceDockable- Returns:
- the
DockablePropertySetassociated with thisDockable. This method will not return anullreference. - See Also:
-
getDockingPort
Returns theDockingPortwithin which thisDockableis currently docked. If not currently docked, this method will returnnull.This method defers processing to
getDockingPort(Dockable dockable), passing an argument ofthis. ThisDockingPortreturned is based upon theComponentreturned by thisDockable'sabstractgetComponent()method.- Specified by:
getDockingPortin interfaceDockable- Returns:
- the
DockingPortwithin which thisDockableis currently docked. - See Also:
-
dock
Provides the defaultDockableimplementation ofdock(Dockable dockable)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent).'this'is passed as theparentparameter. -
dock
Provides the defaultDockableimplementation ofdock(Dockable dockable, String relativeRegion)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent, String region).'this'is passed as theparentparameter. -
dock
Provides the defaultDockableimplementation ofdock(Dockable dockable, String relativeRegion, float ratio)by calling and returningDockingManager.dock(Dockable dockable, Dockable parent, String region, float proportion).'this'is passed as theparentparameter.- Specified by:
dockin interfaceDockable- Parameters:
dockable- theDockableto dock relative to thisDockablerelativeRegion- the docking region into which to dock the specifiedDockableratio- the proportion of available space in the resulting layout to allot to the new siblingDockable.- Returns:
trueif the docking operation was successful;falseotherwise.- See Also:
-
addPropertyChangeListener
Description copied from interface:DockableAdds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class. Note that if this Dockable is inheriting a bound property, then no event will be fired in response to a change in the inherited property.If listener is null, no exception is thrown and no action is performed.
- Specified by:
addPropertyChangeListenerin interfaceDockable- Parameters:
listener- the PropertyChangeListener to be added- See Also:
-
removePropertyChangeListener
Description copied from interface:DockableRemoves a PropertyChangeListener from the listener list. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of this class.If listener is null, no exception is thrown and no action is performed.
- Specified by:
removePropertyChangeListenerin interfaceDockable- Parameters:
listener- the PropertyChangeListener to be removed- See Also:
-