|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectbibliothek.gui.dock.station.split.SplitDockStationFactory
public class SplitDockStationFactory
A factory that creates SplitDockStations.
| Field Summary | |
|---|---|
static String |
ID
The id which is normally used for this type of factory |
| Constructor Summary | |
|---|---|
SplitDockStationFactory()
Creates a new factory |
|
| Method Summary | |
|---|---|
protected SplitDockStationLayout |
createLayout(SplitDockPerspective station,
SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
Creates a new layout for station. |
protected SplitDockStationLayout |
createLayout(SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
Creates a new layout for station. |
protected SplitDockStationLayout |
createLayout(SplitDockStation station,
SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
Creates a new layout for station. |
protected SplitDockStation |
createStation(boolean hasFullscreenAction)
Creates new objects of SplitDockStation |
void |
estimateLocations(SplitDockStationLayout layout,
LocationEstimationMap children)
Tries to estimate the DockablePropertys 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. |
SplitDockStationLayout |
getLayout(SplitDockStation station,
Map<Dockable,Integer> children)
Gets the layout of element. |
SplitDockStationLayout |
getPerspectiveLayout(SplitDockPerspective element,
Map<PerspectiveDockable,Integer> children)
Gets the layout information that is associated with element. |
SplitDockStation |
layout(SplitDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
Creates a new DockElement and changes the layout of the new
element such that is matches layout. |
SplitDockStation |
layout(SplitDockStationLayout layout,
PlaceholderStrategy placeholders)
Creates a new DockElement and changes the layout of the new
element such that is matches layout. |
void |
layoutPerspective(SplitDockPerspective perspective,
SplitDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
Updates the contents of perspective such that it reflects the contents of layout. |
SplitDockPerspective |
layoutPerspective(SplitDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
Creates an element that can be used by a Perspective to create a layout
without creating any DockElements. |
SplitDockStationLayout |
read(DataInputStream in,
PlaceholderStrategy placeholders)
Reads a layout from a stream. |
SplitDockStationLayout |
read(XElement element,
PlaceholderStrategy placeholders)
Reads a layout from an xml-element. |
void |
setLayout(SplitDockStation station,
SplitDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
setLayout(SplitDockStation element,
SplitDockStationLayout layout,
PlaceholderStrategy placeholders)
Reads the contents of layout and changes the layout of
element accordingly. |
void |
write(SplitDockStationLayout layout,
DataOutputStream out)
Writes the contents of layout into out. |
void |
write(SplitDockStationLayout 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 ID
| Constructor Detail |
|---|
public SplitDockStationFactory()
| Method Detail |
|---|
public String getID()
DockConverter
getID in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>
protected SplitDockStationLayout createLayout(SplitDockStation station,
SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
station. The default implementation just calls createLayout(SplitDockStationLayout.Entry, int, boolean).
station - the station for which the layout is requestedroot - the contents of the layoutfullscreen - the index of the child that is maximizedhasFullscreenAction - whether a fullscreen action is shown or not
protected SplitDockStationLayout createLayout(SplitDockPerspective station,
SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
station. The default implementation just calls createLayout(SplitDockStationLayout.Entry, int, boolean).
station - the station for which the layout is requestedroot - the contents of the layoutfullscreen - the index of the child that is maximizedhasFullscreenAction - whether a fullscreen action is shown or not
protected SplitDockStationLayout createLayout(SplitDockStationLayout.Entry root,
int fullscreen,
boolean hasFullscreenAction)
station.
root - the contents of the layoutfullscreen - the index of the child that is maximizedhasFullscreenAction - whether a fullscreen action is shown or not
public SplitDockStationLayout getLayout(SplitDockStation station,
Map<Dockable,Integer> children)
DockConverterelement. 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<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>station - 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 SplitDockStationLayout getPerspectiveLayout(SplitDockPerspective element,
Map<PerspectiveDockable,Integer> children)
DockConverterelement.
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<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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 perspectives
public void setLayout(SplitDockStation station,
SplitDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
DockConverterlayout and changes the layout of
element accordingly. This method should remove all
children from element and add new children.
setLayout in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>station - the element whose content and children will be rearranged.layout - the new layout of elementchildren - 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 Dockables but no DockStations can safely ignore this argument.
public SplitDockPerspective layoutPerspective(SplitDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
DockFactoryPerspective to create a layout
without creating any DockElements. This method may return null only
if the client is guaranteed not to use a Perspective.
layoutPerspective in interface DockFactory<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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(SplitDockPerspective perspective,
SplitDockStationLayout layout,
Map<Integer,PerspectiveDockable> children)
DockFactoryperspective such that it reflects the contents of layout.
layoutPerspective in interface DockFactory<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>perspective - 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 void estimateLocations(SplitDockStationLayout layout,
LocationEstimationMap children)
DockFactoryDockablePropertys of the children of the
station which is represented by layout.children.getChild( ... ), this
factory may also access the leafs in the tree of Dockables through
children.getSubChild(...).DockableProperty,
it is the callers responsibility to handle chains of stations.
estimateLocations in interface DockFactory<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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 possible
public void setLayout(SplitDockStation element,
SplitDockStationLayout layout,
PlaceholderStrategy placeholders)
DockConverterlayout and changes the layout of
element accordingly. This method should not add or remove
children to or from element.
setLayout in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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 Dockables but no DockStations can safely ignore this argument.
public SplitDockStation layout(SplitDockStationLayout layout,
PlaceholderStrategy placeholders)
DockFactoryDockElement 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<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>layout - the new layoutplaceholders - a strategy to detect invalid placeholders, can be null.
Factories loading only Dockables but no DockStations can safely ignore this argument.
null if layout can't be used
public SplitDockStation layout(SplitDockStationLayout layout,
Map<Integer,Dockable> children,
PlaceholderStrategy placeholders)
DockFactoryDockElement and changes the layout of the new
element such that is matches layout.
layout in interface DockFactory<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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 Dockables but no DockStations can safely ignore this argument.
null if layout can't be used
public void write(SplitDockStationLayout layout,
DataOutputStream out)
throws IOException
DockConverterlayout into out.
write in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>layout - the layout to storeout - the stream to write into
IOException - if an I/O-error occurs
public SplitDockStationLayout read(DataInputStream in,
PlaceholderStrategy placeholders)
throws IOException
DockConverter
read in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>in - the stream to read fromplaceholders - a strategy to detect invalid placeholders, can be null.
Factories loading only Dockables but no DockStations can safely ignore this argument.
null if the layout
should be discarded
IOException - if an I/O-error occurs
public void write(SplitDockStationLayout layout,
XElement element)
DockConverterlayout into element.
write in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>layout - the layout to storeelement - an xml-element into which this method should write, the
attributes of element should not be changed.
public SplitDockStationLayout read(XElement element,
PlaceholderStrategy placeholders)
DockConverter
read in interface DockConverter<SplitDockStation,SplitDockPerspective,SplitDockStationLayout>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 Dockables but no DockStations can safely ignore this argument.
null if the layout
should be discardedprotected SplitDockStation createStation(boolean hasFullscreenAction)
SplitDockStation
hasFullscreenAction - whether the station did have a fullscreen-action
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||