edu.berkeley.guir.papier_mache.assoc
Class AssociationTreeTable

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 edu.berkeley.guir.papier_mache.PMacheTreePanel
                      extended by edu.berkeley.guir.papier_mache.assoc.AssociationTreeTable
All Implemented Interfaces:
javax.accessibility.Accessible, AssociationFactory, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, PhobListener, java.io.Serializable, edu.berkeley.guir.lib.util.ToShortStringable

public class AssociationTreeTable
extends PMacheTreePanel
implements AssociationFactory, PhobListener

Author:
Jack Li ( jack(AT)eecs{DOT}berkeley{DOT}edu )
See Also:
Serialized Form

Nested Class Summary
 class AssociationTreeTable.AssociationTreeTableModel
           
 class AssociationTreeTable.PMTreeTableNode
          The addObject method gets invoked when this node has been selected and the "Add" button has been clicked.
 
Nested classes inherited from class edu.berkeley.guir.papier_mache.PMacheTreePanel
PMacheTreePanel.PMacheTreeNode, PMacheTreePanel.PMacheTreeSelectionListener
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
static boolean ON_NEW_TAG
           
static boolean ON_REMOVE
           
 AssociationTreeTable.AssociationTreeTableModel treeTableModel
           
 
Fields inherited from class edu.berkeley.guir.papier_mache.PMacheTreePanel
HIGHLIGHT_DELAY, highlightDelay, NEW_COLOR, objectsToNodes, REMOVE_COLOR, UPDATE_COLOR
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
AssociationTreeTable()
           
AssociationTreeTable(DefaultAssociationFactory factory)
           
 
Method Summary
 void addClassifier(ObjectClassifier classifier, AssociationFactory factory)
           
 void addDefaultUserClassifier(ObjectClassifier classifier)
           
 AssociationElt createAssociationEltForPhob(Phob phob)
          Creates an AssociationElt with the factory whose associated classifier is the first to identify the phob as a member.
static java.util.Iterator getMediaTypesIterator()
           
 void highlightNodeAs(java.lang.Object obj, int state)
           
 void phobAdded(PhobEvent event)
          When a phob has been added, one of three actions may take place.
 void phobRemoved(PhobEvent event)
          If the phob removed is currently in the process of being cloned, set the stop time.
 void phobUpdated(PhobEvent event)
          Called when new information is available about a previously found object
static void registerMediaElement(java.lang.Class mediaClass)
          Registers a media class by adding it to the ordered registeredMediaTypes
 void removeClassifier(ObjectClassifier classifier)
           
 void setFocusPolicy(boolean focusPolicy)
          Sets when the focus noun gets changed.
 void setParameter(java.lang.String paramName, java.lang.String paramValue)
          Used when unmarshalling an XML file.
 java.lang.String toShortString()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getName, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ON_REMOVE

public static final boolean ON_REMOVE
See Also:
Constant Field Values

ON_NEW_TAG

public static final boolean ON_NEW_TAG
See Also:
Constant Field Values

treeTableModel

public final AssociationTreeTable.AssociationTreeTableModel treeTableModel
Constructor Detail

AssociationTreeTable

public AssociationTreeTable()

AssociationTreeTable

public AssociationTreeTable(DefaultAssociationFactory factory)
Method Detail

setFocusPolicy

public void setFocusPolicy(boolean focusPolicy)
Sets when the focus noun gets changed. The focus noun is the object that operations operate upon.

Parameters:
focusPolicy - either ON_REMOVE or ON_NEW_TAG. If ON_REMOVE, then the focus will be set to null when the focus noun is removed. If ON_NEW_TAG, then the focus will be set when a noun is added (and not unset on removed).

getMediaTypesIterator

public static final java.util.Iterator getMediaTypesIterator()

registerMediaElement

public static void registerMediaElement(java.lang.Class mediaClass)
Registers a media class by adding it to the ordered registeredMediaTypes

Parameters:
mediaClass -

phobAdded

public void phobAdded(PhobEvent event)
When a phob has been added, one of three actions may take place. The phob may get executed, cloned or assigned. If a focusClip exists, assign this phob to a clone of the focusClip; else there is no current focusClip. If the phob has been assigned, the assigned media gets executed; otherwise, make create a new assignment for this phob.

Specified by:
phobAdded in interface PhobListener
Parameters:
event - an event describing the found object

highlightNodeAs

public void highlightNodeAs(java.lang.Object obj,
                            int state)

phobUpdated

public void phobUpdated(PhobEvent event)
Description copied from interface: PhobListener
Called when new information is available about a previously found object

Specified by:
phobUpdated in interface PhobListener
Parameters:
event - an event with new information about the found object

phobRemoved

public void phobRemoved(PhobEvent event)
If the phob removed is currently in the process of being cloned, set the stop time. Otherwise if the phob has been assigned, make the assigned media stop and reset the focusClip.

Specified by:
phobRemoved in interface PhobListener
Parameters:
event - an event referencing the removed object

createAssociationEltForPhob

public AssociationElt createAssociationEltForPhob(Phob phob)
Creates an AssociationElt with the factory whose associated classifier is the first to identify the phob as a member.

Specified by:
createAssociationEltForPhob in interface AssociationFactory
Parameters:
phob - used to decide what type of AssociationElt to create
Returns:
the created AssociatoinElt

addClassifier

public void addClassifier(ObjectClassifier classifier,
                          AssociationFactory factory)
Parameters:
classifier -
factory -

addDefaultUserClassifier

public void addDefaultUserClassifier(ObjectClassifier classifier)

removeClassifier

public void removeClassifier(ObjectClassifier classifier)

setParameter

public void setParameter(java.lang.String paramName,
                         java.lang.String paramValue)
Used when unmarshalling an XML file. Subclasses implement this so that the unmarshaller can set all of the parameter fields. The default behavior is to throw an error that the parameter is not a field of the class. If a classifier does not accept a parameter, it should call super.setParameter(), which will invoke this error handler.

Specified by:
setParameter in interface AssociationFactory
Parameters:
paramName - the name of the parameter to set
paramValue - the value of the parameter

toShortString

public java.lang.String toShortString()
Specified by:
toShortString in interface edu.berkeley.guir.lib.util.ToShortStringable