org.ascape.view.vis
Class CellView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.ascape.view.vis.PanelView
                      extended by org.ascape.view.vis.BufferView
                          extended by org.ascape.view.vis.AgentView
                              extended by org.ascape.view.vis.AgentSizedView
                                  extended by org.ascape.view.vis.CellView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible, ScapeListener, HasName, ComponentView
Direct Known Subclasses:
HostedAgentView, Scrolling1DView, StretchyView

public abstract class CellView
extends AgentSizedView

A generic base class for views that draw some kind of spatial view of a group of cells. Cell views have a default draw feature that draws a background for the cell, using the cell color feature.

Since:
1.0
Version:
3.0
Author:
Miles Parker
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int borderSize
          Size of border around each cell.
 DrawFeature cells_fill_draw_feature
          Draws the provided object, assumed to be a cell, by filling it using the cell color feature.
 DrawFeature cells_fill_draw_inset_feature
          Draws the provided object, assumed to be a cell, by filling it using the cell color feature.
 
Fields inherited from class org.ascape.view.vis.AgentSizedView
agentSize
 
Fields inherited from class org.ascape.view.vis.AgentView
agentColorFeature, agentCustomizer, clearBackgroundAutomatically, drawSelection, updateAllRequested
 
Fields inherited from class org.ascape.view.vis.BufferView
bufferedGraphics, bufferedImage
 
Fields inherited from class org.ascape.view.vis.PanelView
delegate, iterationsPerRedraw, name, scape
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CellView()
          Constructs a CellView, adding a listener to present a settings frame when the user double-clicks on the view.
 
Method Summary
 void build()
          Builds the view.
 int getBorderSize()
          Returns a one-dimension size in pixels of the cell border.
 ColorFeature getCellColorFeature()
          Returns the color feature that will be used for determining cell color.
 int getCellSize()
          Returns a one-dimension size of pixels used to represent each cell.
 javax.swing.ImageIcon getIcon()
          Return an icon that can be used to represent this frame.
 ColorFeature getPrimaryAgentColorFeature()
          Returns the color feature that will be used for determining cell color.
 void readExternal(java.io.ObjectInput in)
          The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays.
 void scapeRemoved(ScapeEvent scapeEvent)
          Notifies the view that the scape has removed it.
 void setBorderSize(int borderSize)
          Sets the border size in pixels.
 void setCellColorFeature(ColorFeature agentColorFeature)
          Set the color feature that will be used for determining cell color.
 void setCellSize(int cellSize)
          Sets the number of pixels used to represent each cell.
 void setPrimaryAgentColorFeature(ColorFeature cellColorFeature)
          Set the color feature that will be used for determining cell color.
 void writeExternal(java.io.ObjectOutput out)
          The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.
 
Methods inherited from class org.ascape.view.vis.AgentSizedView
addNotify, calculateAgentSizeForViewSize, calculateViewSizeForAgentSize, getAgentSize, getPreferredSizeWithin, scapeAdded, setAgentSize, setBounds
 
Methods inherited from class org.ascape.view.vis.AgentView
addDrawFeature, createAgentCustomizer, createAgentCustomizerPanel, displayAgentCustomizer, displayCustomizer, drawSelectedAgent, drawSelectedAgent, getAgentAtPixel, getAgentColorFeature, getAgentCustomizer, getDrawFeatures, getDrawFeaturesObservable, getDrawSelection, isClearBackground, paintComponent, removeAgentCustomizer, removeCustomizer, removeDrawFeature, requestUpdateAll, scapeStarted, setAgentColorFeature, setAgentCustomizer, setClearBackground, setCustomizeAgent, update, updateScapeGraphics
 
Methods inherited from class org.ascape.view.vis.BufferView
buildGraphicsBuffer, finalize, getBufferedImage, imageUpdate, setBufferedImage
 
Methods inherited from class org.ascape.view.vis.PanelView
clone, environmentQuiting, forceScapeNotify, getDelegate, getIterationsPerRedraw, getName, getScape, getViewFrame, iconUpdated, isGraphic, isLifeOfScape, notifyScapeUpdated, onChangeIterationsPerRedraw, scapeClosing, scapeDeserialized, scapeInitialized, scapeIterated, scapeNotification, scapeSetup, scapeStopped, setDelegate, setIterationsPerRedraw, setMovieRecorder, setName, setViewFrame, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, reshape, 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, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cells_fill_draw_feature

public final DrawFeature cells_fill_draw_feature
Draws the provided object, assumed to be a cell, by filling it using the cell color feature.


cells_fill_draw_inset_feature

public final DrawFeature cells_fill_draw_inset_feature
Draws the provided object, assumed to be a cell, by filling it using the cell color feature.


borderSize

protected int borderSize
Size of border around each cell. 0 by default.

Constructor Detail

CellView

public CellView()
Constructs a CellView, adding a listener to present a settings frame when the user double-clicks on the view.

Method Detail

build

public void build()
Builds the view. Sets the color feature defaults, adds the default oval and fill draw features, and selects the draw agents as ovals feature.

Specified by:
build in interface ComponentView
Overrides:
build in class AgentSizedView

getPrimaryAgentColorFeature

public ColorFeature getPrimaryAgentColorFeature()
Returns the color feature that will be used for determining cell color. The default color feature is simply the getColor() method of the cell.


setPrimaryAgentColorFeature

public void setPrimaryAgentColorFeature(ColorFeature cellColorFeature)
Set the color feature that will be used for determining cell color. The default color feature is simply the getColor() method of the cell.

Parameters:
cellColorFeature - the color feature, whose object is assumed to be a cell populating this lattice

getCellColorFeature

public ColorFeature getCellColorFeature()
Returns the color feature that will be used for determining cell color. Mirrors agent color feature. Essentially here for backward compatibility. The default color feature is simply the getColor() method of the cell.

Returns:
the cell color feature

setCellColorFeature

public void setCellColorFeature(ColorFeature agentColorFeature)
Set the color feature that will be used for determining cell color. Mirrors agent color feature. Essentially here for backward compatibility. The default color feature is simply the getColor() method of the cell.

Parameters:
agentColorFeature - the color feature, whose object is assumed to be a cell populating this lattice

getBorderSize

public int getBorderSize()
Returns a one-dimension size in pixels of the cell border.

Returns:
the border size

setBorderSize

public void setBorderSize(int borderSize)
Sets the border size in pixels.

Parameters:
borderSize - number of pixels

scapeRemoved

public void scapeRemoved(ScapeEvent scapeEvent)
Notifies the view that the scape has removed it. Removes the customizer.

Specified by:
scapeRemoved in interface ScapeListener
Overrides:
scapeRemoved in class PanelView
Parameters:
scapeEvent - the scape removed notification event
See Also:
scapeAdded

getIcon

public javax.swing.ImageIcon getIcon()
Return an icon that can be used to represent this frame. Returns null in this case, use default. Implementors should specify an icon that makes sense for the view.

Specified by:
getIcon in interface ComponentView
Overrides:
getIcon in class PanelView
Returns:
the icon

getCellSize

public int getCellSize()
Returns a one-dimension size of pixels used to represent each cell.

Returns:
the cell size

setCellSize

public void setCellSize(int cellSize)
Sets the number of pixels used to represent each cell.

Parameters:
cellSize - number of pixels per edge

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class AgentSizedView
Parameters:
out - the stream to write the object to
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.io.IOException - Includes any I/O exceptions that may occur

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays. The readExternal method must read the values in the same sequence and with the same types as were written by writeExternal.

Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class AgentSizedView
Parameters:
in - the stream to read data from in order to restore the object
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.lang.ClassNotFoundException - the class not found exception
java.io.IOException - if I/O errors occur
java.lang.ClassNotFoundException - If the class for an object being restored cannot be found.


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.