org.flexdock.docking.defaults
public abstract class AbstractDockable extends Object implements Dockable
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.DockingListener.Stub
DOCKABLE_INDICATOR
Constructor and Description |
---|
AbstractDockable(String id)
Creates a new
AbstractDockable instance. |
Modifier and Type | Method and Description |
---|---|
void |
addDockingListener(DockingListener listener)
Adds a
DockingListener to observe docking events for this
Dockable . |
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.
|
boolean |
dock(Dockable dockable)
Provides the default
Dockable implementation of
dock(Dockable dockable) by calling and returning
DockingManager.dock(Dockable dockable, Dockable parent) . |
boolean |
dock(Dockable dockable,
String relativeRegion)
Provides the default
Dockable implementation of
dock(Dockable dockable, String relativeRegion) by calling and
returning
DockingManager.dock(Dockable dockable, Dockable parent, String region) . |
boolean |
dock(Dockable dockable,
String relativeRegion,
float ratio)
Provides the default
Dockable implementation of
dock(Dockable dockable, String relativeRegion, float ratio) by
calling and returning
DockingManager.dock(Dockable dockable, Dockable parent, String region, float proportion) . |
void |
dockingCanceled(DockingEvent evt)
No operation.
|
void |
dockingComplete(DockingEvent evt)
No operation.
|
void |
dragStarted(DockingEvent evt)
No operation.
|
void |
dropStarted(DockingEvent evt)
No operation.
|
Object |
getClientProperty(Object key)
Returns the value of the property with the specified key.
|
abstract Component |
getComponent()
Returns the
Component used to back this Dockable
instance. |
DockingListener[] |
getDockingListeners()
Returns an array of all
DockingListeners added to this
Dockable . |
DockingPort |
getDockingPort()
Returns the
DockingPort within which this Dockable is
currently docked. |
DockablePropertySet |
getDockingProperties()
Returns a
DockablePropertySet instance associated with this
Dockable . |
List |
getDragSources()
Returns a
List of Components used to initiate
drag-to-dock operation. |
Set |
getFrameDragSources()
Returns a
HashSet of Components used as frame drag
sources when this Dockable is floating in a non-decorated
external dialog. |
String |
getPersistentId()
Returns the persistent ID of this
Dockable instance provided when
this object was instantiated. |
String |
getTabText()
Returns the
String used for tab labels when this Dockable
is embedded within a tabbed layout. |
void |
putClientProperty(Object key,
Object value)
Adds an arbitrary key/value "client property" to this
Dockable . |
void |
removeDockingListener(DockingListener listener)
Removes the specified
DockingListener from this Dockable . |
void |
removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.
|
void |
setTabText(String tabText)
Sets the
String to be used for tab labels when this
Dockable is embedded within a tabbed layout. |
void |
undockingComplete(DockingEvent evt)
No operation.
|
void |
undockingStarted(DockingEvent evt)
No operation.
|
public AbstractDockable(String id)
AbstractDockable
instance. This constructor is
meant to be invoked by subclasses as it initializes the
Dockable's
persistent ID and drag sources.id
- the persistent ID of the resulting Dockable
Dockable.getPersistentId()
public abstract Component getComponent()
Component
used to back this Dockable
instance.getComponent
in interface Dockable
Component
used to back this Dockable
instance.Dockable.getComponent()
public List getDragSources()
List
of Components
used to initiate
drag-to-dock operation. By default, the returned List
contains
the Component
returned by getComponent()
.getDragSources
in interface Dockable
List
of Components
used to initiate
drag-to-dock operation.Dockable.getDragSources()
,
getComponent()
public String getPersistentId()
Dockable
instance provided when
this object was instantiated.getPersistentId
in interface Dockable
Dockable
Dockable.getPersistentId()
,
AbstractDockable(String)
public Set getFrameDragSources()
HashSet
of Components
used as frame drag
sources when this Dockable
is floating in a non-decorated
external dialog. The HashSet
returned by this method is initially
empty. Because it is mutable, however, new Components
may be
added to it.getFrameDragSources
in interface Dockable
HashSet
of Components
used as frame drag
sources when this Dockable
is floating in a non-decorated
external dialog.Dockable.getFrameDragSources()
public void setTabText(String tabText)
String
to be used for tab labels when this
Dockable
is embedded within a tabbed layout. null
values
are discouraged, but not illegal.tabText
- the String
to be used for tab labels when this
Dockable
is embedded within a tabbed layout.public String getTabText()
String
used for tab labels when this Dockable
is embedded within a tabbed layout. It is possible for this method to
return a null
reference.String
used for tab labels when this
Dockable
is embedded within a tabbed layout.public void dockingCanceled(DockingEvent evt)
DockingListener
interface contract.dockingCanceled
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.dockingCanceled(DockingEvent)
public void dockingComplete(DockingEvent evt)
DockingListener
interface contract.dockingComplete
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.dockingComplete(DockingEvent)
public void dragStarted(DockingEvent evt)
DockingListener
interface contract.dragStarted
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.dragStarted(DockingEvent)
public void dropStarted(DockingEvent evt)
DockingListener
interface contract.dropStarted
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.dropStarted(DockingEvent)
public void undockingComplete(DockingEvent evt)
DockingListener
interface contract.undockingComplete
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.undockingComplete(DockingEvent)
public void undockingStarted(DockingEvent evt)
DockingListener
interface contract.undockingStarted
in interface DockingListener
evt
- the DockingEvent
to respond to.DockingListener.undockingStarted(DockingEvent)
public void addDockingListener(DockingListener listener)
DockingListener
to observe docking events for this
Dockable
. null
arguments are ignored.addDockingListener
in interface DockingMonitor
listener
- the DockingListener
to add to this Dockable
.getDockingListeners()
,
removeDockingListener(DockingListener)
public DockingListener[] getDockingListeners()
DockingListeners
added to this
Dockable
. If there are no listeners present for this
Dockable
, then a zero-length array is returned.getDockingListeners
in interface DockingMonitor
DockingListeners
added to this
Dockable
.addDockingListener(DockingListener)
,
removeDockingListener(DockingListener)
public void removeDockingListener(DockingListener listener)
DockingListener
from this Dockable
.
If the specified DockingListener
is null
, or the
listener has not previously been added to this Dockable
, then no
Exception
is thrown and no action is taken.removeDockingListener
in interface DockingMonitor
listener
- the DockingListener
to remove from this
Dockable
addDockingListener(DockingListener)
,
getDockingListeners()
public Object getClientProperty(Object key)
putClientProperty
will return a non-null
value. If key
is null
, a null
reference is
returned.
If the Component
returned by getComponent()
is an
instance of JComponent
, then this method will dispatch to that
JComponent's
getClientProperty(Object, Object)
method.
Otherwise, this Dockable
will provide its own internal mapping of
client properties.
getClientProperty
in interface Dockable
key
- the key that is being queriednull
Dockable.getClientProperty(Object)
,
JComponent.getClientProperty(java.lang.Object)
public void putClientProperty(Object key, Object value)
Dockable
.
null
values are allowed. If key
is null
, then no
action is taken.
If the Component
returned by getComponent()
is an
instance of JComponent
, then this method will dispatch to that
JComponent's
putClientProperty(Object, Object)
method.
Otherwise, this Dockable
will provide its own internal mapping of
client properties.
putClientProperty
in interface Dockable
key
- the new client property keyvalue
- the new client property value; if null
this method
will remove the propertyDockable.putClientProperty(Object, Object)
,
JComponent.putClientProperty(java.lang.Object,
java.lang.Object)
public DockablePropertySet getDockingProperties()
DockablePropertySet
instance associated with this
Dockable
. This method returns the default implementation
supplied by the framework by invoking
getDockablePropertySet(Dockable dockable)
on
org.flexdock.docking.props.PropertyManager
and supplying an
argument of this
.getDockingProperties
in interface Dockable
DockablePropertySet
associated with this
Dockable
. This method will not return a null
reference.DockablePropertySet
,
Dockable.getDockingProperties()
,
PropertyManager.getDockablePropertySet(Dockable)
public DockingPort getDockingPort()
DockingPort
within which this Dockable
is
currently docked. If not currently docked, this method will return
null
.
This method defers processing to
getDockingPort(Dockable dockable)
, passing an argument of
this
. This DockingPort
returned is based upon the
Component
returned by this Dockable's
abstract
getComponent()
method.
getDockingPort
in interface Dockable
DockingPort
within which this Dockable
is
currently docked.Dockable.getDockingPort()
,
DockingManager.getDockingPort(Dockable)
public boolean dock(Dockable dockable)
Dockable
implementation of
dock(Dockable dockable)
by calling and returning
DockingManager.dock(Dockable dockable, Dockable parent)
.
'this'
is passed as the parent
parameter.dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
true
if the docking operation was successful;
false
otherwise.Dockable.dock(Dockable)
,
DockingManager.dock(Dockable, Dockable)
public boolean dock(Dockable dockable, String relativeRegion)
Dockable
implementation of
dock(Dockable dockable, String relativeRegion)
by calling and
returning
DockingManager.dock(Dockable dockable, Dockable parent, String region)
.
'this'
is passed as the parent
parameter.dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
relativeRegion
- the docking region into which to dock the specified
Dockable
true
if the docking operation was successful;
false
otherwise.Dockable.dock(Dockable, String)
,
DockingManager.dock(Dockable, Dockable, String)
public boolean dock(Dockable dockable, String relativeRegion, float ratio)
Dockable
implementation of
dock(Dockable dockable, String relativeRegion, float ratio)
by
calling and returning
DockingManager.dock(Dockable dockable, Dockable parent, String region, float proportion)
.
'this'
is passed as the parent
parameter.dock
in interface Dockable
dockable
- the Dockable
to dock relative to this Dockable
relativeRegion
- the docking region into which to dock the specified
Dockable
ratio
- the proportion of available space in the resulting layout to
allot to the new sibling Dockable
.true
if the docking operation was successful;
false
otherwise.DockingManager.dock(Dockable, Dockable, String, float)
public void addPropertyChangeListener(PropertyChangeListener listener)
Dockable
If listener is null, no exception is thrown and no action is performed.
addPropertyChangeListener
in interface Dockable
listener
- the PropertyChangeListener to be addedDockable.removePropertyChangeListener(PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
Dockable
If listener is null, no exception is thrown and no action is performed.
removePropertyChangeListener
in interface Dockable
listener
- the PropertyChangeListener to be removedDockable.addPropertyChangeListener(java.beans.PropertyChangeListener)