genegui
Class ModelStateView

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bygenegui.ModelStateView
All Implemented Interfaces:
javax.accessibility.Accessible, GuiInterface, java.awt.image.ImageObserver, java.awt.MenuContainer, NodeStateChangeListener, java.io.Serializable

public class ModelStateView
extends javax.swing.JPanel
implements NodeStateChangeListener, GuiInterface

ModelStateView.java Constructs a JWindow for viewing all the cells in a model. The user may select which nodes are being displayed in the window and set the values of the nodes. It is implemented in such a way as to function independently of cell shapes and positions. It is accompanied by a toolbox and a node palette.

Originally designed to be used for building initial states and for general purpose stoppers.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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 genegui.GuiInterface
ADDED, CHANGED, CLOSE, EXIT, IS_ITERATOR, IS_MODEL, ITERATOR_STARTED, ITERATOR_STOPPED, MODEL_STARTED, MODEL_STOPPED, NEW, OPEN, PARAMETER_ADDED, PARAMETER_CHANGED, PARAMETER_REMOVED, PARAMETER_SET_CHANGED, REMOVED, RESET_ITERATOR, RESET_MODEL, RUN_ITERATOR, RUN_MODEL, SAVE, STEP_ITERATOR, STEP_MODEL, STOP_ITERATOR
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ModelStateView(ModelState theModelState, ModelStateEditor theModelStateEditor, MainGui theMainGui)
          Primary constructor builds the visual appearance of the viewer and establishes mouse listeners.
 
Method Summary
 void affectorTemplateChanged(int operation, AffectorTemplate affectorTemplate, GuiInterface source)
          Called when a change is made to the passed AffectorTemplate
 void deselectAllCells()
          Deselects all cells.
 boolean[] getSelectedCells()
          Returns an array of all the cells that are selected.
 boolean[] getSelectedNodes()
          Returns an array of the selected (visible) nodes.
 boolean networkIO(int operation, java.io.File file)
          Method for invoking general network IO operations.
 void nodeTemplateChanged(int operation, NodeTemplate nodeTemplate, GuiInterface source)
          Called when a change is made to the passed NodeTemplate
 void parameterSetChanged(int operation, int parameterNumber, GuiInterface source)
          Called when a change is made to a parameter or the whole parameter set
 void reset()
          Resets the ModelStateView by switching off all cell-selections, turning off all visible nodes.
 void runControl(int operation)
          Method for controling model/iterator runs.
 void runStatus(int operation)
          Method for reporting status of the model/iterator runs
 void selectCell(int index, boolean select)
          Sets a single cell as being selected.
 void setNodeSelected(int nodeIndex, boolean selected)
          Sets a node as being selected (viewed) by this viewer.
 void setScaleAndTranslation(double scale, java.awt.Point translation)
          Sets scale and translation for CellShapeArray used in painting operations.
 void setSelected(boolean selected)
          Sets this ModelStateView as being selected.
 void updateAllCells()
          Updates the colors of all cells whether they are selected or not.
 void updateCell(int cellIndex)
          Repaints a single cell.
 void updateCells(boolean[] selectedCells)
          Updates the colors for all the selected cells.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ModelStateView

public ModelStateView(ModelState theModelState,
                      ModelStateEditor theModelStateEditor,
                      MainGui theMainGui)
Primary constructor builds the visual appearance of the viewer and establishes mouse listeners.

Method Detail

deselectAllCells

public void deselectAllCells()
Deselects all cells.


selectCell

public void selectCell(int index,
                       boolean select)
Sets a single cell as being selected. This will set the cell to have the selected outline type and update the values of the attached NodePalette to match the values of the cell.


setScaleAndTranslation

public void setScaleAndTranslation(double scale,
                                   java.awt.Point translation)
Sets scale and translation for CellShapeArray used in painting operations.


getSelectedCells

public boolean[] getSelectedCells()
Returns an array of all the cells that are selected.

Returns:
boolean[] - Array of all selected cells. True = selected.

getSelectedNodes

public boolean[] getSelectedNodes()
Returns an array of the selected (visible) nodes.

Returns:
boolean[] - An array of all the nodes that are selected. True = selected (visible).

reset

public void reset()
Resets the ModelStateView by switching off all cell-selections, turning off all visible nodes.


setNodeSelected

public void setNodeSelected(int nodeIndex,
                            boolean selected)
Sets a node as being selected (viewed) by this viewer.


setSelected

public void setSelected(boolean selected)
Sets this ModelStateView as being selected. Causes the control area at the top of the display to be highlighted or de-highlighted.


updateAllCells

public void updateAllCells()
Updates the colors of all cells whether they are selected or not. This is used when nodes are being set to visible or invisible.


updateCell

public void updateCell(int cellIndex)
Repaints a single cell.

Specified by:
updateCell in interface NodeStateChangeListener

updateCells

public void updateCells(boolean[] selectedCells)
Updates the colors for all the selected cells.

Specified by:
updateCells in interface NodeStateChangeListener

affectorTemplateChanged

public void affectorTemplateChanged(int operation,
                                    AffectorTemplate affectorTemplate,
                                    GuiInterface source)
Called when a change is made to the passed AffectorTemplate

Specified by:
affectorTemplateChanged in interface GuiInterface

networkIO

public boolean networkIO(int operation,
                         java.io.File file)
Method for invoking general network IO operations.

Specified by:
networkIO in interface GuiInterface

nodeTemplateChanged

public void nodeTemplateChanged(int operation,
                                NodeTemplate nodeTemplate,
                                GuiInterface source)
Called when a change is made to the passed NodeTemplate

Specified by:
nodeTemplateChanged in interface GuiInterface

parameterSetChanged

public void parameterSetChanged(int operation,
                                int parameterNumber,
                                GuiInterface source)
Called when a change is made to a parameter or the whole parameter set

Specified by:
parameterSetChanged in interface GuiInterface

runControl

public void runControl(int operation)
Method for controling model/iterator runs.

Specified by:
runControl in interface GuiInterface

runStatus

public void runStatus(int operation)
Method for reporting status of the model/iterator runs

Specified by:
runStatus in interface GuiInterface