edu.mit.ai.psg.ui.outliner
Class OutlineRendererDefault

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--edu.mit.ai.psg.ui.outliner.OutlineRendererDefault
Direct Known Subclasses:
CallOutlineRendererDefault, OutlineRendererCaching

public class OutlineRendererDefault
extends JComponent
implements OutlineRenderer

OutlineRendererDefault provides a default implementation of OutlineRenderer. It renders objects using object.toString(). It does not generate any children.

See Also:
Outliner, OutlineNode, Serialized Form

Inner Class Summary
static class OutlineRendererDefault.OutlineText
          OutlineText: JTextArea with verticalAlignment Component.TOP_ALIGNMENT
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
 String defaultToolTipText
          "mouse-R: menu"; tailor for platforms that recognize different gesture for MouseEvent.isPopupTrigger() (e.g., one button MacOS).
protected  Component labelComponent
          default value is a JTextArea for rendering label
protected  OutlineMaker myOutlineMaker
          OutlineMaker to use for looking up renderers for making children
protected  Component objectComponent
          default value is a JTextArea for rendering object via toString()
 
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
OutlineRendererDefault(OutlineMaker outlineMaker)
           
 
Method Summary
 void addPopupMenuItems(PopupMenu menu, OutlineNode outlineNode, TreePath treePath, JTree jTree)
          Adds no popup menu items specific to this kind of outline.
 void addPopupMenuTitle(PopupMenu menu, OutlineNode outlineNode, TreePath treePath, JTree jTree)
          Add a menu item identifying the object the popup menu is for.
 String computeLabelText(Object label)
          Deprecated.  
 String computeLabelText(OutlineNode node)
          Override this method to tailor text for node label.
 String computeObjectText(Object object)
          Deprecated.  
 String computeObjectText(OutlineNode node)
          Override this method to tailor text for node tooltip.
 String computeToolTipText(OutlineNode node)
          Override this method to tailor text for node tooltip.
 boolean equals(Object other)
          equals if same class and same outlineMaker
 Component getLabelComponent()
           
 String getLabelText(OutlineNode node)
          get label text for node.
 Component getObjectComponent()
           
 String getObjectText(OutlineNode node)
          get object text for node.
 OutlineMaker getOutlineMaker()
          return the outline maker of which this renderer is part
 String getToolTipText(OutlineNode node)
          get tool tip text for node.
 Component getTreeCellRendererComponent(JTree tree, Object value, boolean isSelected, boolean isExpanded, boolean isLeaf, int row, boolean hasFocus)
          Renders label and object by setting text of labelComponent and objectComponent to text from getLabelText(edu.mit.ai.psg.ui.outliner.OutlineNode) and getObjectText(edu.mit.ai.psg.ui.outliner.OutlineNode).
 boolean isShowing()
          isShowing() returns true, as required by CellRendererPane
 List makeChildOutlineNodes(OutlineNode outlineNode)
          Creates no children; returns Collections.EMPTY_LIST.
 OutlineNode makeNoteOutlineNode(String note)
          makes a childless outlineNode for a string, e.g., for errors or messages.
 OutlineNode makeOutlineNode(Object object)
          calls makeOutlineNode(null, object);
 OutlineNode makeOutlineNode(Object label, Object object)
          makes a OutlineNodeDefault
 void notifyInserted(OutlineModel model, OutlineNode child, int idx)
          notified after model inserts (adds) child into parent at index
 void notifyRemoving(OutlineModel model, OutlineNode child)
          notified when model is about to remove child from parent
 void paint(Graphics g)
           
 String toString()
          returns simple name of renderer class, used in pop-up menu
 
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

labelComponent

protected Component labelComponent
default value is a JTextArea for rendering label

objectComponent

protected Component objectComponent
default value is a JTextArea for rendering object via toString()

myOutlineMaker

protected OutlineMaker myOutlineMaker
OutlineMaker to use for looking up renderers for making children

defaultToolTipText

public String defaultToolTipText
"mouse-R: menu"; tailor for platforms that recognize different gesture for MouseEvent.isPopupTrigger() (e.g., one button MacOS). Default is localizable via the edu.mit.ai.psg.ui.outliner.OutlinerBundle property "mouse-R\:\ menu"
Constructor Detail

OutlineRendererDefault

public OutlineRendererDefault(OutlineMaker outlineMaker)
Method Detail

getLabelComponent

public Component getLabelComponent()

getObjectComponent

public Component getObjectComponent()

getOutlineMaker

public OutlineMaker getOutlineMaker()
Description copied from interface: OutlineRenderer
return the outline maker of which this renderer is part
Specified by:
getOutlineMaker in interface OutlineRenderer

makeOutlineNode

public OutlineNode makeOutlineNode(Object object)
calls makeOutlineNode(null, object);
Specified by:
makeOutlineNode in interface OutlineRenderer
Tags copied from interface: OutlineRenderer
See Also:
OutlineRenderer.makeOutlineNode(Object, Object)

makeOutlineNode

public OutlineNode makeOutlineNode(Object label,
                                   Object object)
makes a OutlineNodeDefault
Specified by:
makeOutlineNode in interface OutlineRenderer
Tags copied from interface: OutlineRenderer
Parameters:
label - Object to use for rendering label, or null if no label.
object - Object for the tree node.

notifyInserted

public void notifyInserted(OutlineModel model,
                           OutlineNode child,
                           int idx)
notified after model inserts (adds) child into parent at index
Specified by:
notifyInserted in interface OutlineRenderer

notifyRemoving

public void notifyRemoving(OutlineModel model,
                           OutlineNode child)
notified when model is about to remove child from parent
Specified by:
notifyRemoving in interface OutlineRenderer

makeNoteOutlineNode

public OutlineNode makeNoteOutlineNode(String note)
makes a childless outlineNode for a string, e.g., for errors or messages. Uses OutlineRendererDefault.instance as renderer (not subclass from which it is called).
Specified by:
makeNoteOutlineNode in interface OutlineRenderer

makeChildOutlineNodes

public List makeChildOutlineNodes(OutlineNode outlineNode)
Creates no children; returns Collections.EMPTY_LIST.
Specified by:
makeChildOutlineNodes in interface OutlineRenderer

addPopupMenuTitle

public void addPopupMenuTitle(PopupMenu menu,
                              OutlineNode outlineNode,
                              TreePath treePath,
                              JTree jTree)
Add a menu item identifying the object the popup menu is for.
Specified by:
addPopupMenuTitle in interface OutlineRenderer

addPopupMenuItems

public void addPopupMenuItems(PopupMenu menu,
                              OutlineNode outlineNode,
                              TreePath treePath,
                              JTree jTree)
Adds no popup menu items specific to this kind of outline.
Specified by:
addPopupMenuItems in interface OutlineRenderer
Tags copied from interface: OutlineRenderer
See Also:
OutlineCommand

toString

public String toString()
returns simple name of renderer class, used in pop-up menu
Overrides:
toString in class Component

equals

public boolean equals(Object other)
equals if same class and same outlineMaker
Overrides:
equals in class Object

getTreeCellRendererComponent

public Component getTreeCellRendererComponent(JTree tree,
                                              Object value,
                                              boolean isSelected,
                                              boolean isExpanded,
                                              boolean isLeaf,
                                              int row,
                                              boolean hasFocus)
Renders label and object by setting text of labelComponent and objectComponent to text from getLabelText(edu.mit.ai.psg.ui.outliner.OutlineNode) and getObjectText(edu.mit.ai.psg.ui.outliner.OutlineNode). Sets tooltip text from getToolTipText(edu.mit.ai.psg.ui.outliner.OutlineNode). Calls this.invalidate() to indicate text has changed sizes. (This must be overridden if labelComponent and objectComponent are set to something besides a JTextArea.)

isShowing

public boolean isShowing()
isShowing() returns true, as required by CellRendererPane
Overrides:
isShowing in class Component

computeLabelText

public String computeLabelText(OutlineNode node)
Override this method to tailor text for node label. This method:
Object label = node.getLabel();
return label == null ? "" : label.toString()+":  ";

computeObjectText

public String computeObjectText(OutlineNode node)
Override this method to tailor text for node tooltip. This method:
Object object = node.getObject();      
return object == null ? "null" : object.toString();

computeToolTipText

public String computeToolTipText(OutlineNode node)
Override this method to tailor text for node tooltip. This method:
return defaultToolTipText;

getLabelText

public String getLabelText(OutlineNode node)
get label text for node. To tailor text returned, override computeLabelText(edu.mit.ai.psg.ui.outliner.OutlineNode), which this method calls. (This method exists to enable derived classes to cache results.)

getObjectText

public String getObjectText(OutlineNode node)
get object text for node. To tailor text returned, override computeObjectText(edu.mit.ai.psg.ui.outliner.OutlineNode), which this method calls.

getToolTipText

public String getToolTipText(OutlineNode node)
get tool tip text for node. To tailor text returned, override computeToolTipText(edu.mit.ai.psg.ui.outliner.OutlineNode), which this method calls.

computeLabelText

public String computeLabelText(Object label)
Deprecated.  


computeObjectText

public String computeObjectText(Object object)
Deprecated.  


paint

public void paint(Graphics g)
Overrides:
paint in class JComponent

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu