disallowed starting plugins/visualizer skins for non-compatible motes/simulations
This commit is contained in:
parent
e18cc3b6b9
commit
24aafe5554
8 changed files with 95 additions and 51 deletions
|
@ -102,6 +102,7 @@ import se.sics.cooja.ClassDescription;
|
||||||
import se.sics.cooja.GUI;
|
import se.sics.cooja.GUI;
|
||||||
import se.sics.cooja.PluginType;
|
import se.sics.cooja.PluginType;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.VisPlugin;
|
import se.sics.cooja.VisPlugin;
|
||||||
import se.sics.cooja.interfaces.DirectionalAntennaRadio;
|
import se.sics.cooja.interfaces.DirectionalAntennaRadio;
|
||||||
import se.sics.cooja.interfaces.Position;
|
import se.sics.cooja.interfaces.Position;
|
||||||
|
@ -123,6 +124,7 @@ import se.sics.mrm.ChannelModel.TxPair;
|
||||||
*/
|
*/
|
||||||
@ClassDescription("MRM Radio environment")
|
@ClassDescription("MRM Radio environment")
|
||||||
@PluginType(PluginType.SIM_PLUGIN)
|
@PluginType(PluginType.SIM_PLUGIN)
|
||||||
|
@SupportedArguments(radioMediums = {MRM.class})
|
||||||
public class AreaViewer extends VisPlugin {
|
public class AreaViewer extends VisPlugin {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static Logger logger = Logger.getLogger(AreaViewer.class);
|
private static Logger logger = Logger.getLogger(AreaViewer.class);
|
||||||
|
|
|
@ -31,17 +31,38 @@
|
||||||
|
|
||||||
package se.sics.mrm;
|
package se.sics.mrm;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.event.*;
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Container;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
import javax.swing.*;
|
import java.util.Collection;
|
||||||
|
import java.util.Observable;
|
||||||
|
import java.util.Observer;
|
||||||
|
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.Box;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JFormattedTextField;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.jdom.Element;
|
import org.jdom.Element;
|
||||||
|
|
||||||
import se.sics.cooja.*;
|
import se.sics.cooja.ClassDescription;
|
||||||
|
import se.sics.cooja.GUI;
|
||||||
|
import se.sics.cooja.PluginType;
|
||||||
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.mrm.ChannelModel.Parameter;
|
import se.sics.mrm.ChannelModel.Parameter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,6 +72,7 @@ import se.sics.mrm.ChannelModel.Parameter;
|
||||||
*/
|
*/
|
||||||
@ClassDescription("MRM Settings")
|
@ClassDescription("MRM Settings")
|
||||||
@PluginType(PluginType.SIM_PLUGIN)
|
@PluginType(PluginType.SIM_PLUGIN)
|
||||||
|
@SupportedArguments(radioMediums = {MRM.class})
|
||||||
public class FormulaViewer extends se.sics.cooja.VisPlugin {
|
public class FormulaViewer extends se.sics.cooja.VisPlugin {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static Logger logger = Logger.getLogger(FormulaViewer.class);
|
private static Logger logger = Logger.getLogger(FormulaViewer.class);
|
||||||
|
|
|
@ -39,6 +39,7 @@ import org.apache.log4j.Logger;
|
||||||
import se.sics.cooja.ClassDescription;
|
import se.sics.cooja.ClassDescription;
|
||||||
import se.sics.cooja.Mote;
|
import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.interfaces.Position;
|
import se.sics.cooja.interfaces.Position;
|
||||||
import se.sics.cooja.interfaces.Radio;
|
import se.sics.cooja.interfaces.Radio;
|
||||||
import se.sics.cooja.plugins.Visualizer;
|
import se.sics.cooja.plugins.Visualizer;
|
||||||
|
@ -47,6 +48,7 @@ import se.sics.mrm.ChannelModel.RadioPair;
|
||||||
import se.sics.mrm.ChannelModel.TxPair;
|
import se.sics.mrm.ChannelModel.TxPair;
|
||||||
|
|
||||||
@ClassDescription("Radio environment (MRM)")
|
@ClassDescription("Radio environment (MRM)")
|
||||||
|
@SupportedArguments(radioMediums = {MRM.class})
|
||||||
public class MRMVisualizerSkin implements VisualizerSkin {
|
public class MRMVisualizerSkin implements VisualizerSkin {
|
||||||
private static Logger logger = Logger.getLogger(MRMVisualizerSkin.class);
|
private static Logger logger = Logger.getLogger(MRMVisualizerSkin.class);
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.MotePlugin;
|
import se.sics.cooja.MotePlugin;
|
||||||
import se.sics.cooja.PluginType;
|
import se.sics.cooja.PluginType;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.VisPlugin;
|
import se.sics.cooja.VisPlugin;
|
||||||
import se.sics.cooja.dialogs.UpdateAggregator;
|
import se.sics.cooja.dialogs.UpdateAggregator;
|
||||||
import se.sics.cooja.mspmote.MspMote;
|
import se.sics.cooja.mspmote.MspMote;
|
||||||
|
@ -61,6 +62,7 @@ import se.sics.mspsim.cli.LineOutputStream;
|
||||||
|
|
||||||
@ClassDescription("Msp CLI")
|
@ClassDescription("Msp CLI")
|
||||||
@PluginType(PluginType.MOTE_PLUGIN)
|
@PluginType(PluginType.MOTE_PLUGIN)
|
||||||
|
@SupportedArguments(motes = {MspMote.class})
|
||||||
public class MspCLI extends VisPlugin implements MotePlugin {
|
public class MspCLI extends VisPlugin implements MotePlugin {
|
||||||
|
|
||||||
private static final long serialVersionUID = 2833218439838209672L;
|
private static final long serialVersionUID = 2833218439838209672L;
|
||||||
|
|
|
@ -35,17 +35,31 @@ import java.awt.BorderLayout;
|
||||||
import java.awt.GridLayout;
|
import java.awt.GridLayout;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.util.*;
|
import java.util.Observable;
|
||||||
|
import java.util.Observer;
|
||||||
|
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import se.sics.cooja.*;
|
import se.sics.cooja.ClassDescription;
|
||||||
|
import se.sics.cooja.GUI;
|
||||||
|
import se.sics.cooja.Mote;
|
||||||
|
import se.sics.cooja.MotePlugin;
|
||||||
|
import se.sics.cooja.PluginType;
|
||||||
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
|
import se.sics.cooja.VisPlugin;
|
||||||
import se.sics.cooja.mspmote.MspMote;
|
import se.sics.cooja.mspmote.MspMote;
|
||||||
import se.sics.mspsim.core.MSP430;
|
import se.sics.mspsim.core.MSP430;
|
||||||
|
|
||||||
@ClassDescription("Msp Cycle Watcher")
|
@ClassDescription("Msp Cycle Watcher")
|
||||||
@PluginType(PluginType.MOTE_PLUGIN)
|
@PluginType(PluginType.MOTE_PLUGIN)
|
||||||
|
@SupportedArguments(motes = {MspMote.class})
|
||||||
public class MspCycleWatcher extends VisPlugin implements MotePlugin {
|
public class MspCycleWatcher extends VisPlugin implements MotePlugin {
|
||||||
private static Logger logger = Logger.getLogger(MspStackWatcher.class);
|
private static Logger logger = Logger.getLogger(MspStackWatcher.class);
|
||||||
private MspMote mspMote;
|
private MspMote mspMote;
|
||||||
|
|
|
@ -50,15 +50,16 @@ import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.MotePlugin;
|
import se.sics.cooja.MotePlugin;
|
||||||
import se.sics.cooja.PluginType;
|
import se.sics.cooja.PluginType;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.VisPlugin;
|
import se.sics.cooja.VisPlugin;
|
||||||
import se.sics.cooja.mspmote.MspMote;
|
import se.sics.cooja.mspmote.MspMote;
|
||||||
import se.sics.mspsim.core.MSP430;
|
import se.sics.mspsim.core.MSP430;
|
||||||
import se.sics.mspsim.ui.StackUI;
|
import se.sics.mspsim.ui.StackUI;
|
||||||
import se.sics.mspsim.ui.WindowManager;
|
|
||||||
import se.sics.mspsim.util.Utils;
|
import se.sics.mspsim.util.Utils;
|
||||||
|
|
||||||
@ClassDescription("Msp Stack Watcher")
|
@ClassDescription("Msp Stack Watcher")
|
||||||
@PluginType(PluginType.MOTE_PLUGIN)
|
@PluginType(PluginType.MOTE_PLUGIN)
|
||||||
|
@SupportedArguments(motes = {MspMote.class})
|
||||||
public class MspStackWatcher extends VisPlugin implements MotePlugin {
|
public class MspStackWatcher extends VisPlugin implements MotePlugin {
|
||||||
private static Logger logger = Logger.getLogger(MspStackWatcher.class);
|
private static Logger logger = Logger.getLogger(MspStackWatcher.class);
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ import se.sics.cooja.GUI;
|
||||||
import se.sics.cooja.Mote;
|
import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.PluginType;
|
import se.sics.cooja.PluginType;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.VisPlugin;
|
import se.sics.cooja.VisPlugin;
|
||||||
import se.sics.cooja.interfaces.Radio;
|
import se.sics.cooja.interfaces.Radio;
|
||||||
import se.sics.cooja.radiomediums.AbstractRadioMedium;
|
import se.sics.cooja.radiomediums.AbstractRadioMedium;
|
||||||
|
@ -82,6 +83,7 @@ import se.sics.cooja.util.StringUtils;
|
||||||
*/
|
*/
|
||||||
@ClassDescription("DGRM Links")
|
@ClassDescription("DGRM Links")
|
||||||
@PluginType(PluginType.SIM_PLUGIN)
|
@PluginType(PluginType.SIM_PLUGIN)
|
||||||
|
@SupportedArguments(radioMediums = {DirectedGraphMedium.class})
|
||||||
public class DGRMConfigurator extends VisPlugin {
|
public class DGRMConfigurator extends VisPlugin {
|
||||||
private static final long serialVersionUID = 4769638341635882051L;
|
private static final long serialVersionUID = 4769638341635882051L;
|
||||||
private static Logger logger = Logger.getLogger(DGRMConfigurator.class);
|
private static Logger logger = Logger.getLogger(DGRMConfigurator.class);
|
||||||
|
|
|
@ -35,9 +35,6 @@ import java.awt.Color;
|
||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseListener;
|
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.Box;
|
import javax.swing.Box;
|
||||||
|
@ -52,11 +49,12 @@ import org.apache.log4j.Logger;
|
||||||
import se.sics.cooja.ClassDescription;
|
import se.sics.cooja.ClassDescription;
|
||||||
import se.sics.cooja.Mote;
|
import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.Simulation;
|
import se.sics.cooja.Simulation;
|
||||||
|
import se.sics.cooja.SupportedArguments;
|
||||||
import se.sics.cooja.interfaces.Position;
|
import se.sics.cooja.interfaces.Position;
|
||||||
import se.sics.cooja.interfaces.Radio;
|
import se.sics.cooja.interfaces.Radio;
|
||||||
import se.sics.cooja.plugins.Visualizer;
|
import se.sics.cooja.plugins.Visualizer;
|
||||||
import se.sics.cooja.plugins.VisualizerSkin;
|
|
||||||
import se.sics.cooja.plugins.Visualizer.SimulationMenuAction;
|
import se.sics.cooja.plugins.Visualizer.SimulationMenuAction;
|
||||||
|
import se.sics.cooja.plugins.VisualizerSkin;
|
||||||
import se.sics.cooja.radiomediums.UDGM;
|
import se.sics.cooja.radiomediums.UDGM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -73,6 +71,7 @@ import se.sics.cooja.radiomediums.UDGM;
|
||||||
* @author Fredrik Osterlind
|
* @author Fredrik Osterlind
|
||||||
*/
|
*/
|
||||||
@ClassDescription("Radio environment (UDGM)")
|
@ClassDescription("Radio environment (UDGM)")
|
||||||
|
@SupportedArguments(radioMediums = {UDGM.class})
|
||||||
public class UDGMVisualizerSkin implements VisualizerSkin {
|
public class UDGMVisualizerSkin implements VisualizerSkin {
|
||||||
private static Logger logger = Logger.getLogger(UDGMVisualizerSkin.class);
|
private static Logger logger = Logger.getLogger(UDGMVisualizerSkin.class);
|
||||||
|
|
||||||
|
@ -327,7 +326,7 @@ public class UDGMVisualizerSkin implements VisualizerSkin {
|
||||||
if (prob == 0.0d) {
|
if (prob == 0.0d) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String msg = (double)(((int)(1000*prob))/10.0) + "%";
|
String msg = (((int)(1000*prob))/10.0) + "%";
|
||||||
Position pos = m.getInterfaces().getPosition();
|
Position pos = m.getInterfaces().getPosition();
|
||||||
Point pixel = visualizer.transformPositionToPixel(pos);
|
Point pixel = visualizer.transformPositionToPixel(pos);
|
||||||
int msgWidth = fm.stringWidth(msg);
|
int msgWidth = fm.stringWidth(msg);
|
||||||
|
|
Loading…
Reference in a new issue