genegui
Class CellSurfaceViewer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JInternalFrame
                  extended bygenegui.CellSurfaceViewer
All Implemented Interfaces:
javax.accessibility.Accessible, GuiInterface, java.awt.image.ImageObserver, java.awt.MenuContainer, ModelStateChangeListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class CellSurfaceViewer
extends javax.swing.JInternalFrame
implements ModelStateChangeListener, GuiInterface

CellViewer.java This is a re-write of the CellViewer class to make it more efficient and possibly less silly.

The viewer is composed on a series verticaly arrayed panels. The first panel will always be used to display time step and other information. Each additional panel is a CellViewerPanel which can be configured to display the color information collected from one or more nodes.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
 
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
static int GRAPH_BAR
           
static int GRAPH_CELL
           
static int GRAPH_FUNCTION_EXP
           
static int GRAPH_FUNCTION_LINEAR
           
static int GRAPH_FUNCTION_LOG
           
static int GRAPH_FUNCTION_PSUEDO
           
static int GRAPH_FUNCTION_THRESH
           
 
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 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 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
CellSurfaceViewer(Model model, MainGui theMainGUI, java.lang.String title, boolean simpleDisplay)
          Simple constructor.
 
Method Summary
 void affectorTemplateChanged(int operation, AffectorTemplate affectorTemplate, GuiInterface source)
          Called when a change is made to the passed AffectorTemplate
 void moveViewerPanelDown(genegui.CellSurfaceViewer.SingleNodeViewerPanel p)
          Moves nodeViewerPanel down a space.
 void moveViewerPanelUp(genegui.CellSurfaceViewer.SingleNodeViewerPanel p)
          Moves nodeViewerPanel up a space
 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 paintAll()
          Forces all panels to repaint.
 void parameterSetChanged(int operation, int parameterNumber, GuiInterface source)
          Called when a change is made to a parameter or the whole parameter set
 void removeNodeViewerPanel(genegui.CellSurfaceViewer.SingleNodeViewerPanel panel)
          Removes a SingleNodeViewerPanel from the CellViewer.
 void runControl(int operation)
          Method for controling model/iterator runs.
 void runStatus(int operation)
          Method for reporting status of the model/iterator runs
 void setIcon(boolean simple)
          Over-ride native method to allow the small version of the window
 void setMaximum(boolean normal)
          Over-ride native method to allow the normal version of the window
 void setModel(Model model)
          Sets the model.
 void setModelState(ModelState modelState)
          Sets the ModelState that this CellViewer reads from when painting.
 void setNetwork(Network network)
          Sets the network used by all cells.
 void setScaleAndTranslation(double scale, java.awt.Point translation)
          Sets scale and translation for CellShapeArray used in painting operations.
 void updateAll()
          Implementation of ModelStateChangeListener Causes entire display to be repainted.
 void updateNode(int cellIndex, int nodeIndex, float value)
          Updates only the indicated node.
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, 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, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, 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, 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, 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, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GRAPH_CELL

public static final int GRAPH_CELL
See Also:
Constant Field Values

GRAPH_BAR

public static final int GRAPH_BAR
See Also:
Constant Field Values

GRAPH_FUNCTION_LINEAR

public static final int GRAPH_FUNCTION_LINEAR
See Also:
Constant Field Values

GRAPH_FUNCTION_LOG

public static final int GRAPH_FUNCTION_LOG
See Also:
Constant Field Values

GRAPH_FUNCTION_EXP

public static final int GRAPH_FUNCTION_EXP
See Also:
Constant Field Values

GRAPH_FUNCTION_THRESH

public static final int GRAPH_FUNCTION_THRESH
See Also:
Constant Field Values

GRAPH_FUNCTION_PSUEDO

public static final int GRAPH_FUNCTION_PSUEDO
See Also:
Constant Field Values
Constructor Detail

CellSurfaceViewer

public CellSurfaceViewer(Model model,
                         MainGui theMainGUI,
                         java.lang.String title,
                         boolean simpleDisplay)
Simple constructor.

Method Detail

moveViewerPanelDown

public void moveViewerPanelDown(genegui.CellSurfaceViewer.SingleNodeViewerPanel p)
Moves nodeViewerPanel down a space.


moveViewerPanelUp

public void moveViewerPanelUp(genegui.CellSurfaceViewer.SingleNodeViewerPanel p)
Moves nodeViewerPanel up a space


paintAll

public void paintAll()
Forces all panels to repaint.


removeNodeViewerPanel

public void removeNodeViewerPanel(genegui.CellSurfaceViewer.SingleNodeViewerPanel panel)
Removes a SingleNodeViewerPanel from the CellViewer. Takes care of proper repainting etc.


setIcon

public void setIcon(boolean simple)
Over-ride native method to allow the small version of the window


setMaximum

public void setMaximum(boolean normal)
Over-ride native method to allow the normal version of the window


setModel

public void setModel(Model model)
Sets the model.


setModelState

public void setModelState(ModelState modelState)
Sets the ModelState that this CellViewer reads from when painting. The ModelState must have been generated from the associated Model/Network.


setNetwork

public void setNetwork(Network network)
Sets the network used by all cells.


setScaleAndTranslation

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


updateAll

public void updateAll()
Implementation of ModelStateChangeListener Causes entire display to be repainted.

Specified by:
updateAll in interface ModelStateChangeListener

updateNode

public void updateNode(int cellIndex,
                       int nodeIndex,
                       float value)
Updates only the indicated node.

Specified by:
updateNode in interface ModelStateChangeListener

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