Skip to content
Snippets Groups Projects
Commit 3973d4fc authored by Raphael GIRARDOT's avatar Raphael GIRARDOT Committed by Patrick MADELA
Browse files

some methods renamed + added the possibility to interact with any docking area...

some methods renamed + added the possibility to interact with any docking area (not necessary the main one)
parent 140e1749
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@ import java.util.prefs.Preferences;
import javax.swing.Action;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import fr.soleil.docking.action.SaveDefaultPerspertiveAction;
import fr.soleil.docking.exception.DockingException;
......@@ -116,21 +117,35 @@ public abstract class ADockingManager implements PropertyChangeListener {
public void loadPreferences(Preferences prefs) throws DockingException {
this.perspectiveFactory.loadPreferences(prefs);
this.viewFactory.loadPreferences(prefs);
this.loadPerspective(perspectiveFactory.getSelectedPerspective());
this.applyPerspective(perspectiveFactory.getSelectedPerspective());
}
public void resetLayout() throws DockingException {
loadPerspective(perspectiveFactory.getDefault());
applyPerspective(perspectiveFactory.getDefault());
}
/**
* @param is
* Applies a perspective to the main docking area
*
* @param perspective The perspective to apply
* @throws DockingException If a problem occurred while trying to apply the perspective
*/
public abstract void loadPerspective(IPerspective perspective) throws DockingException;
public void applyPerspective(IPerspective perspective) throws DockingException {
applyPerspective(perspective, getDockingArea());
}
/**
* Applies a perspective to a docking area
*
* @param perspective The perspective to apply
* @param dockingArea The docking area
* @throws DockingException If a problem occurred while trying to apply the perspective
*/
public abstract void applyPerspective(IPerspective perspective, JComponent dockingArea) throws DockingException;
public void savePreferences(Preferences prefs) throws DockingException {
// Save current Perspective
this.savePerspective(this.perspectiveFactory.getSelectedPerspective());
this.updatePerspective(this.perspectiveFactory.getSelectedPerspective());
// Save Preferences of perspective Factory
this.perspectiveFactory.savePreferences(prefs);
......@@ -141,14 +156,31 @@ public abstract class ADockingManager implements PropertyChangeListener {
}
/**
* @param perspective
* @param out
* @throws DockingException
* Writes main docking area layout in a perspective
*
* @param perspective The perspective
*/
protected void updatePerspective(IPerspective perspective) {
try {
updatePerspective(perspective, getDockingArea());
} catch (DockingException e) {
JOptionPane.showMessageDialog(getDockingArea(), e.getMessage() + " (see traces)", getClass()
.getSimpleName() + " Docking - Error", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
/**
* Writes a docking area layout in a perspective
*
* @param perspective The perspective
* @param dockingArea The docking area
* @throws DockingException If a problem occurred while writing the layout
*/
protected abstract void savePerspective(IPerspective perspective) throws DockingException;
public abstract void updatePerspective(IPerspective perspective, JComponent dockingArea) throws DockingException;
public void saveDefault(File file) throws DockingException {
this.savePerspective(this.perspectiveFactory.getSelectedPerspective());
this.updatePerspective(this.perspectiveFactory.getSelectedPerspective());
this.perspectiveFactory.saveSelected(file);
}
......@@ -161,9 +193,9 @@ public abstract class ADockingManager implements PropertyChangeListener {
IPerspective neww = (IPerspective) evt.getNewValue();
try {
if (automaticallySavePerspective) {
this.savePerspective(oldd);
this.updatePerspective(oldd);
}
this.loadPerspective(neww);
this.applyPerspective(neww);
} catch (DockingException e) {
e.printStackTrace();
}
......@@ -179,7 +211,7 @@ public abstract class ADockingManager implements PropertyChangeListener {
protected abstract void updateViews(PropertyChangeEvent evt);
public void saveSelectedPerspective() throws DockingException {
this.savePerspective(this.perspectiveFactory.getSelectedPerspective());
this.updatePerspective(this.perspectiveFactory.getSelectedPerspective());
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment