org.ascape.view.custom
Class AgentCustomizer

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.custom.BaseCustomizer
                          extended by org.ascape.view.custom.AgentCustomizer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.Customizer, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.accessibility.Accessible, ScapeCustomizer, ScapeListener, HasName, ComponentView

public class AgentCustomizer
extends BaseCustomizer
implements java.io.Externalizable

A frame (modeless dialog) for interpreting the state of an agent and optionally its hosted agents if any.

Since:
1.9
Version:
2.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
static int FOCUS_HOSTED
          The Constant FOCUS_HOSTED.
static int FOCUS_PRIMARY
          The Constant FOCUS_PRIMARY.
 
Fields inherited from class org.ascape.view.custom.BaseCustomizer
buttonPanel, contentPanel
 
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
AgentCustomizer()
          Constructs the customizer.
AgentCustomizer(AgentView view)
          Constructs the frame.
 
Method Summary
 void build()
          Create and place the customizer's components.
 Agent getAgent()
          Gets the agent.
 int getFocus()
          Gets the focus.
 boolean isHostedAgentMode()
          Is this customizer supporting a hosted agent mode; i.e displaying a 'hosted' hosted alongside the hosting agent? Overide to return false if you do not want the hosted agent displayed.
 boolean isPrimaryAgentMode()
          Is this customizer supporting a primary agent mode; i.e displaying the primary agent.
 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 scapeDeserialized(ScapeEvent scapeEvent)
          Method called once a model is deserialized.
 void scapeNotification(ScapeEvent scapeEvent)
          Notifies this view that something has happened on the scape.
 void setAgent(Agent agent)
          Sets the agent.
 void setFocus(int focus)
          Sets the focus.
 void setObject(java.lang.Object target)
          Sets the object this customizer is modifying.
 void updateScapeGraphics()
          Called when scape reports an update event.
 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.custom.BaseCustomizer
addPropertyChangeListener, getButtonPanel, getContentPanel, getLastBounds, getObject, removePropertyChangeListener, selected, setButtonPanel, setContentPanel, setLastBounds
 
Methods inherited from class org.ascape.view.vis.PanelView
clone, environmentQuiting, forceScapeNotify, getDelegate, getIcon, getIterationsPerRedraw, getName, getPreferredSizeWithin, getScape, getViewFrame, iconUpdated, isGraphic, isLifeOfScape, notifyScapeUpdated, onChangeIterationsPerRedraw, paintComponent, scapeAdded, scapeClosing, scapeInitialized, scapeIterated, scapeRemoved, scapeSetup, scapeStarted, 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, addNotify, 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, 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, imageUpdate, 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, repaint, repaint, repaint, resize, resize, setBounds, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.ascape.model.event.ScapeListener
clone, environmentQuiting, getScape, isGraphic, isLifeOfScape, scapeAdded, scapeClosing, scapeInitialized, scapeIterated, scapeRemoved, scapeSetup, scapeStarted, scapeStopped
 
Methods inherited from interface org.ascape.util.HasName
getName
 

Field Detail

FOCUS_PRIMARY

public static final int FOCUS_PRIMARY
The Constant FOCUS_PRIMARY.

See Also:
Constant Field Values

FOCUS_HOSTED

public static final int FOCUS_HOSTED
The Constant FOCUS_HOSTED.

See Also:
Constant Field Values
Constructor Detail

AgentCustomizer

public AgentCustomizer()
Constructs the customizer.


AgentCustomizer

public AgentCustomizer(AgentView view)
Constructs the frame. Note that the view is purposely downclassed because we have an AWT based view group and a Swing based view group, both of which can use this class.

Parameters:
view - the chart view being edited.
Method Detail

isHostedAgentMode

public boolean isHostedAgentMode()
Is this customizer supporting a hosted agent mode; i.e displaying a 'hosted' hosted alongside the hosting agent? Overide to return false if you do not want the hosted agent displayed. Otherwise, the primary is dispalyed automatically.

Returns:
true, if is hosted agent mode

isPrimaryAgentMode

public boolean isPrimaryAgentMode()
Is this customizer supporting a primary agent mode; i.e displaying the primary agent. (That is, the "Cell".) True by default. Overide to return false if you do not want the primary agent displayed.

Returns:
true, if is primary agent mode

build

public void build()
Create and place the customizer's components. Introspects the model to find setting's primaryAccessors, and adds descriptions and text fields to the customizer for them.

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

getFocus

public int getFocus()
Gets the focus.

Returns:
the focus

setFocus

public void setFocus(int focus)
Sets the focus.

Parameters:
focus - the new focus

getAgent

public Agent getAgent()
Gets the agent.

Returns:
the agent

setAgent

public void setAgent(Agent agent)
Sets the agent.

Parameters:
agent - the new agent

setObject

public void setObject(java.lang.Object target)
Sets the object this customizer is modifying.

Specified by:
setObject in interface java.beans.Customizer
Overrides:
setObject in class BaseCustomizer
Parameters:
target - the object being customized

updateScapeGraphics

public void updateScapeGraphics()
Description copied from class: PanelView
Called when scape reports an update event. (No need to call this method after updating panel.)

Specified by:
updateScapeGraphics in interface ComponentView
Overrides:
updateScapeGraphics in class PanelView

scapeDeserialized

public void scapeDeserialized(ScapeEvent scapeEvent)
Method called once a model is deserialized.

Specified by:
scapeDeserialized in interface ScapeListener
Overrides:
scapeDeserialized in class PanelView
Parameters:
scapeEvent - the scape event

scapeNotification

public void scapeNotification(ScapeEvent scapeEvent)
Description copied from class: PanelView
Notifies this view that something has happened on the scape. This view then has a chance to update itself, and this super method then notifies the scape that the view itself has been updated. By default, calls the onStart, updateScapeGraphics, or onStop method as appropriate, and then notifies scape.

Specified by:
scapeNotification in interface ScapeListener
Overrides:
scapeNotification in class PanelView
Parameters:
scapeEvent - a scape event update

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 BaseCustomizer
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 BaseCustomizer
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.