PersistenceDelegate is available since 1.2.0 and it's an interface that provides useful methods to save
and load the tool window manager's workspace.
When you request to save the workspace, all settings of toolwindows, and not only, with relative descriptors are saved.
See the specific DTD, relative to the version of mydoggy that you are using, to know all information saved.
To obtain the instance of the PersistenceDelegate for a specific ToolWindowManager use the following:
PersistenceDelegate pstDelegate = twManager.getPersistenceDelegate();
MyDoggy arrives with a default implementation provided by
org.noos.xing.mydoggy.plaf.persistence.xml.XMLPersistenceDelegate
This implementation use the xml format to store all necessary data.
You can found the relative DTD
<?xml version="1.0" standalone="yes"?>
<mydoggy version="1.4.2" contentManagerEnabled="true">
<toolWindows>
<toolWindow id="Tool 1" available="true" visible="false" active="false" autoHide="true" anchor="LEFT" anchorIndex="1" type="DOCKED" aggregateMode="false" maximized="false" index="1" representativeAnchorButtonVisible="true" flashing="false">
<descriptors>
<docked dockLength="200" minimumDockLength="100" popupMenuEnabled="true" animating="true" previewEnabled="true" previewDelay="1000" previewTransparentRatio="0.65" hideRepresentativeButtonOnVisible="false" idVisibleOnTitleBar="true" autoHide="true"/>
<sliding transparentMode="true" transparentDelay="1000" transparentRatio="0.5" enabled="true" animating="true" idVisibleOnTitleBar="true" autoHide="true"/>
<floating modal="false" transparentMode="true" transparentDelay="0" transparentRatio="0.7" enabled="true" animating="true" idVisibleOnTitleBar="true" autoHide="false" addToTaskBar="false"/>
<floatingLive transparentMode="true" transparentDelay="1000" transparentRatio="0.5" enabled="true" animating="true" idVisibleOnTitleBar="true" autoHide="false"/>
</descriptors>
</toolWindow>
</toolWindows>
<toolWindowManagerDescriptor numberingEnabled="true" previewEnabled="true" showUnavailableTools="false">
<pushAway pushAwayMode="VERTICAL">
<mode type="MOST_RECENT">
<anchor type="TOP"/>
<anchor type="RIGHT"/>
<anchor type="BOTTOM"/>
<anchor type="LEFT"/>
</mode>
</pushAway>
</toolWindowManagerDescriptor>
<contentManagerUI>
<MultiSplitContentManagerUI closeable="true" detachable="true" minimizable="true" showAlwaysTab="false" tabLayout="WRAP" tabPlacement="BOTTOM">
<contents>
<content id="Welcome" showAlwaysTab="true"/>
</contents>
<layout>
<![CDATA[
<java version="1.6.0_06" class="java.beans.XMLDecoder">
<object class="org.noos.xing.mydoggy.plaf.ui.cmp.MultiSplitDockableContainer$DockableLeaf">
<void property="bounds">
<object class="java.awt.Rectangle">
<int>0</int>
<int>0</int>
<int>584</int>
<int>384</int>
</object>
</void>
<void property="dockables">
<object class="java.util.ArrayList">
<void method="add">
<string>Welcome</string>
</void>
</object>
</void>
<void property="name">
<string>1</string>
</void>
<void property="weight">
<double>1.0</double>
</void>
</object>
</java>
]]>
</layout>
</MultiSplitContentManagerUI>
</contentManagerUI>
<contentManager>
<contents>
<content id="Welcome" detached="false" enabled="true" selected="true" maximized="false" minimized="false" flashing="false" closeable="true" detachable="true" minimizable="true" transparentMode="true" transparentDelay="0" transparentRatio="0.7" addToTaskBarWhenDetached="false"/>
</contents>
</contentManager>
<toolWindowBars>
<toolWindowBar anchor="LEFT" dividerSize="3" aggregateMode="false"/>
<toolWindowBar anchor="BOTTOM" dividerSize="3" aggregateMode="false"/>
<toolWindowBar anchor="RIGHT" dividerSize="3" aggregateMode="false"/>
<toolWindowBar anchor="TOP" dividerSize="3" aggregateMode="false"/>
</toolWindowBars>
</mydoggy>