edu.bonn.xulu.plugin.gui
Class ModelControlFrame_Basic

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by edu.bonn.xulu.gui.ModelControlFrame
                          extended by edu.bonn.xulu.plugin.gui.ModelControlFrame_Basic
All Implemented Interfaces:
AbstractManager.ContentType, XuluConstants, ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
Direct Known Subclasses:
ModelControlFrame_Tabbed

public class ModelControlFrame_Basic
extends ModelControlFrame
implements XuluConstants

Diese Klasse stellt ein Fenster, ueber welches ein Modell gesteuert werden kann. Es besteht im wesentlichen aus 3 Bereichen:

  1. Kontroll-Bereich (ModelControlContainer)
    Dient der Steuerung des Modellablaufs (Start/Stop/Init/...)
  2. Daten-Bereich (ModelContentManagerContainer)
    Dient der Zuordnung von Datenpool-Objekten zu den benoetigten Modell-Ressourcen
  3. Status-Bereich (JTextArea)
    Auf diesen Text-Bereich werden saemtlich Status-Ausgaben des Modells umgelenkt (siehe XuluModel.setStatusOut(PrintStream) und TextAreaPrintStream)
  4. Reload-Button
    Dient dazu die dem Fenster zugrunde liegende Modell-Klasse neu von der Festplatte zu laden. Wurde die Klasse seit dem Instanziieren des Modells veraendert und neu kompiliert, werden diese Aenderungen uebernommen.


1.04.07, Dominik Appl
reorganzied, so that subclasses can reuse more code
29.04.07, Dominik Appl
it is now possible to access the underlying control container and the setResources() method from outside (for controlling the model execution from the MultiModelControlPlugin)

Version:
1.1
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
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
           
protected  ModelContentManagerContainer contentContainer
           
protected  Container contentPane
           
protected  ModelControlContainer controlContainer
           
protected  JButton reloadButton
           
 
Fields inherited from class edu.bonn.xulu.gui.ModelControlFrame
model
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ModelControlFrame_Basic(XuluModellingPlatform appl, XuluModel model)
          Erzeugt ein neues Kontrollfenster
 
Method Summary
 void close()
          Schliesst die Komponente komplett.
 ModelControlContainer getControlContainer()
           
 ModelContentManagerContainer getModelContentManagerContainer()
           
protected  void initContentPane()
          inits the content pane
protected  void initControlContainer()
          inits the control container
protected  void initReloadButton()
          inits the reload button
protected  void initStatusArea()
          inits the status Area
protected  ModelControlFrame_Basic newInstance(XuluModel newModel)
           
 void refresh()
          Aktualisiert die grafische Darstellung des internen Fensters, in dem die Auswahlfelder des ModelContentManagers neu organisiert werden.
 void setModelResources()
          Belegt die Ressourcen des Modells mit den ausgewaehlten Objekten des Datenpools.
 void setTitle(String title)
          Setzt die Bezeichnung fuer das Kontroll-Fenster.
 void setVisible(boolean visible)
          Zeigt das Kontroll-Fenster an oder verbirgt es.
 
Methods inherited from class edu.bonn.xulu.gui.ModelControlFrame
equals, getModel
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.bonn.xulu.appl.AbstractManager.ContentType
getTitle, isVisible
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

contentContainer

protected ModelContentManagerContainer contentContainer

controlContainer

protected ModelControlContainer controlContainer

reloadButton

protected JButton reloadButton

contentPane

protected Container contentPane

appl

protected XuluModellingPlatform appl
Constructor Detail

ModelControlFrame_Basic

public ModelControlFrame_Basic(XuluModellingPlatform appl,
                               XuluModel model)
Erzeugt ein neues Kontrollfenster

Parameters:
appl - Applikation in der das Modell laeuft
model - Modell, das durch das Fenster kontrolliert werden soll
Method Detail

initStatusArea

protected void initStatusArea()
inits the status Area


initContentPane

protected void initContentPane()
inits the content pane


initReloadButton

protected void initReloadButton()
inits the reload button


initControlContainer

protected void initControlContainer()
inits the control container


setVisible

public void setVisible(boolean visible)
Zeigt das Kontroll-Fenster an oder verbirgt es. Zudem wird (falls vorhanden) das modellspezifische Fenster angezeigt/verborgen.

Specified by:
setVisible in interface AbstractManager.ContentType
Overrides:
setVisible in class Window

setTitle

public void setTitle(String title)
Setzt die Bezeichnung fuer das Kontroll-Fenster. Zudem wird (falls vorhanden) die entsprechende Bezeichnung fuer das modellspezifische Fenster gesetzt.

Specified by:
setTitle in interface AbstractManager.ContentType
Overrides:
setTitle in class Frame

setModelResources

public void setModelResources()
Belegt die Ressourcen des Modells mit den ausgewaehlten Objekten des Datenpools. Hierbei wird durch den ModelContentManager die Korrektheit geprueft.

Throws:
XuluDataException - falls eine Ressource nicht korrekt belegt wurde

close

public void close()
Schliesst die Komponente komplett. Das Modell wird angehalten und alle Ressourcen freigegeben.

Specified by:
close in interface AbstractManager.ContentType

refresh

public void refresh()
Aktualisiert die grafische Darstellung des internen Fensters, in dem die Auswahlfelder des ModelContentManagers neu organisiert werden. Die aktuelle Auswahl geht dabei verloren!

Specified by:
refresh in class ModelControlFrame

getModelContentManagerContainer

public ModelContentManagerContainer getModelContentManagerContainer()

getControlContainer

public ModelControlContainer getControlContainer()

newInstance

protected ModelControlFrame_Basic newInstance(XuluModel newModel)