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

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

public abstract class SymbolTextField
extends JTextField
implements KeyListener, SymbolEditor

A JTextField with special support for editing expressions in languages like the OWL compact syntax or SWRL. This is prepared to be used as a CellEditor for tables (e.g., the RestrictionsTable).

Author:
Holger Knublauch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
 
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  JComboBox comboBox
           
private  SymbolEditorHandler editorHandler
           
private  SymbolErrorDisplay errorDisplay
           
private  boolean inSaveTestMode
           
private  OWLModel owlModel
           
private  KeyEvent previousKeyPressed
           
private  ResourceNameMatcher resourceNameMatcher
           
static int SCALABLE_FRAME_COUNT
           
private  SyntaxConverter syntaxConverter
           
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SymbolTextField(OWLModel kb, SymbolErrorDisplay errorDisplay, ResourceNameMatcher resourceNameMatcher, SyntaxConverter syntaxConverter)
           
 
Method Summary
private  void acceptSelectedResource()
           
 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)
           
protected  OWLModel getOWLModel()
           
private  int getXOfPosition(int pos)
          Gets the x (pixel) position of the start of a given character in the text.
private  void handleDown()
           
protected  void handleEnter()
           
private  void handleEscape()
           
private  void 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()
           
static boolean isIdChar(char ch)
           
protected  boolean isInSaveTestMode()
           
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
           
private  void perhapsConvertSyntax(KeyEvent e)
           
private  void refreshComboBox()
           
(package private)  void replaceText(String text)
           
 void setSymbolEditorHandler(SymbolEditorHandler editorHandler)
           
private  void showComboBox(List frames, int startIndex)
           
protected  void stopEditing()
           
private  void updateErrorDisplay()
           
protected  void updateSyntax()
           
 
Methods inherited from class javax.swing.JTextField
addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, 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, 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, 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, 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

editorHandler

private SymbolEditorHandler editorHandler

comboBox

private JComboBox comboBox

errorDisplay

private SymbolErrorDisplay errorDisplay

resourceNameMatcher

private ResourceNameMatcher resourceNameMatcher

owlModel

private OWLModel owlModel

previousKeyPressed

private KeyEvent previousKeyPressed

SCALABLE_FRAME_COUNT

public static final int SCALABLE_FRAME_COUNT
See Also:
Constant Field Values

syntaxConverter

private SyntaxConverter syntaxConverter

inSaveTestMode

private boolean inSaveTestMode
Constructor Detail

SymbolTextField

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

acceptSelectedResource

private void acceptSelectedResource()

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.

isInSaveTestMode

protected boolean isInSaveTestMode()

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)

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 void handleDown()

handleEnter

protected void handleEnter()

handleEscape

private void handleEscape()

handleUp

private void 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()

isIdChar

public static boolean isIdChar(char ch)

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

perhapsConvertSyntax

private void perhapsConvertSyntax(KeyEvent e)

refreshComboBox

private void refreshComboBox()

replaceText

void replaceText(String text)

setSymbolEditorHandler

public void setSymbolEditorHandler(SymbolEditorHandler editorHandler)

showComboBox

private void showComboBox(List frames,
                          int startIndex)

stopEditing

protected void stopEditing()

updateErrorDisplay

private void updateErrorDisplay()

updateSyntax

protected void updateSyntax()