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; ...@@ -16,6 +16,7 @@ import java.util.prefs.Preferences;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JOptionPane;
import fr.soleil.docking.action.SaveDefaultPerspertiveAction; import fr.soleil.docking.action.SaveDefaultPerspertiveAction;
import fr.soleil.docking.exception.DockingException; import fr.soleil.docking.exception.DockingException;
...@@ -116,21 +117,35 @@ public abstract class ADockingManager implements PropertyChangeListener { ...@@ -116,21 +117,35 @@ public abstract class ADockingManager implements PropertyChangeListener {
public void loadPreferences(Preferences prefs) throws DockingException { public void loadPreferences(Preferences prefs) throws DockingException {
this.perspectiveFactory.loadPreferences(prefs); this.perspectiveFactory.loadPreferences(prefs);
this.viewFactory.loadPreferences(prefs); this.viewFactory.loadPreferences(prefs);
this.loadPerspective(perspectiveFactory.getSelectedPerspective()); this.applyPerspective(perspectiveFactory.getSelectedPerspective());
} }
public void resetLayout() throws DockingException { 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 { public void savePreferences(Preferences prefs) throws DockingException {
// Save current Perspective // Save current Perspective
this.savePerspective(this.perspectiveFactory.getSelectedPerspective()); this.updatePerspective(this.perspectiveFactory.getSelectedPerspective());
// Save Preferences of perspective Factory // Save Preferences of perspective Factory
this.perspectiveFactory.savePreferences(prefs); this.perspectiveFactory.savePreferences(prefs);
...@@ -141,14 +156,31 @@ public abstract class ADockingManager implements PropertyChangeListener { ...@@ -141,14 +156,31 @@ public abstract class ADockingManager implements PropertyChangeListener {
} }
/** /**
* @param perspective * Writes main docking area layout in a perspective
* @param out *
* @throws DockingException * @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 { public void saveDefault(File file) throws DockingException {
this.savePerspective(this.perspectiveFactory.getSelectedPerspective()); this.updatePerspective(this.perspectiveFactory.getSelectedPerspective());
this.perspectiveFactory.saveSelected(file); this.perspectiveFactory.saveSelected(file);
} }
...@@ -161,9 +193,9 @@ public abstract class ADockingManager implements PropertyChangeListener { ...@@ -161,9 +193,9 @@ public abstract class ADockingManager implements PropertyChangeListener {
IPerspective neww = (IPerspective) evt.getNewValue(); IPerspective neww = (IPerspective) evt.getNewValue();
try { try {
if (automaticallySavePerspective) { if (automaticallySavePerspective) {
this.savePerspective(oldd); this.updatePerspective(oldd);
} }
this.loadPerspective(neww); this.applyPerspective(neww);
} catch (DockingException e) { } catch (DockingException e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -179,7 +211,7 @@ public abstract class ADockingManager implements PropertyChangeListener { ...@@ -179,7 +211,7 @@ public abstract class ADockingManager implements PropertyChangeListener {
protected abstract void updateViews(PropertyChangeEvent evt); protected abstract void updateViews(PropertyChangeEvent evt);
public void saveSelectedPerspective() throws DockingException { 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