hades.models.fsm
Class EditCanvas

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Canvas
          extended byhades.models.fsm.EditCanvas
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class EditCanvas
extends java.awt.Canvas

Zeichenfläche, in dem der Automat entworfen wird

See Also:
Serialized Form

Nested Class Summary
(package private)  class EditCanvas.EditMouseListener
          verarbeitet Modus-abhängig einen Mausklick
 
Nested classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 int xOffset
          horizontaler Offset zum Zustandsmittelpunkt (beim Verschieben)
 int yOffset
          vertikaler Offset zum Zustandsmittelpunkt (beim Verschieben)
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EditCanvas(FSM Fsm, EditFrame editFrame, Statuszeile statuszeile)
          Konstruktor
 
Method Summary
 void commentMode()
          wechselt in den Einfüge-Modus für Kommentare
 void deleteMode()
          wechselt in den Lösch-Modus
 void drawFSM(int xPos, int yPos, int width, int height, java.awt.Graphics g, java.lang.Object active)
          zeichnet einen skalierten Automaten ohne Beschriftung (max.
 void drawFSM(int xPos, int yPos, int width, int height, java.awt.Graphics g, java.lang.Object active, java.util.Vector active_trans)
          zeichnet einen skalierten Automaten ohne Beschriftung (mit mehreren aktivierten Transitionen)
 java.lang.Object getSelected()
          liefert das derzeit selektierte Objekt (Zustand, Transition oder null)
 void moveMode()
          wechselt in den Verschiebe-Modus
 void paint(java.awt.Graphics g)
          zeichnet den gesamten Automaten neu
 void startMode()
          wechselt in den Modus zum Festlegen des Startzustandes
 void transitionMode()
          wechselt in den Einfüge-Modus für Transitionen
 void zustandMode()
          wechselt in den Einfüge-Modus für Zustände
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

xOffset

public int xOffset
horizontaler Offset zum Zustandsmittelpunkt (beim Verschieben)


yOffset

public int yOffset
vertikaler Offset zum Zustandsmittelpunkt (beim Verschieben)

Constructor Detail

EditCanvas

public EditCanvas(FSM Fsm,
                  EditFrame editFrame,
                  Statuszeile statuszeile)
Konstruktor

Parameters:
Fsm - endlicher Automat (FSM)
editFrame - aufrufendes Fenster (EditFrame)
statuszeile - externe Statuszeile, für Meldungen (Statuszeile)
Method Detail

paint

public void paint(java.awt.Graphics g)
zeichnet den gesamten Automaten neu


getSelected

public java.lang.Object getSelected()
liefert das derzeit selektierte Objekt (Zustand, Transition oder null)

Returns:
Object selektiertes Objekt

moveMode

public void moveMode()
wechselt in den Verschiebe-Modus


zustandMode

public void zustandMode()
wechselt in den Einfüge-Modus für Zustände


transitionMode

public void transitionMode()
wechselt in den Einfüge-Modus für Transitionen


commentMode

public void commentMode()
wechselt in den Einfüge-Modus für Kommentare


deleteMode

public void deleteMode()
wechselt in den Lösch-Modus


startMode

public void startMode()
wechselt in den Modus zum Festlegen des Startzustandes


drawFSM

public void drawFSM(int xPos,
                    int yPos,
                    int width,
                    int height,
                    java.awt.Graphics g,
                    java.lang.Object active)
zeichnet einen skalierten Automaten ohne Beschriftung (max. ein aktives Element)

Parameters:
xPos - horizontale Position, ab der gezeichnet wird (int)
yPos - vertikale Position, ab der gezeichnet wird (int)
width - Breite, die zur Verfügung steht (int)
height - Höhe, die zur Verfügung steht (int)
g - graphischer Kontext, in den gezeichnet werden soll (Graphics)
active - Objekt (Zustand, Transition oder null), das rot (aktiviert) gezeichnet wird (Object)

drawFSM

public void drawFSM(int xPos,
                    int yPos,
                    int width,
                    int height,
                    java.awt.Graphics g,
                    java.lang.Object active,
                    java.util.Vector active_trans)
zeichnet einen skalierten Automaten ohne Beschriftung (mit mehreren aktivierten Transitionen)

Parameters:
xPos - horizontale Position, ab der gezeichnet wird (int)
yPos - vertikale Position, ab der gezeichnet wird (int)
width - Breite, die zur Verfügung steht (int)
height - Höhe, die zur Verfügung steht (int)
g - graphischer Kontext, in den gezeichnet werden soll (Graphics)
active - Objekt (Zustand, Transition oder null), das rot (aktiviert) gezeichnet wird (Object)
active_trans - Vector, der die aktivierten Transitionen enthält (Vector)