edu.bonn.xulu.plugin.appl
Class AbstractMenuPlugin

java.lang.Object
  extended by AbstractNamedObject
      extended by edu.bonn.xulu.appl.AbstractXuluPlugin
          extended by edu.bonn.xulu.plugin.appl.AbstractMenuPlugin
All Implemented Interfaces:
XuluPlugin
Direct Known Subclasses:
ConfigurationEditorPlugin, GeoModelCodeGeneratorPlugin, GnuRPlugin, MultiModelControlPlugin, RasterCalculatorPlugin, SimpleCommEventMonitorPlugin, XuluStarterControllerPlugin

public abstract class AbstractMenuPlugin
extends AbstractXuluPlugin

Diese Klasse stellt eine abstrakte Oberklasse fuer Plugins dar, die sich (bzw. ein zum Plugin gehoerendes Anwendungsfenster) in das Xulu-Menue integrieren.
Diese Oberklasse sorgt automatisch dafuer, dass beim Starten des Plugins ein Menue-Eintrag erzeugt wird, bei dessen Aktivierung das Plugin-Fenster angezeigt wird. Beim Beenden des Plugins wird das Plugin-Fenster verborgen und der Menue-Eintrag wieder entfernt.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
protected  JMenuItem menuItem
          Speichert den Menue-Eintrag, der zum Anzeigen des Applikationsfensters dient wird.
protected  XuluInternalFrame pluginAppl
          Speichert die Instanz des Applikationsfensters (wird beim Starten des Plugins befuellt).
protected  int xuluMenuNo
          Speichert die Menue-Nummer, in der der Eintrag zum Anzeigen des des Applikationsfensters eingebunden wird.
 
Fields inherited from class edu.bonn.xulu.appl.AbstractXuluPlugin
appl, hasGUI, started, visible
 
Constructor Summary
AbstractMenuPlugin(int xuluMenuNo, JMenuItem menuItem)
          Erzeugt eine neue Plugin-Instanz ohne Konfigurations-GUI.
AbstractMenuPlugin(int xuluMenuNo, JMenuItem menuItem, boolean hasGUI)
          Erzeugt eine neue Plugin-Instanz.
AbstractMenuPlugin(int xuluMenuNo, String menuItemName)
          Erzeugt eine neue Plugin-Instanz ohne Konfigurations-GUI.
 
Method Summary
protected abstract  XuluInternalFrame createPluginApplication()
          Erzeugt das Applikations-Fenster fuer das Plugin.
 void execute(XuluModellingPlatform appl)
          Startet das Plugin.
 void stop()
          Stoppt das Plugin.
 
Methods inherited from class edu.bonn.xulu.appl.AbstractXuluPlugin
isStarted, isVisible, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

xuluMenuNo

protected int xuluMenuNo
Speichert die Menue-Nummer, in der der Eintrag zum Anzeigen des des Applikationsfensters eingebunden wird.


menuItem

protected JMenuItem menuItem
Speichert den Menue-Eintrag, der zum Anzeigen des Applikationsfensters dient wird.


pluginAppl

protected XuluInternalFrame pluginAppl
Speichert die Instanz des Applikationsfensters (wird beim Starten des Plugins befuellt).

Constructor Detail

AbstractMenuPlugin

public AbstractMenuPlugin(int xuluMenuNo,
                          JMenuItem menuItem,
                          boolean hasGUI)
Erzeugt eine neue Plugin-Instanz.

Parameters:
xuluMenuNo - Nummer des Xulu-Menues in das der Menue-Eintrag eingebettet wird
menuItem - Menue-Eintrag fuer das Plugin-Fenster
hasGUI - Flag, ob das Plugin (zusaetzlich) eine Konfigurations-GUI besitzt

AbstractMenuPlugin

public AbstractMenuPlugin(int xuluMenuNo,
                          JMenuItem menuItem)
Erzeugt eine neue Plugin-Instanz ohne Konfigurations-GUI.

Parameters:
xuluMenuNo - Nummer des Xulu-Menues in das der Menue-Eintrag eingebettet wird
menuItem - Menue-Eintrag fuer das Plugin-Fenster

AbstractMenuPlugin

public AbstractMenuPlugin(int xuluMenuNo,
                          String menuItemName)
Erzeugt eine neue Plugin-Instanz ohne Konfigurations-GUI.

Parameters:
xuluMenuNo - Nummer des Xulu-Menues in das der Menue-Eintrag eingebettet wird
menuItemName - Name fuer den Menue-Eintrag des Plugin-Fensters
Method Detail

createPluginApplication

protected abstract XuluInternalFrame createPluginApplication()
                                                      throws Exception
Erzeugt das Applikations-Fenster fuer das Plugin. Dieses wird mit dem Menue-Eintrag verbunden. Wird erst aufgerufen, wenn das Plugin gestartet wird.

Throws:
Exception
See Also:
execute(XuluModellingPlatform)

execute

public void execute(XuluModellingPlatform appl)
Startet das Plugin. Dabei wird die Plugin-Applikation neu erzeugt und ein Menu-Punkt im Xulu-Menue angelegt.

Specified by:
execute in interface XuluPlugin
Overrides:
execute in class AbstractXuluPlugin
Parameters:
appl - Xulu-Instanz

stop

public void stop()
Stoppt das Plugin. Der Menu-Punkt wird wieder entfernt.

Specified by:
stop in interface XuluPlugin
Overrides:
stop in class AbstractXuluPlugin