package org.trianacode.gui.desktop;
import org.trianacode.gui.main.TaskGraphPanel;
import org.trianacode.gui.util.Env;
import java.awt.*;
/**
* @author Andrew Harrison
* @version 1.0.0 Nov 13, 2010
*/
public class DesktopViewController {
private static DesktopViewManager currentView = Env.getDesktopViewManager();
public static void swapView(final DesktopViewManager newView, final DesktopViewListener app) {
if (newView != null && newView != currentView) {
newView.addDesktopViewListener(app);
newView.desktopAdded();
DesktopView[] views = currentView.getViews();
for (DesktopView view : views) {
TaskGraphPanel panel = view.getTaskgraphPanel();
Container c = panel.getContainer();
if (c != null) {
if (c.getParent() != null) {
c.getParent().remove(c);
}
newView.newDesktopView(panel);
}
}
currentView.desktopRemoved();
currentView = newView;
Env.setDesktopView(currentView);
}
}
public static DesktopViewManager getCurrentView() {
return currentView;
}
public static void setCurrentView(DesktopViewManager currentView) {
DesktopViewController.currentView = currentView;
}
}