Created window manager and registered it in registry

git-svn-id: https://mspsim.svn.sourceforge.net/svnroot/mspsim/mspsim@603 23d1a52b-0c3c-0410-b72d-8f29ab48fe35
This commit is contained in:
joxe 2009-09-10 15:26:02 +00:00
parent 6531e20a35
commit f26b3c505a
3 changed files with 33 additions and 5 deletions

View File

@ -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);

View File

@ -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() {

View File

@ -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;
}
}