Package ptolemy.gui
Class ShellTextArea
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ptolemy.gui.ShellTextArea
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
public class ShellTextArea extends javax.swing.JPanelA text area supporting shell-style interactions.- Since:
- Ptolemy II 3.0
- Version:
- $Id$
- Author:
- John Reekie, Christopher Hylands, Edward A. Lee
- See Also:
- Serialized Form
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
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
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringcontPromptPrompt to use on continuation lines.inthistoryLengthSize of the history to keep.java.lang.StringmainPromptMain prompt.-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description ShellTextArea()Create a new instance with no initial message.ShellTextArea(java.lang.String initialMessage)Create a new instance with the specified initial message.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNotify()Override the base class to output the first prompt.voidappendJTextArea(java.lang.String text)Append the specified text to the JTextArea and update the prompt cursor.voidclearJTextArea()Clear the JTextArea and reset the prompt cursor.ShellInterpretergetInterpreter()Get the interpreter that has been registered with setInterpreter().voidinitialize(java.lang.String initialMessage)Initialize the text area with the given starting message, followed by a prompt.static voidmain(java.lang.String[] args)Main method used for testing.voidreplaceRangeJTextArea(java.lang.String text, int start, int end)Replace a range in the JTextArea.voidreturnResult(java.lang.String result)Return the result of a command evaluation.voidsetEditable(boolean editable)Set the associated text area editable (with a true argument) or not editable (with a false argument).voidsetInterpreter(ShellInterpreter interpreter)Set the interpreter.-
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, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, 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, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
addNotify
public void addNotify()
Override the base class to output the first prompt. We need to do this here because we can't write to the TextArea until the peer has been created.- Overrides:
addNotifyin classjavax.swing.JComponent
-
appendJTextArea
public void appendJTextArea(java.lang.String text)
Append the specified text to the JTextArea and update the prompt cursor. The text will actually be appended in the swing thread, not immediately. This method immediately returns.- Parameters:
text- The text to append to the text area.
-
clearJTextArea
public void clearJTextArea()
Clear the JTextArea and reset the prompt cursor. The clearing is done in the swing thread, not immediately. This method immediately returns.
-
getInterpreter
public ShellInterpreter getInterpreter()
Get the interpreter that has been registered with setInterpreter().- Returns:
- The interpreter, or null if none has been set.
- See Also:
setInterpreter(ShellInterpreter)
-
initialize
public void initialize(java.lang.String initialMessage)
Initialize the text area with the given starting message, followed by a prompt. If the argument is null or the empty string, then only a prompt is shown.- Parameters:
initialMessage- The initial message.
-
main
public static void main(java.lang.String[] args)
Main method used for testing. To run a simple test, use:java -classpath $PTII ptolemy.gui.ShellTextArea- Parameters:
args- Currently ignored.
-
replaceRangeJTextArea
public void replaceRangeJTextArea(java.lang.String text, int start, int end)Replace a range in the JTextArea.- Parameters:
text- The text with which the JTextArea is updated.start- The start index.end- The end index.
-
returnResult
public void returnResult(java.lang.String result)
Return the result of a command evaluation. This method is used when it is impractical to insist on the result being returned by evaluateCommand() of a ShellInterpreter. For example, computing the result may take a while.- Parameters:
result- The result to return.
-
setEditable
public void setEditable(boolean editable)
Set the associated text area editable (with a true argument) or not editable (with a false argument). This should be called in the swing event thread.- Parameters:
editable- True to make the text area editable, false to make it uneditable.
-
setInterpreter
public void setInterpreter(ShellInterpreter interpreter)
Set the interpreter.- Parameters:
interpreter- The interpreter.- See Also:
getInterpreter()
-
-