gnu.iou.sh
Class shell

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--gnu.iou.sh.shell
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable

public class shell
extends javax.swing.JPanel
implements java.lang.Runnable

An extensible interpreter pane requires a plugin for an interpreter.

Author:
John Pritchard (john@syntelos.org)
See Also:
Serialized Form

Inner Class Summary
static interface shell.plugin
          The shell will call on an interpretor with this interface.
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  javax.swing.JLabel status
           
 
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
shell(javax.swing.border.Border border, shell.plugin interp)
          Construct a new GUI for the interpreter plugin with a border.
shell(javax.swing.border.Border border, shell.plugin interp, int rows, int columns)
          Construct a new GUI for the interpreter plugin with fixed dimensions and an optional border.
shell(shell.plugin interp)
          Construct a new GUI for the interpreter plugin, no border.
shell(shell.plugin interp, int rows, int columns)
          Construct a new GUI for the interpreter plugin with fixed dimensions, no border.
shell(java.lang.String classname)
          Construct a new GUI for the interpreter plugin, no border.
 
Method Summary
protected static shell.plugin create(java.lang.String classname)
          Instantiate plugin dynamically from classname.
static void main(java.lang.String[] argv)
          Command line function creates a frame UI.
 void resume()
           
 void run()
          Run the interpreter.
 void start()
          Create and start thread for this shell.
 void status_reset()
          Set status label to interp user version string.
 java.lang.String status()
          Get status label text.
 void status(java.lang.String msg)
          Set status label text.
 void stop()
           
 void suspend()
           
 java.lang.String userVersion()
          The interpreter's version string for the UI.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

status

protected javax.swing.JLabel status
Constructor Detail

shell

public shell(java.lang.String classname)
Construct a new GUI for the interpreter plugin, no border.
Parameters:
classname - Interpreter plugin class name.

shell

public shell(shell.plugin interp)
Construct a new GUI for the interpreter plugin, no border.
Parameters:
interp - Interpreter plugin.

shell

public shell(javax.swing.border.Border border,
             shell.plugin interp)
Construct a new GUI for the interpreter plugin with a border.
Parameters:
interp - Interpreter plugin.
border - Set this border on this pane.

shell

public shell(shell.plugin interp,
             int rows,
             int columns)
Construct a new GUI for the interpreter plugin with fixed dimensions, no border.
Parameters:
interp - Interpreter plugin.
rows - Number of rows in text area.
columns - Number of columns in text area.

shell

public shell(javax.swing.border.Border border,
             shell.plugin interp,
             int rows,
             int columns)
Construct a new GUI for the interpreter plugin with fixed dimensions and an optional border.
Parameters:
border - Optional border around this panel.
interp - Interpreter plugin.
rows - Number of rows in text area.
columns - Number of columns in text area.
Method Detail

create

protected static final shell.plugin create(java.lang.String classname)
Instantiate plugin dynamically from classname. The class has a public, simple (no args) constructor.
Parameters:
classname - Fully qualified name of a class implementing the `shell.plugin' interface.

userVersion

public java.lang.String userVersion()
The interpreter's version string for the UI.

run

public void run()
Run the interpreter.
Specified by:
run in interface java.lang.Runnable

status

public java.lang.String status()
Get status label text.

status

public void status(java.lang.String msg)
Set status label text.

status_reset

public void status_reset()
Set status label to interp user version string.

start

public void start()
Create and start thread for this shell.

stop

public void stop()

suspend

public void suspend()

resume

public void resume()

main

public static final void main(java.lang.String[] argv)
Command line function creates a frame UI. Requires "plugin" classname argument.