|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bibliothek.gui.dock.common.intern.station.CommonDockStationFactory
public class CommonDockStationFactory
A factory that is responsible for storing and loading the layout of the
CommonDockStation
s. This factory actually forwards the work to
a real DockFactory
and only stores meta-data (like "was the
CommonDockStation
as SingleCDockable
?").
Field Summary | |
---|---|
static String |
FACTORY_ID
The unique identifier of this factory |
Constructor Summary | |
---|---|
CommonDockStationFactory(CControl control,
FrontendPerspectiveCache cache,
CommonSingleDockableFactory singleDockableFactory)
Creates a new factory |
Method Summary | |
---|---|
protected CommonDockStation<?,?> |
createStation(String id)
Creates a new CommonDockStation whose CStation is also a SingleCDockable with
unique identifier id . |
void |
estimateLocations(CommonDockStationLayout layout,
LocationEstimationMap children)
Tries to estimate the DockableProperty s of the children of the
station which is represented by layout .The children of this station are accessible through children.getChild( ... |
String |
getID()
Gets the unique name of this converter. |
CommonDockStationLayout |
getLayout(CommonDockStation<?,?> element,
Map<Dockable,Integer> children)
Gets the layout of element . |
CommonDockStationLayout |
getPerspectiveLayout(CommonDockStationPerspective element,
Map<PerspectiveDockable,Integer> children)
Gets the layout information that is associated with element . |
CommonDockStation<?,?> |
layout(CommonDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
Creates a new DockElement and changes the layout of the new
element such that is matches layout . |
CommonDockStation<?,?> |
layout(CommonDockStationLayout layout,
PlaceholderStrategy placeholders)
Creates a new DockElement and changes the layout of the new
element such that is matches layout . |
CommonDockStationPerspective |
layoutPerspective(CommonDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
Creates an element that can be used by a Perspective to create a layout
without creating any DockElement s. |
void |
layoutPerspective(CommonDockStationPerspective element,
CommonDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
Updates the contents of perspective such that it reflects the contents of layout . |
CommonDockStationLayout |
read(DataInputStream in,
PlaceholderStrategy placeholders)
Reads a layout from a stream. |
CommonDockStationLayout |
read(XElement element,
PlaceholderStrategy placeholders)
Reads a layout from an xml-element. |
protected void |
registerStation(CStation<?> station,
boolean root)
Register station at the CControl in whose realm this factory works. |
void |
setLayout(CommonDockStation<?,?> element,
CommonDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
setLayout(CommonDockStation<?,?> element,
CommonDockStationLayout layout,
PlaceholderStrategy placeholders)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
write(CommonDockStationLayout layout,
DataOutputStream out)
Writes the contents of layout into out . |
void |
write(CommonDockStationLayout layout,
XElement element)
Writes the contents of layout into element . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String FACTORY_ID
Constructor Detail |
---|
public CommonDockStationFactory(CControl control, FrontendPerspectiveCache cache, CommonSingleDockableFactory singleDockableFactory)
control
- the CControl
in whose realm this factory works, not null
cache
- used to create missing PerspectiveElement
s, can be null
singleDockableFactory
- the factory used to create new CommonDockStation
s that are also SingleCDockable
s, not null
Method Detail |
---|
protected CommonDockStation<?,?> createStation(String id)
CommonDockStation
whose CStation
is also a SingleCDockable
with
unique identifier id
.
id
- the unique identifier of a SingleCDockable
null
if id
is unknownprotected void registerStation(CStation<?> station, boolean root)
station
at the CControl
in whose realm this factory works.
station
- the station to registerroot
- whether to set the root flag or notpublic String getID()
DockConverter
getID
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
public CommonDockStationLayout getLayout(CommonDockStation<?,?> element, Map<Dockable,Integer> children)
DockConverter
element
. This method should create
a new instance of the layout object, that new object should not be
tied to element
in any way. A layout can be living for
a long period of time and might be used on another dockable
object.
getLayout
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the element for which a new layout should be createdchildren
- a map containing unique identifiers for the children
of the element. Children which are not in this map should not be
stored in the layout.children.size()
(excl.). The
same identifiers will be used as indices by a LocationEstimationMap
. See
also DockFactory.estimateLocations(Object, LocationEstimationMap)
.
public CommonDockStation<?,?> layout(CommonDockStationLayout layout, Map<Integer,Dockable> children, PlaceholderStrategy placeholders)
DockFactory
DockElement
and changes the layout of the new
element such that is matches layout
.
layout
in interface DockFactory<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- the new layoutchildren
- some children, note that the map may not contain all elements
which were present when the layout was created.placeholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.
null
if layout can't be usedpublic CommonDockStation<?,?> layout(CommonDockStationLayout layout, PlaceholderStrategy placeholders)
DockFactory
DockElement
and changes the layout of the new
element such that is matches layout
. This method should
not add any children to the element.
layout
in interface DockFactory<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- the new layoutplaceholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.
null
if layout can't be usedpublic void setLayout(CommonDockStation<?,?> element, CommonDockStationLayout layout, Map<Integer,Dockable> children, PlaceholderStrategy placeholders)
DockConverter
layout
and changes the layout of
element
accordingly. This method should remove all
children from element
and add new children.
setLayout
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the element whose content and children will be rearranged.layout
- the new layout of element
children
- some children, note that the map may not contain all elements
which were present when the layout was created.placeholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.public void setLayout(CommonDockStation<?,?> element, CommonDockStationLayout layout, PlaceholderStrategy placeholders)
DockConverter
layout
and changes the layout of
element
accordingly. This method should not add or remove
children to or from element
.
setLayout
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the element whose properties will be changedlayout
- the new set of propertiesplaceholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.public void estimateLocations(CommonDockStationLayout layout, LocationEstimationMap children)
DockFactory
DockableProperty
s of the children of the
station which is represented by layout
.children.getChild( ... )
, this
factory may also access the leafs in the tree of Dockable
s through
children.getSubChild(...)
.DockableProperty
,
it is the callers responsibility to handle chains of stations.
estimateLocations
in interface DockFactory<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- this stationchildren
- the children of the station, this method should call
DockLayoutInfo.setLocation(DockableProperty)
or LocationEstimationMap.setLocation(int, DockableProperty)
and
LocationEstimationMap.setLocation(int, int, DockableProperty)
for as many children as possiblepublic CommonDockStationPerspective layoutPerspective(CommonDockStationLayout layout, Map<Integer,PerspectiveDockable> children)
DockFactory
Perspective
to create a layout
without creating any DockElement
s. This method may return null
only
if the client is guaranteed not to use a Perspective
.
layoutPerspective
in interface DockFactory<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- the new layoutchildren
- some children, note that the map may not contain all elements
which were present when the layout was created. Is null
if the children of this
station are going to be ignored.
null
, the return value of PerspectiveElement.getFactoryID()
should
be equal to DockConverter.getID()
public void layoutPerspective(CommonDockStationPerspective element, CommonDockStationLayout layout, Map<Integer,PerspectiveDockable> children)
DockFactory
perspective
such that it reflects the contents of layout
.
layoutPerspective
in interface DockFactory<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the perspective that is to be updatedlayout
- the layout to applychildren
- the new children of perspective
, is null
if the children of this
station are going to be ignored.public CommonDockStationLayout getPerspectiveLayout(CommonDockStationPerspective element, Map<PerspectiveDockable,Integer> children)
DockConverter
element
.
The layout information can be any Object
. The only restriction
of the object is, that the associated DockFactory
understands
how to read that object.
getPerspectiveLayout
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the element whose layout information is asked.children
- a map providing identifiers for the children of this element. The
identifiers are in the range from 0 (incl.) to children.size()
(excl.),
the exact same identifiers would be given to DockConverter.getLayout(bibliothek.gui.dock.DockElement, Map)
.
Is null
if the children of this station should be ignored.
null
if this converter does not support perspectivespublic void write(CommonDockStationLayout layout, XElement element)
DockConverter
layout
into element
.
write
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- the layout to storeelement
- an xml-element into which this method should write, the
attributes of element
should not be changed.public CommonDockStationLayout read(XElement element, PlaceholderStrategy placeholders)
DockConverter
read
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
element
- the element to read, should not be changed by this
method.placeholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.
null
if the layout
should be discardedpublic void write(CommonDockStationLayout layout, DataOutputStream out) throws IOException
DockConverter
layout
into out
.
write
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
layout
- the layout to storeout
- the stream to write into
IOException
- if an I/O-error occurspublic CommonDockStationLayout read(DataInputStream in, PlaceholderStrategy placeholders) throws IOException
DockConverter
read
in interface DockConverter<CommonDockStation<?,?>,CommonDockStationPerspective,CommonDockStationLayout>
in
- the stream to read fromplaceholders
- a strategy to detect invalid placeholders, can be null
.
Factories loading only Dockable
s but no DockStation
s can safely ignore this argument.
null
if the layout
should be discarded
IOException
- if an I/O-error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |