updated example plugin

This commit is contained in:
fros4943 2008-10-28 16:22:35 +00:00
parent 9e928313cb
commit 59ed193e58
2 changed files with 37 additions and 15 deletions

View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<project name="Plugin example" default="compile" basedir=".">
<property name="src" location="java"/>
<property name="build" location="java"/>
<property name="cooja" location="../.."/>
<property name="cooja_jar" value="${cooja}/dist/cooja.jar"/>
<target name="init">
<tstamp/>
</target>
<target name="compile" depends="init">
<mkdir dir="${build}"/>
<javac srcdir="${src}" destdir="${build}" debug="on">
<classpath>
<pathelement location="${cooja_jar}"/>
</classpath>
</javac>
</target>
</project>

View File

@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: MyDummyPlugin.java,v 1.1 2007/03/23 23:33:55 fros4943 Exp $
* $Id: MyDummyPlugin.java,v 1.2 2008/10/28 16:22:35 fros4943 Exp $
*/
import java.awt.event.*;
@ -37,28 +37,28 @@ import org.apache.log4j.Logger;
import se.sics.cooja.*;
/**
* This is an simple example plugin.
* It is a simulation plugin, which means that it depends on a single simulation.
*
* @author Fredrik Osterlind
* This is a simple example plugin.
* It is a simulation plugin (SIM_PLUGIN): it depends on a single simulation.
*
* @author Fredrik Österlind
*/
@ClassDescription("Dummy Plugin")
@ClassDescription("Dummy Plugin") /* Description shown in menu */
@PluginType(PluginType.SIM_PLUGIN)
public class MyDummyPlugin extends VisPlugin {
private static final long serialVersionUID = 1L;
private static Logger logger = Logger.getLogger(MyDummyPlugin.class);
private Simulation mySimulation;
private Observer tickObserver;
/**
* Creates a new dummy plugin.
*
*
* @param simulationToVisualize Simulation to visualize
*/
public MyDummyPlugin(Simulation simulationToVisualize, GUI gui) {
super("This is my title!", gui);
mySimulation = simulationToVisualize;
// Create and add a button
JButton button = new JButton("dummy button");
button.addActionListener(new ActionListener() {
@ -67,27 +67,26 @@ public class MyDummyPlugin extends VisPlugin {
}
});
add(button);
// Register as tickobserver
mySimulation.addTickObserver(tickObserver = new Observer() {
public void update(Observable obs, Object obj) {
logger.info("Another tick loop completed - simulation time is now:\t" + mySimulation.getSimulationTime());
}
});
setSize(300,100); // Set an initial size of this plugin
// Tries to select this plugin
try {
setSelected(true);
} catch (java.beans.PropertyVetoException e) {
// Could not select
}
}
public void closePlugin() {
mySimulation.deleteTickObserver(tickObserver);
}
}