public interface LayoutChangeStrategy
DockFrontend
to read layout information and apply new
positions for Dockable
s.Modifier and Type | Method and Description |
---|---|
DockFrontendPerspective |
createPerspective(DockFrontendInternals frontend,
boolean entry,
FrontendPerspectiveCache cache)
Creates a
Perspective that is used to read and write perspectives related to frontend . |
DockSituation |
createSituation(DockFrontendInternals frontend,
boolean entry)
Creates a new
DockSituation that is used to write and read the current setting from and
to a stream.Note: the result of this method is used to read and write data from a file, the frontend expects that always the same format (i.e. |
PropertyTransformer |
createTransformer(DockFrontendInternals frontend)
Creates a converter for reading and writing
DockableProperty s. |
void |
estimateLocations(DockFrontendInternals frontend,
DockSituation situation,
DockLayoutComposition layout)
Tries to fill the property
location
for each element in layout . |
PlaceholderStrategy |
getPlaceholderStrategy(DockFrontendInternals frontend)
Gets the default
PlaceholderStrategy which should be used to filter placeholders by frontend . |
boolean |
setLayout(DockFrontendInternals frontend,
Setting setting,
boolean entry)
Changes the layout of
frontend by reading and applying setting . |
boolean |
shouldUpdateLayoutOnAdd(Dockable dockable)
Called when
dockable is added to a DockFrontend , and the frontend already knows the layout which should be used
for dockable . |
boolean setLayout(DockFrontendInternals frontend, Setting setting, boolean entry) throws java.io.IOException, XException
frontend
by reading and applying setting
.
The DockRegister
is stalled
while this method runs.VetoManager
provided by frontend
to ensure
that all operations are legal.frontend
- internal information about a DockFrontend
setting
- the layout to read and applyentry
- true
if setting
contains only little information about
the layout, false
if there is much information abut the layout.true
if the layout has been applied, false
if
the operation was canceled due of any reasonjava.io.IOException
- in case of some stream that cannot be readXException
- in case of some XElement
that cannot be readshouldUpdateLayoutOnAdd(Dockable)
DockSituation createSituation(DockFrontendInternals frontend, boolean entry)
DockSituation
that is used to write and read the current setting from and
to a stream.DockSituation
) is used.frontend
- the frontend for which the situation is requiredentry
- true
if the situation is used for a regular setting,
false
if the situation is used as the final setting which will
be loaded the next time the application starts.DockFrontendPerspective createPerspective(DockFrontendInternals frontend, boolean entry, FrontendPerspectiveCache cache)
Perspective
that is used to read and write perspectives related to frontend
.frontend
- the frontend for which the situation is requiredentry
- true
if the situation is used for a regular setting,
false
if the situation is used as the final setting which will
be loaded the next time the application starts.cache
- a cache that takes DockElement
s and returns the matching PerspectiveElement
. The cache
also offers methods to convert ids and PerspectiveElement
s directlyPropertyTransformer createTransformer(DockFrontendInternals frontend)
DockableProperty
s.frontend
- the frontend for which the converter is requiredvoid estimateLocations(DockFrontendInternals frontend, DockSituation situation, DockLayoutComposition layout)
location
for each element in layout
.frontend
- the frontend which calls this methodsituation
- the situation to use for transforming informationlayout
- the layout to estimatePlaceholderStrategy getPlaceholderStrategy(DockFrontendInternals frontend)
PlaceholderStrategy
which should be used to filter placeholders by frontend
.frontend
- information about the DockFrontend
that needs the strategynull
boolean shouldUpdateLayoutOnAdd(Dockable dockable)
dockable
is added to a DockFrontend
, and the frontend already knows the layout which should be used
for dockable
. If the result is true
, then all children of dockable
are removed, and reloaded to apply the layout
that is stored in the frontend.false
if setLayout(DockFrontendInternals, Setting, boolean)
is currently executed, preventing concurrent
modifications of the dock-tree.dockable
- the dockable that is added to a DockFrontend
true
if the layout of dockable
should be updated.