added setVisualized method (experimental)
This commit is contained in:
parent
6271beabc3
commit
953c60c35a
|
@ -24,7 +24,7 @@
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: GUI.java,v 1.52 2007/05/28 08:06:41 fros4943 Exp $
|
* $Id: GUI.java,v 1.53 2007/05/28 09:01:49 fros4943 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja;
|
package se.sics.cooja;
|
||||||
|
@ -194,12 +194,15 @@ public class GUI {
|
||||||
* Creates a new COOJA Simulator GUI.
|
* Creates a new COOJA Simulator GUI.
|
||||||
*
|
*
|
||||||
* @param desktop Desktop pane
|
* @param desktop Desktop pane
|
||||||
* @param createSimDialog If true, a create simulation dialog will be displayed at startup
|
|
||||||
*/
|
*/
|
||||||
public GUI(JDesktopPane desktop, boolean createSimDialog) {
|
public GUI(JDesktopPane desktop) {
|
||||||
myGUI = this;
|
myGUI = this;
|
||||||
mySimulation = null;
|
mySimulation = null;
|
||||||
myDesktopPane = desktop;
|
myDesktopPane = desktop;
|
||||||
|
if (menuPlugins == null)
|
||||||
|
menuPlugins = new JMenu("Plugins");
|
||||||
|
if (menuMotePluginClasses == null)
|
||||||
|
menuMotePluginClasses = new Vector<Class<? extends Plugin>>();
|
||||||
|
|
||||||
// Load default and overwrite with user settings (if any)
|
// Load default and overwrite with user settings (if any)
|
||||||
loadExternalToolsDefaultSettings();
|
loadExternalToolsDefaultSettings();
|
||||||
|
@ -208,12 +211,6 @@ public class GUI {
|
||||||
setExternalToolsSetting("PATH_CONTIKI", specifiedContikiPath);
|
setExternalToolsSetting("PATH_CONTIKI", specifiedContikiPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Add menu bar
|
|
||||||
if (frame != null) {
|
|
||||||
frame.setJMenuBar(createMenuBar());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Register default project directories
|
// Register default project directories
|
||||||
String defaultProjectDirs = getExternalToolsSetting(
|
String defaultProjectDirs = getExternalToolsSetting(
|
||||||
"DEFAULT_PROJECTDIRS", null);
|
"DEFAULT_PROJECTDIRS", null);
|
||||||
|
@ -239,14 +236,6 @@ public class GUI {
|
||||||
startPlugin(visPluginClass, this, null, null);
|
startPlugin(visPluginClass, this, null, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (createSimDialog && frame != null) {
|
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
myGUI.doCreateSimulation(true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -255,6 +244,22 @@ public class GUI {
|
||||||
public boolean isVisualized() {
|
public boolean isVisualized() {
|
||||||
return frame != null;
|
return frame != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EXPERIMENTAL!
|
||||||
|
* Tries to create/remove simulator visualizer.
|
||||||
|
*
|
||||||
|
* @param visualized Visualized
|
||||||
|
*/
|
||||||
|
public void setVisualized(boolean visualized) {
|
||||||
|
if (!isVisualized() && visualized) {
|
||||||
|
configureFrame(myGUI, false);
|
||||||
|
} else {
|
||||||
|
frame.setVisible(false);
|
||||||
|
frame.dispose();
|
||||||
|
frame = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Vector<File> getFileHistory() {
|
private Vector<File> getFileHistory() {
|
||||||
Vector<File> history = new Vector<File>();
|
Vector<File> history = new Vector<File>();
|
||||||
|
@ -516,7 +521,10 @@ public class GUI {
|
||||||
menu.add(menuItem);
|
menu.add(menuItem);
|
||||||
|
|
||||||
// Plugins menu
|
// Plugins menu
|
||||||
menuPlugins = new JMenu("Plugins");
|
if (menuPlugins == null)
|
||||||
|
menuPlugins = new JMenu("Plugins");
|
||||||
|
else
|
||||||
|
menuPlugins.setText("Plugins");
|
||||||
menuPlugins.setMnemonic(KeyEvent.VK_P);
|
menuPlugins.setMnemonic(KeyEvent.VK_P);
|
||||||
menuBar.add(menuPlugins);
|
menuBar.add(menuPlugins);
|
||||||
|
|
||||||
|
@ -543,11 +551,12 @@ public class GUI {
|
||||||
menu.add(menuItem);
|
menu.add(menuItem);
|
||||||
|
|
||||||
// Mote plugins popup menu (not available via menu bar)
|
// Mote plugins popup menu (not available via menu bar)
|
||||||
menuMotePluginClasses = new Vector<Class<? extends Plugin>>();
|
if (menuMotePluginClasses == null)
|
||||||
|
menuMotePluginClasses = new Vector<Class<? extends Plugin>>();
|
||||||
return menuBar;
|
return menuBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void createAndShowGUI() {
|
private static void configureFrame(final GUI gui, boolean createSimDialog) {
|
||||||
|
|
||||||
// Make sure we have nice window decorations.
|
// Make sure we have nice window decorations.
|
||||||
JFrame.setDefaultLookAndFeelDecorated(true);
|
JFrame.setDefaultLookAndFeelDecorated(true);
|
||||||
|
@ -560,13 +569,10 @@ public class GUI {
|
||||||
if (maxSize != null)
|
if (maxSize != null)
|
||||||
frame.setMaximizedBounds(maxSize);
|
frame.setMaximizedBounds(maxSize);
|
||||||
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
logger.debug(frame.getPreferredSize());
|
|
||||||
|
|
||||||
// Create and set up the content pane.
|
// Add menu bar
|
||||||
JDesktopPane desktop = new JDesktopPane();
|
frame.setJMenuBar(gui.createMenuBar());
|
||||||
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
|
|
||||||
|
|
||||||
GUI gui = new GUI(desktop, true);
|
|
||||||
JComponent newContentPane = gui.getDesktopPane();
|
JComponent newContentPane = gui.getDesktopPane();
|
||||||
newContentPane.setOpaque(true);
|
newContentPane.setOpaque(true);
|
||||||
frame.setContentPane(newContentPane);
|
frame.setContentPane(newContentPane);
|
||||||
|
@ -598,6 +604,14 @@ public class GUI {
|
||||||
|
|
||||||
// Display the window.
|
// Display the window.
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
if (createSimDialog) {
|
||||||
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
gui.doCreateSimulation(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -654,8 +668,7 @@ public class GUI {
|
||||||
// Create and set up the content pane.
|
// Create and set up the content pane.
|
||||||
JDesktopPane desktop = new JDesktopPane();
|
JDesktopPane desktop = new JDesktopPane();
|
||||||
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
|
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
|
||||||
GUI gui = new GUI(desktop, false); // loads external settings and creates initial
|
GUI gui = new GUI(desktop); // loads external settings and creates initial project config
|
||||||
// project config
|
|
||||||
|
|
||||||
// Add menu bar
|
// Add menu bar
|
||||||
frame.setSize(700, 700);
|
frame.setSize(700, 700);
|
||||||
|
@ -1645,6 +1658,8 @@ public class GUI {
|
||||||
public void unregisterPlugins() {
|
public void unregisterPlugins() {
|
||||||
if (menuPlugins != null) {
|
if (menuPlugins != null) {
|
||||||
menuPlugins.removeAll();
|
menuPlugins.removeAll();
|
||||||
|
}
|
||||||
|
if (menuMotePluginClasses != null) {
|
||||||
menuMotePluginClasses.clear();
|
menuMotePluginClasses.clear();
|
||||||
}
|
}
|
||||||
pluginClasses.clear();
|
pluginClasses.clear();
|
||||||
|
@ -2701,7 +2716,7 @@ public class GUI {
|
||||||
// No GUI start-up
|
// No GUI start-up
|
||||||
javax.swing.SwingUtilities.invokeLater(new Runnable() {
|
javax.swing.SwingUtilities.invokeLater(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
new GUI(null, false);
|
new GUI(null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -2710,7 +2725,10 @@ public class GUI {
|
||||||
// Regular start-up
|
// Regular start-up
|
||||||
javax.swing.SwingUtilities.invokeLater(new Runnable() {
|
javax.swing.SwingUtilities.invokeLater(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
createAndShowGUI();
|
JDesktopPane desktop = new JDesktopPane();
|
||||||
|
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
|
||||||
|
GUI gui = new GUI(desktop);
|
||||||
|
configureFrame(gui, false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue