lcsim/src/org/lcsim/plugin
diff -u -r1.5 -r1.6
--- LCSimPlugin.java 22 Sep 2005 22:03:07 -0000 1.5
+++ LCSimPlugin.java 21 Mar 2006 19:47:27 -0000 1.6
@@ -12,9 +12,10 @@
import org.freehep.jas.event.ClassLoadEvent;
import org.freehep.jas.event.ClassLoadedEvent;
import org.freehep.jas.event.ClassUnloadEvent;
+import org.freehep.jas.event.ScriptEvent;
+import org.freehep.jas.services.ScriptEngine;
import org.freehep.jas.services.WebBrowser;
import org.freehep.record.loop.SequentialRecordLoop;
-import org.freehep.util.commanddispatcher.BooleanCommandState;
import org.freehep.util.commanddispatcher.CommandProcessor;
import org.freehep.util.template.Template;
import org.freehep.xml.menus.XMLMenuBuilder;
@@ -28,7 +29,7 @@
/**
*
* @author tonyj
- * @version $Id: LCSimPlugin.java,v 1.5 2005/09/22 22:03:07 jeremy Exp $
+ * @version $Id: LCSimPlugin.java,v 1.6 2006/03/21 19:47:27 tonyj Exp $
*/
public class LCSimPlugin extends Plugin implements StudioListener, PageListener
@@ -36,6 +37,7 @@
protected void init() throws SAXException, IOException
{
Studio app = getApplication();
+ lcsim = new LCSim(app.getLookup());
XMLMenuBuilder builder = app.getXMLMenuBuilder();
URL xml = getClass().getResource("LCSim.menus");
@@ -46,9 +48,11 @@
// Listen for any drivers to be loaded
app.getEventSender().addEventListener(this,ClassLoadEvent.class);
+ // Register to receive scriptEvents
+ app.getEventSender().addEventListener(this, ScriptEvent.class);
// Register the command processsor
- app.getCommandTargetManager().add(commands = new LCSimCommands());
+ app.getCommandTargetManager().add(new LCSimCommands());
LCSimEventBrowser.registerTableModels(app.getLookup());
@@ -79,7 +83,6 @@
Class x = ((ClassLoadedEvent) event).getLoadedClass();
try
{
- System.out.println("Loaded"+x+" "+Driver.class.isAssignableFrom(x));
if (Driver.class.isAssignableFrom(x))
{
Driver driver = (Driver) x.newInstance();
@@ -117,13 +120,17 @@
{
// Record loop takes care of this
}
+ else if (event instanceof ScriptEvent)
+ {
+ ScriptEngine engine = ((ScriptEvent) event).getScriptEngine();
+ engine.registerVariable("lcsim", lcsim);
+ }
}
public void pageChanged(PageEvent e)
{
PageContext page = (PageContext) e.getSource();
if (e.getID() == e.PAGESELECTED)
{
- // if (page == eventBrowser)
if ( page.getPage() instanceof LCSimEventBrowser )
{
getApplication().getCommandTargetManager().add(((LCSimEventBrowser) page.getPage()).getCommands());
@@ -131,7 +138,6 @@
}
else if (e.getID() == e.PAGEDESELECTED)
{
- //if (page == eventBrowser)
if ( page.getPage() instanceof LCSimEventBrowser )
{
getApplication().getCommandTargetManager().remove(((LCSimEventBrowser) page.getPage()).getCommands());
@@ -139,7 +145,7 @@
}
}
- private LCSimCommands commands;
+ private LCSim lcsim;
class LCSimCommands extends CommandProcessor
{
@@ -147,8 +153,6 @@
{
SequentialRecordLoop loop = (SequentialRecordLoop) getApplication().getLookup().lookup(SequentialRecordLoop.class);
LCSimEventBrowser tree = new LCSimEventBrowser(getApplication(),loop);
- // eventBrowser = getApplication().getPageManager().openPage(tree,"LCSim Event",null);
- // eventBrowser.addPageListener(LCSimPlugin.this);
getApplication().getPageManager().openPage(tree,"LCSim Event",null);
setChanged();
}