edu.mit.ai.psg.traveler
Class TravelerCallRenderer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--edu.mit.ai.psg.ui.outliner.OutlineRendererDefault
                          |
                          +--edu.mit.ai.psg.ui.outliner.OutlineRendererCaching
                                |
                                +--edu.mit.ai.psg.ui.outliner.CallOutlineRendererCaching
                                      |
                                      +--edu.mit.ai.psg.traveler.TravelerCallRenderer

public class TravelerCallRenderer
extends CallOutlineRendererCaching

Renders call outline to display call trace records produced by Trace: child of call record are nested calls and other nested activities. (Based in part on "Traveler: the Apiary Observatory", ECOOP'1987).

See Also:
Serialized Form

Inner Class Summary
 class TravelerCallRenderer.ResultRenderer
          Class for renderer of result partner
 
Inner classes inherited from class edu.mit.ai.psg.ui.outliner.OutlineRendererDefault
OutlineRendererDefault.OutlineText
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
static Font defaultFont
          Default font for new renderers, e.g.,
 
Fields inherited from class edu.mit.ai.psg.ui.outliner.OutlineRendererDefault
defaultToolTipText, labelComponent, myOutlineMaker, objectComponent
 
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
 
Constructor Summary
TravelerCallRenderer(OutlineMaker outlineMaker)
           
 
Method Summary
 void addPopupMenuItems(PopupMenu menu, OutlineNode outlineNode, TreePath treePath, JTree jTree)
          add to popup menu any commands specific to objects handled by this generator.
 String computeLabelText(OutlineNode node)
          return node.getLabel() + arrow.
 String computeObjectText(OutlineNode outlineNode)
          Override this method to tailor text for node tooltip.
 void generatePartner(CallOutlineNode invocationOutlineNode)
          create a partner node with resultRenderer
protected  Object getLabelTextCacheKey(OutlineNode node)
          label text is computed from record, and whether it is a threaded child or not doesn't change, so return node as key.
static void initialize(OutlineMaker outlineMaker)
          Call initialize to initialize outlineMaker with an instance for IParticipations.
 List makeChildOutlineNodes(OutlineNode invocationNode)
          children are nested calls
 
Methods inherited from class edu.mit.ai.psg.ui.outliner.CallOutlineRendererCaching
makeOutlineNode, notifyInserted, notifyRemoving
 
Methods inherited from class edu.mit.ai.psg.ui.outliner.OutlineRendererCaching
decacheLabelText, decacheObjectText, decacheToolTipText, getLabelText, getObjectText, getObjectTextCacheKey, getToolTipText, getToolTipTextCacheKey, makeLabelTextCache, makeObjectTextCache, makeToolTipTextCache
 
Methods inherited from class edu.mit.ai.psg.ui.outliner.OutlineRendererDefault
addPopupMenuTitle, computeLabelText, computeObjectText, computeToolTipText, equals, getLabelComponent, getObjectComponent, getOutlineMaker, getTreeCellRendererComponent, isShowing, makeNoteOutlineNode, makeOutlineNode, paint, toString
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setCursor, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultFont

public static Font defaultFont
Default font for new renderers, e.g.,
java.util.Map attributes = new java.util.HashMap(1);
attributes.put(java.awt.font.TextAttribute.FAMILY, "Monospaced");
defaultFont = java.awt.Font.getFont(attributes);
(Initialization specifies only logical font family, since system default size will vary with locale, e.g., for Asian languages.)
See Also:
Font.getFont(Map)
Constructor Detail

TravelerCallRenderer

public TravelerCallRenderer(OutlineMaker outlineMaker)
Method Detail

generatePartner

public void generatePartner(CallOutlineNode invocationOutlineNode)
create a partner node with resultRenderer
Overrides:
generatePartner in class CallOutlineRendererCaching

computeLabelText

public String computeLabelText(OutlineNode node)
return node.getLabel() + arrow. Invocation arrow also indicates whether activity is in same thread as its parent: "-> " within thread, ">> " for activity of new thread
Overrides:
computeLabelText in class OutlineRendererDefault

getLabelTextCacheKey

protected Object getLabelTextCacheKey(OutlineNode node)
label text is computed from record, and whether it is a threaded child or not doesn't change, so return node as key.
Overrides:
getLabelTextCacheKey in class OutlineRendererCaching

makeChildOutlineNodes

public List makeChildOutlineNodes(OutlineNode invocationNode)
children are nested calls
Overrides:
makeChildOutlineNodes in class OutlineRendererDefault

computeObjectText

public String computeObjectText(OutlineNode outlineNode)
Description copied from class: OutlineRendererDefault
Override this method to tailor text for node tooltip. This method:
Object object = node.getObject();      
return object == null ? "null" : object.toString();
Overrides:
computeObjectText in class OutlineRendererDefault

addPopupMenuItems

public void addPopupMenuItems(PopupMenu menu,
                              OutlineNode outlineNode,
                              TreePath treePath,
                              JTree jTree)
Description copied from interface: OutlineRenderer
add to popup menu any commands specific to objects handled by this generator. (Separate from adding title so generators which inherit title behavior can add more specific menu commands first before adding superclass commands).
Overrides:
addPopupMenuItems in class OutlineRendererDefault
Tags copied from interface: OutlineRenderer
See Also:
OutlineCommand

initialize

public static void initialize(OutlineMaker outlineMaker)
Call initialize to initialize outlineMaker with an instance for IParticipations.

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu