edu.bonn.xulu.plugin.appl
Class GeoModelCodeGeneratorGUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JInternalFrame
                  extended by edu.bonn.xulu.gui.XuluInternalFrame
                      extended by edu.bonn.xulu.plugin.appl.GeoModelCodeGeneratorGUI
All Implemented Interfaces:
XuluConstants, ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class GeoModelCodeGeneratorGUI
extends XuluInternalFrame

Diese Klasse stellt eine GUI zur Vefuegung, mit der der GeoModelCodeGenerator gesteuert werden kann. Sie ist als internes Fenster der Xulu-Modelling-Platform realisiert. Ueber das Xulu-Plugin GeoModelCodeGeneratorPlugin wird sie automatisch in das Xulu-Menue eingebunden.
Ueber die GUI spezifiert der Modell-Entwickler

Daraus erzeugt der GeoModelCodeGenerator je eine Java-Klasse (als Source-Code) fuer Content-Manager und Xulu-Modell, in denen die Ressourcen-Spezifikation, das Ressourcen-Handling, sowie deren Referenzierung in lokalen Variablen bereits implementiert ist.
Der Modell-Entwickler (unmittelbar) mit der Programmierung des Modell-Algorithmus (z.B. in StepModel.performModelStep(int)) beginnen.
Der GeoModelCodeGenerator benoetigt einige Vorlagen-Dateien, aus denen der Sourcecode generiert wird. Diese muessen im Verzeichnis "GeoModelCodeGenerator" unterhalb des Xulu-Plugin-Verzeichnisses abgelegt sein.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
GeoModelCodeGenerator, GeoModelCodeGeneratorPlugin, Serialized Form

Nested Class Summary
protected  class GeoModelCodeGeneratorGUI.ResourceTableModel
          Diese Klasse stellt ein TableModel fuer die Ressourcen-Tabelle der GeoModelCodeGeneratorGUI dar.
 
Nested classes/interfaces inherited from class javax.swing.JInternalFrame
JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIcon
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  XuluModellingPlatform appl
          Speichert eine Referenz auf die Xulu-Applikation, in der der Code-Generator ausgefuehrt wird.
static Integer[] CATEGORY
          Vorgabe, aus welchen Ressourcen-Categorien der Anwender auswaehlen kann.
static String[] CATEGORY_DESC
          Beschreibungen fuer die Ressourcen-Categorien, aus welchen der Anwender auswaehlen kann.
protected  Container contentPane
          Referenz auf den Container des Fensters.
static Class[] DATATYPE
          Vorgabe, aus welchen Property-Datentypen der Anwender auswaehlen kann ( Integer , Float, Long, Double, Byte, Short, Boolean, WritableGrid , FeatureCollection).
protected  ManualInputOption.Text modelName
          Eingabefeld fuer den Modell-Namen.
protected  SelectionInputOption.Combo modelType
          Auswahlfeld fuer den Modell-Typ.
static Class[] MODELTYPE
          Vorgabe, aus welchen Modell-Typen der Anwender auswaehlen kann.
protected  MutableTable resources
          Tabelle in der die Ressourcen spezifiziert werden.
protected  Class[] resourceType
          Speichert alle zur Auswahl stehende Ressourcen-Typen (RESOURCETYPE + alle in Xulu registrierten XuluObject-Typen).
static Class[] RESOURCETYPE
          Vorgabe, aus welchen Ressourcen-Typen der Anwender auswaehlen kann ( ScalarProperty , ListProperty, MatrixProperty).
protected  JButton startButton
          Butten zum Starten der Generierung.
static String tplDirName
          Verzeichnis-Name (unterhalb des Xulu-Plugin-Verzeichnisses in dem die Vorlagen-Dateien fuer Code-Generierung hinterlegt sind.
 
Fields inherited from class edu.bonn.xulu.gui.XuluInternalFrame
GUI_COMPONENT
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface edu.bonn.xulu.appl.XuluConstants
BUG_MAIL_ADDR, EXTENTION_BUNDLE, ICONS_DIR, LOCALES_BASE, RESOURCE_DIR, SWING_RES, VERSION, VERSION_DATE, XULU_ICON, XULU_INFOICON, XULU_STARTICON, XULU_VIS_RES, XULUERR_RES, XULUGUI_RES
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GeoModelCodeGeneratorGUI(XuluModellingPlatform appl)
          Erzeugt eine neue GUI fuer den GeoModelCodeGenerator.
 
Method Summary
protected  void initGUI()
          Initalisiert die GUI des Fensters.
 void refresh()
          Aktualisiert die Anzeige des Xulu-internen Fensters, in dem die Ressourcen-Tabelle aktualisiert wird.
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tplDirName

public static final String tplDirName
Verzeichnis-Name (unterhalb des Xulu-Plugin-Verzeichnisses in dem die Vorlagen-Dateien fuer Code-Generierung hinterlegt sind.

See Also:
Constant Field Values

MODELTYPE

public static final Class[] MODELTYPE
Vorgabe, aus welchen Modell-Typen der Anwender auswaehlen kann.


CATEGORY

public static final Integer[] CATEGORY
Vorgabe, aus welchen Ressourcen-Categorien der Anwender auswaehlen kann.


CATEGORY_DESC

public static final String[] CATEGORY_DESC
Beschreibungen fuer die Ressourcen-Categorien, aus welchen der Anwender auswaehlen kann.


RESOURCETYPE

public static final Class[] RESOURCETYPE
Vorgabe, aus welchen Ressourcen-Typen der Anwender auswaehlen kann ( ScalarProperty , ListProperty, MatrixProperty).


DATATYPE

public static final Class[] DATATYPE
Vorgabe, aus welchen Property-Datentypen der Anwender auswaehlen kann ( Integer , Float, Long, Double, Byte, Short, Boolean, WritableGrid , FeatureCollection).


resourceType

protected Class[] resourceType
Speichert alle zur Auswahl stehende Ressourcen-Typen (RESOURCETYPE + alle in Xulu registrierten XuluObject-Typen).


appl

protected XuluModellingPlatform appl
Speichert eine Referenz auf die Xulu-Applikation, in der der Code-Generator ausgefuehrt wird.


modelType

protected SelectionInputOption.Combo modelType
Auswahlfeld fuer den Modell-Typ.


modelName

protected ManualInputOption.Text modelName
Eingabefeld fuer den Modell-Namen.


resources

protected MutableTable resources
Tabelle in der die Ressourcen spezifiziert werden.


startButton

protected JButton startButton
Butten zum Starten der Generierung.


contentPane

protected Container contentPane
Referenz auf den Container des Fensters.

Constructor Detail

GeoModelCodeGeneratorGUI

public GeoModelCodeGeneratorGUI(XuluModellingPlatform appl)
Erzeugt eine neue GUI fuer den GeoModelCodeGenerator.

Parameters:
appl - Instanz der Xulu-Applikation, in der der Code-Generator ausgefuehrt wird
Method Detail

initGUI

protected void initGUI()
Initalisiert die GUI des Fensters.


refresh

public void refresh()
Aktualisiert die Anzeige des Xulu-internen Fensters, in dem die Ressourcen-Tabelle aktualisiert wird.

Specified by:
refresh in class XuluInternalFrame