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.JPanel
A 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.String
contPrompt
Prompt to use on continuation lines.int
historyLength
Size of the history to keep.java.lang.String
mainPrompt
Main 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 void
addNotify()
Override the base class to output the first prompt.void
appendJTextArea(java.lang.String text)
Append the specified text to the JTextArea and update the prompt cursor.void
clearJTextArea()
Clear the JTextArea and reset the prompt cursor.ShellInterpreter
getInterpreter()
Get the interpreter that has been registered with setInterpreter().void
initialize(java.lang.String initialMessage)
Initialize the text area with the given starting message, followed by a prompt.static void
main(java.lang.String[] args)
Main method used for testing.void
replaceRangeJTextArea(java.lang.String text, int start, int end)
Replace a range in the JTextArea.void
returnResult(java.lang.String result)
Return the result of a command evaluation.void
setEditable(boolean editable)
Set the associated text area editable (with a true argument) or not editable (with a false argument).void
setInterpreter(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:
addNotify
in 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()
-
-