|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bibliothek.gui.dock.frontend.RegisteringDockFactory<D,L>
D
- the kind of elements read by this factoryL
- the kind of data the wrapped factory needspublic class RegisteringDockFactory<D extends Dockable,L>
A DockFactory
that wrapps around another factory and adds all elements
that are read through layout(BackupFactoryData)
or layout(BackupFactoryData, Map)
to a DockFrontend
.
Constructor Summary | |
---|---|
RegisteringDockFactory(DockFrontend frontend,
DockFactory<D,L> factory)
Creates a new factory |
Method Summary | |
---|---|
void |
estimateLocations(BackupFactoryData<L> layout,
LocationEstimationMap children)
Tries to estimate the DockableProperty s of the children of the
station which is represented by layout . |
String |
getID()
Gets the unique name of this converter. |
BackupFactoryData<L> |
getLayout(D element,
Map<Dockable,Integer> children)
Gets the layout of element . |
D |
layout(BackupFactoryData<L> layout)
Creates a new DockElement and changes the layout of the new
element such that is matches layout . |
D |
layout(BackupFactoryData<L> layout,
Map<Integer,Dockable> children)
Creates a new DockElement and changes the layout of the new
element such that is matches layout . |
BackupFactoryData<L> |
read(DataInputStream in,
PlaceholderStrategy placeholders)
Reads a layout from a stream. |
BackupFactoryData<L> |
read(XElement element,
PlaceholderStrategy placeholders)
Reads a layout from an xml-element. |
void |
setLayout(D element,
BackupFactoryData<L> layout)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
setLayout(D element,
BackupFactoryData<L> layout,
Map<Integer,Dockable> children)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
write(BackupFactoryData<L> layout,
DataOutputStream out)
Writes the contents of layout into out . |
void |
write(BackupFactoryData<L> 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 |
Constructor Detail |
---|
public RegisteringDockFactory(DockFrontend frontend, DockFactory<D,L> factory)
frontend
- the frontend to which this factory will add new elementsfactory
- delegated used to read and create new elementsMethod Detail |
---|
public String getID()
DockConverter
getID
in interface DockConverter<D extends Dockable,BackupFactoryData<L>>
public void estimateLocations(BackupFactoryData<L> 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<D extends Dockable,BackupFactoryData<L>>
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 BackupFactoryData<L> getLayout(D 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<D extends Dockable,BackupFactoryData<L>>
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 D layout(BackupFactoryData<L> layout, Map<Integer,Dockable> children)
DockFactory
DockElement
and changes the layout of the new
element such that is matches layout
.
layout
in interface DockFactory<D extends Dockable,BackupFactoryData<L>>
layout
- the new layoutchildren
- some children, note that the map may not contain all elements
which were present when the layout was created.
null
if layout can't be usedpublic D layout(BackupFactoryData<L> layout)
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<D extends Dockable,BackupFactoryData<L>>
layout
- the new layout
null
if layout can't be usedpublic BackupFactoryData<L> read(DataInputStream in, PlaceholderStrategy placeholders) throws IOException
DockConverter
read
in interface DockConverter<D extends Dockable,BackupFactoryData<L>>
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 occurspublic BackupFactoryData<L> read(XElement element, PlaceholderStrategy placeholders)
DockConverter
read
in interface DockConverter<D extends Dockable,BackupFactoryData<L>>
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 setLayout(D element, BackupFactoryData<L> layout, Map<Integer,Dockable> children)
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<D extends Dockable,BackupFactoryData<L>>
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.public void setLayout(D element, BackupFactoryData<L> layout)
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<D extends Dockable,BackupFactoryData<L>>
element
- the element whose properties will be changedlayout
- the new set of propertiespublic void write(BackupFactoryData<L> layout, DataOutputStream out) throws IOException
DockConverter
layout
into out
.
write
in interface DockConverter<D extends Dockable,BackupFactoryData<L>>
layout
- the layout to storeout
- the stream to write into
IOException
- if an I/O-error occurspublic void write(BackupFactoryData<L> layout, XElement element)
DockConverter
layout
into element
.
write
in interface DockConverter<D extends Dockable,BackupFactoryData<L>>
layout
- the layout to storeelement
- an xml-element into which this method should write, the
attributes of element
should not be changed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |