Jatha Software

org.jatha.display
Class LispInput

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.jatha.display.LispInput
All Implemented Interfaces:
ActionListener, KeyListener, ImageObserver, MenuContainer, Serializable, Runnable, EventListener, Accessible

 class LispInput
extends JPanel
implements Runnable, ActionListener, KeyListener

LispInput is a text field that does parenthesis matching and sends its input off to a Lisp Evaluator.

See Also:
TextField

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Color bgColor
           
static boolean DEBUG
           
protected  Highlighter.HighlightPainter f_badPainter
           
protected  int f_commandMultiplier
           
protected  Font f_defaultFont
           
protected  int f_defaultNumberOfInputLines
          Edit this to change the size of the input area.
(package private)  JButton f_evalButton
           
protected  boolean f_firstCharOfCommand
           
protected  boolean f_flashing
           
protected  Highlighter.HighlightPainter f_goodPainter
           
protected  Integer f_highlightLock
           
protected  List f_highlights
           
protected  String f_input
           
protected  JTextArea f_inputArea
           
(package private)  JButton f_largerAreaButton
           
protected  String f_lastCommand
           
private  Jatha f_lisp
           
protected  int f_matchingPosition
           
protected  Graphics f_myGraphics
           
protected  Thread f_myThread
           
protected  Listener f_parent
           
protected  String f_saveBuffer
           
(package private)  JButton f_smallerAreaButton
           
protected  Color fgColor
           
protected  int fontHeight
           
protected  FontMetrics fontInfo
           
protected  int fontWidth
           
protected  int hFudge
           
protected  int vFudge
           
 
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
LispInput(Jatha lisp, Listener parent, int rows, int cols)
           
 
Method Summary
 void actionPerformed(ActionEvent e)
           
 void addBadHighlight(int start, int end)
           
 void addGoodHighlight(int start, int end)
           
 void addHighlight(int start, int end, Highlighter.HighlightPainter painter)
           
 void clearHighlights()
           
(package private)  void eraseLastCharTyped()
           
 void eval(LispValue input)
          Input should be a LispString.
 void eval(String inputString)
          Input should be a regular string, which is parsed and evaluated.
 int getColumns()
           
 int getRows()
           
 String getText()
           
(package private)  boolean handleEmacsCommand(KeyEvent e)
          Returns true if no further event handling is necessary.
 void incrementEditorLines(int increment)
           
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
          Implements parenthesis matching
(package private)  String killToEndOfLine()
           
(package private)  void restoreText()
           
 void run()
           
(package private)  void saveText(String s)
           
 void selectAll()
           
 void setColumns(int newValue)
           
 void setFontInfo()
           
 void setRows(int newValue)
           
 void setText(String newText)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEBUG

public static boolean DEBUG

f_inputArea

protected JTextArea f_inputArea

f_matchingPosition

protected int f_matchingPosition

f_flashing

protected boolean f_flashing

f_myThread

protected Thread f_myThread

f_myGraphics

protected Graphics f_myGraphics

f_input

protected String f_input

f_largerAreaButton

JButton f_largerAreaButton

f_smallerAreaButton

JButton f_smallerAreaButton

f_evalButton

JButton f_evalButton

fontInfo

protected FontMetrics fontInfo

fontWidth

protected int fontWidth

fontHeight

protected int fontHeight

fgColor

protected Color fgColor

bgColor

protected Color bgColor

hFudge

protected int hFudge

vFudge

protected int vFudge

f_parent

protected Listener f_parent

f_saveBuffer

protected String f_saveBuffer

f_lastCommand

protected String f_lastCommand

f_firstCharOfCommand

protected boolean f_firstCharOfCommand

f_commandMultiplier

protected int f_commandMultiplier

f_defaultFont

protected Font f_defaultFont

f_goodPainter

protected Highlighter.HighlightPainter f_goodPainter

f_badPainter

protected Highlighter.HighlightPainter f_badPainter

f_highlights

protected List f_highlights

f_highlightLock

protected Integer f_highlightLock

f_defaultNumberOfInputLines

protected int f_defaultNumberOfInputLines
Edit this to change the size of the input area. (mh) 2005 Nov 06


f_lisp

private Jatha f_lisp
Constructor Detail

LispInput

public LispInput(Jatha lisp,
                 Listener parent,
                 int rows,
                 int cols)
Method Detail

setFontInfo

public void setFontInfo()

eval

public void eval(String inputString)
Input should be a regular string, which is parsed and evaluated.


eval

public void eval(LispValue input)
Input should be a LispString.

Parameters:
input - a LispString containing a command.

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener

incrementEditorLines

public void incrementEditorLines(int increment)

keyPressed

public void keyPressed(KeyEvent e)
Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent e)
Specified by:
keyReleased in interface KeyListener

keyTyped

public void keyTyped(KeyEvent e)
Implements parenthesis matching

Specified by:
keyTyped in interface KeyListener

handleEmacsCommand

boolean handleEmacsCommand(KeyEvent e)
Returns true if no further event handling is necessary.


eraseLastCharTyped

void eraseLastCharTyped()

killToEndOfLine

String killToEndOfLine()

saveText

void saveText(String s)

restoreText

void restoreText()

run

public void run()
Specified by:
run in interface Runnable

getText

public String getText()

setText

public void setText(String newText)

selectAll

public void selectAll()

getColumns

public int getColumns()

setColumns

public void setColumns(int newValue)

setRows

public void setRows(int newValue)

getRows

public int getRows()

addGoodHighlight

public void addGoodHighlight(int start,
                             int end)

addBadHighlight

public void addBadHighlight(int start,
                            int end)

addHighlight

public void addHighlight(int start,
                         int end,
                         Highlighter.HighlightPainter painter)

clearHighlights

public void clearHighlights()

Jatha Software