diff --git a/se/sics/mspsim/platform/GenericNode.java b/se/sics/mspsim/platform/GenericNode.java index 2d5c0ce..c049852 100644 --- a/se/sics/mspsim/platform/GenericNode.java +++ b/se/sics/mspsim/platform/GenericNode.java @@ -58,6 +58,7 @@ import se.sics.mspsim.core.MSP430; import se.sics.mspsim.core.MSP430Constants; import se.sics.mspsim.extutil.highlight.HighlightSourceViewer; import se.sics.mspsim.ui.ControlUI; +import se.sics.mspsim.ui.JFrameWindowManager; import se.sics.mspsim.util.ArgumentManager; import se.sics.mspsim.util.ComponentRegistry; import se.sics.mspsim.util.ConfigManager; @@ -209,6 +210,7 @@ public abstract class GenericNode extends Chip implements Runnable { registry.registerComponent("wincmd", new WindowCommands()); registry.registerComponent("profilecmd", new ProfilerCommands()); registry.registerComponent("netcmd", new NetCommands()); + registry.registerComponent("windowManager", new JFrameWindowManager()); // Monitor execution cpu.setMonitorExec(true); diff --git a/se/sics/mspsim/platform/sky/SkyGui.java b/se/sics/mspsim/platform/sky/SkyGui.java index 42fe305..3e2b4e5 100644 --- a/se/sics/mspsim/platform/sky/SkyGui.java +++ b/se/sics/mspsim/platform/sky/SkyGui.java @@ -117,12 +117,10 @@ public class SkyGui extends JComponent implements ServiceComponent { setPreferredSize(new Dimension(skyImage.getIconWidth(), skyImage.getIconHeight())); - WindowManager wm = (WindowManager) registry.getComponent("WindowManager"); - window = wm.createWindow("Sky"); -// window.setSize(190,240); + WindowManager wm = (WindowManager) registry.getComponent("windowManager"); + window = wm.createWindow("SkyGui"); + setSize(190, 240); window.add(this); -// WindowUtils.restoreWindowBounds("SkyGui", window); -// WindowUtils.addSaveOnShutdown("SkyGui", window); window.setVisible(true); MouseAdapter mouseHandler = new MouseAdapter() { diff --git a/se/sics/mspsim/ui/JFrameWindowManager.java b/se/sics/mspsim/ui/JFrameWindowManager.java new file mode 100644 index 0000000..362bc3e --- /dev/null +++ b/se/sics/mspsim/ui/JFrameWindowManager.java @@ -0,0 +1,28 @@ +package se.sics.mspsim.ui; + +import java.awt.Component; + +import javax.swing.JFrame; + +public class JFrameWindowManager implements WindowManager { + + public ManagedWindow createWindow(final String name) { + ManagedWindow w = new ManagedWindow() { + private JFrame window = new JFrame(name); + private boolean restored = false; + + public void add(Component component) { + if (!restored) { + WindowUtils.restoreWindowBounds(name, window); + WindowUtils.addSaveOnShutdown(name, window); + } + window.add(component); + } + public void setVisible(boolean b) { + window.setVisible(b); + } + }; + return w; + } + +}