edu.stanford.smi.protegex.owl.ui.code
Class SymbolTextArea

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.text.JTextComponent
                  extended byjavax.swing.JTextArea
                      extended byedu.stanford.smi.protegex.owl.ui.code.SymbolTextArea
All Implemented Interfaces:
Accessible, EventListener, ImageObserver, KeyListener, MenuContainer, Scrollable, Serializable, SymbolEditor
Direct Known Subclasses:
OWLTextArea, SWRLTextArea

public abstract class SymbolTextArea
extends JTextArea
implements KeyListener, SymbolEditor

A remake of OWLTextField, but with JTextArea as base class.

Author:
Holger Knublauch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTextArea
JTextArea.AccessibleJTextArea
 
Nested classes inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.KeyBinding
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  CellEditor cellEditor
           
private  JComboBox comboBox
           
private  SymbolErrorDisplay errorDisplay
           
private  OWLModel owlModel
           
private  KeyEvent previousKeyPressed
           
private  ResourceNameMatcher resourceNameMatcher
           
private  SyntaxConverter syntaxConverter
           
 
Fields inherited from class javax.swing.JTextArea
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
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.Container
 
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
SymbolTextArea(OWLModel kb, SymbolErrorDisplay errorDisplay, ResourceNameMatcher resourceNameMatcher, SyntaxConverter syntaxConverter)
           
 
Method Summary
private  void acceptSelectedFrame()
           
 void assignExpression()
          Ends the editing process and assigns the expression.
 void backspace()
          Performs a backspace operation.
 void cancelEditing()
          Cancels the editing process without assigning a value.
protected abstract  void checkUniCodeExpression(String text)
          Used for error checking during input.
private  void closeComboBox()
           
 void displayError()
          Checks the syntax of the current input and displays the error.
private  void extendPartialName(boolean autoInsert)
           
private  void extendPartialName(String prefix, String fullName)
           
 String getIndentedClsString(OWLNAryLogicalClass cls, String indentation)
           
protected  OWLModel getOWLModel()
           
private  int getXOfPosition(int pos)
          Gets the x (pixel) position of the start of a given character in the text.
private  boolean handleDown()
           
(package private)  boolean handleEnter()
           
private  void handleEscape()
           
private  boolean handleUp()
           
 void insertText(String text)
          Inserts some text at the caret position.
 void insertText(String text, int caretOffset)
          Inserts some text at the caret position and specifies the new caret position within the inserted text.
private  boolean isComboBoxVisible()
           
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
           
private  void perhapsUpdateSyntax(KeyEvent e)
           
private  void refreshComboBox()
           
(package private)  void replaceText(String text)
           
 void setCellEditor(CellEditor cellEditor)
          Establishs the reference from the TextField to the CellEditor that owns it.
private  void showComboBox(List frames, int startIndex)
           
private  void updateErrorDisplay()
           
 
Methods inherited from class javax.swing.JTextArea
append, createDefaultModel, getAccessibleContext, getColumns, getColumnWidth, getLineCount, getLineEndOffset, getLineOfOffset, getLineStartOffset, getLineWrap, getPreferredScrollableViewportSize, getPreferredSize, getRowHeight, getRows, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getTabSize, getUIClassID, getWrapStyleWord, insert, paramString, replaceRange, setColumns, setFont, setLineWrap, setRows, setTabSize, setWrapStyleWord
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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
 
Methods inherited from interface edu.stanford.smi.protegex.owl.ui.code.SymbolEditor
getText
 

Field Detail

cellEditor

private CellEditor cellEditor

comboBox

private JComboBox comboBox

errorDisplay

private SymbolErrorDisplay errorDisplay

resourceNameMatcher

private ResourceNameMatcher resourceNameMatcher

owlModel

private OWLModel owlModel

previousKeyPressed

private KeyEvent previousKeyPressed

syntaxConverter

private SyntaxConverter syntaxConverter
Constructor Detail

SymbolTextArea

public SymbolTextArea(OWLModel kb,
                      SymbolErrorDisplay errorDisplay,
                      ResourceNameMatcher resourceNameMatcher,
                      SyntaxConverter syntaxConverter)
Method Detail

acceptSelectedFrame

private void acceptSelectedFrame()

assignExpression

public void assignExpression()
Description copied from interface: SymbolEditor
Ends the editing process and assigns the expression. If the expression is invalid, then it calls displayError.

Specified by:
assignExpression in interface SymbolEditor

backspace

public void backspace()
Description copied from interface: SymbolEditor
Performs a backspace operation.

Specified by:
backspace in interface SymbolEditor

cancelEditing

public void cancelEditing()
Description copied from interface: SymbolEditor
Cancels the editing process without assigning a value.

Specified by:
cancelEditing in interface SymbolEditor

checkUniCodeExpression

protected abstract void checkUniCodeExpression(String text)
                                        throws Throwable
Used for error checking during input.

Parameters:
text -
Throws:
Throwable - ParseExceptions etc.

closeComboBox

private void closeComboBox()

displayError

public void displayError()
Description copied from interface: SymbolEditor
Checks the syntax of the current input and displays the error.

Specified by:
displayError in interface SymbolEditor

extendPartialName

private void extendPartialName(String prefix,
                               String fullName)

extendPartialName

private void extendPartialName(boolean autoInsert)

getIndentedClsString

public String getIndentedClsString(OWLNAryLogicalClass cls,
                                   String indentation)

getOWLModel

protected OWLModel getOWLModel()

getXOfPosition

private int getXOfPosition(int pos)
Gets the x (pixel) position of the start of a given character in the text.

Parameters:
pos - the character position
Returns:
the pixel position

handleDown

private boolean handleDown()

handleEnter

boolean handleEnter()

handleEscape

private void handleEscape()

handleUp

private boolean handleUp()

insertText

public void insertText(String text)
Description copied from interface: SymbolEditor
Inserts some text at the caret position.

Specified by:
insertText in interface SymbolEditor
Parameters:
text - the text to insert

insertText

public void insertText(String text,
                       int caretOffset)
Description copied from interface: SymbolEditor
Inserts some text at the caret position and specifies the new caret position within the inserted text.

Specified by:
insertText in interface SymbolEditor
Parameters:
text - the text to insert
caretOffset - the caret offset within the text

isComboBoxVisible

private boolean isComboBoxVisible()

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)
Specified by:
keyTyped in interface KeyListener

perhapsUpdateSyntax

private void perhapsUpdateSyntax(KeyEvent e)

refreshComboBox

private void refreshComboBox()

replaceText

void replaceText(String text)

setCellEditor

public void setCellEditor(CellEditor cellEditor)
Establishs the reference from the TextField to the CellEditor that owns it. This must be called after the CellEditor has been created. The reference can not be passed in the constructor of this, because the constructor of DefaultCellEditor already takes a JTextField as argument, so it has to be there before the DefaultCellEditor can be created.

Parameters:
cellEditor - the CellEditor

showComboBox

private void showComboBox(List frames,
                          int startIndex)

updateErrorDisplay

private void updateErrorDisplay()