edu.stanford.smi.protegex.owl.ui.owltable
Class SymbolTable

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JTable
                  extended byedu.stanford.smi.protege.util.SelectableTable
                      extended byedu.stanford.smi.protegex.owl.ui.owltable.SymbolTable
All Implemented Interfaces:
Accessible, CellEditorListener, EventListener, ImageObserver, ListSelectionListener, MenuContainer, Scrollable, edu.stanford.smi.protege.util.Selectable, Serializable, TableColumnModelListener, TableModelListener, TripleSelectable
Direct Known Subclasses:
OWLTable, PropertyFormTable, SWRLTable

public abstract class SymbolTable
extends edu.stanford.smi.protege.util.SelectableTable
implements TripleSelectable

A JTable in which one column displays an expression in an expression language like the OWL compact syntax or SWRL.

Author:
Holger Knublauch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTable
JTable.AccessibleJTable
 
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  List actions
          The list of OWLTableAction objects that shall be disabled or enabled depending on the selected row
protected  OWLTableAction editAnnotationsAction
           
protected  OWLTableAction editMultiLineAction
           
static int INFINITE_TIME
           
private  OWLModel owlModel
           
private  SymbolCellEditor symbolCellEditor
           
private  SymbolEditorComponent symbolEditorComponent
           
private  SymbolPanel symbolPanel
           
private  SymbolTableModel tableModel
           
private  boolean withIcon
           
 
Fields inherited from class edu.stanford.smi.protege.util.SelectableTable
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader
 
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
SymbolTable(SymbolTableModel tableModel, OWLModel owlModel, boolean withIcon, SymbolPanel symbolPanel)
           
 
Method Summary
protected  void addNavigationMenuItems(RDFResource resource, JPopupMenu menu)
           
protected  void configureEnclosingScrollPane()
          Overloaded to prevent the creation of the table header.
protected  ResourceRenderer createOWLFrameRenderer()
           
protected  JPopupMenu createPopupMenu()
           
protected abstract  SymbolEditorComponent createSymbolEditorComponent(OWLModel model, SymbolErrorDisplay errorDisplay)
           
protected  void editAnnotations()
           
 boolean editCellAt(int row, int column, EventObject e)
           
 void editExpression(int row)
          Programmatically starts editing the OWL Expression of a given row.
protected  void editMultiLine()
           
protected abstract  String editMultiLine(RDFResource input)
           
 void enableActions()
           
protected  void enableActions(Collection actions)
           
 Clipboard getClipboard()
           
protected  Icon getDefaultCellEditorIcon(RDFResource RDFResource)
           
protected  Icon getIcon(RDFResource resource)
           
protected abstract  Collection getNavigationMenuItems(RDFResource RDFResource)
           
 ResourceRenderer getOWLFrameRenderer()
           
 OWLModel getOWLModel()
           
private  JLayeredPane getParentLayeredPane()
           
protected  int getPreferredRowHeight(JTable table, SymbolEditorComponent editorComponent)
           
 Dimension getPreferredSize()
           
 List getPrototypeTriples()
          Gets triples with an empty object or subject, indicating the typical values of this.
 RDFResource getSelectedOWLInstance()
          Deprecated. renamed to getSelectedResource
 RDFResource getSelectedResource()
           
 int[] getSelectedRows()
          Overloaded to treat a nasty Swing bug (returns sometimes values outside of range etc).
 List getSelectedTriples()
          Gets the selected triples in an order that is meaningful to the component.
protected  CellEditor getSymbolCellEditor()
           
 SymbolEditorComponent getSymbolEditorComponent()
           
protected  SymbolPanel getSymbolPanel()
           
protected  SymbolTableModel getSymbolTableModel()
           
 String getToolTipText(MouseEvent event)
           
protected abstract  String getToolTipText(RDFResource RDFResource)
           
 void hideSymbolPanel()
           
private  void initSymbolColumn()
           
private  void initSymbolColumnRenderer()
           
protected  boolean isTableHeaderHidden()
           
protected  void navigateTo(RDFResource resource)
           
 Component prepareEditor(TableCellEditor editor, int row, int column)
           
 Component prepareRenderer(TableCellRenderer renderer, int row, int column)
           
 void registerAction(OWLTableAction action)
          Registers a OWLTableAction so that it will be enabled or disabled in the future.
 void registerAction(OWLTableAction action, int index)
          Registers a OWLTableAction so that it will be enabled or disabled in the future.
 void registerActionSeparator()
          Inserts a separator behind the previously added action.
 void setModel(TableModel newModel)
           
 void setSelectedRow(int rowIndex)
           
 void setSelectedRow(RDFResource resource)
           
 void setSelectedRow(String browserText)
           
 void setSelectedTriples(Collection triples)
          Attempts to select given Triples in this.
protected  void showSymbolPanel(boolean errorFlag)
           
 
Methods inherited from class edu.stanford.smi.protege.util.SelectableTable
addSelectionListener, getSelection, notifySelectionListeners, removeSelectionListener, toString
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getEditingColumn, getEditingRow, getEditorComponent, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getUI, getUIClassID, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setEditingColumn, setEditingRow, setGridColor, setIntercellSpacing, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setValueAt, sizeColumnsToFit, sizeColumnsToFit, tableChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, 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, setFont, 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, 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, addInputMethodListener, 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, getInputMethodRequests, 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, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, 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.protege.util.Selectable
addSelectionListener, clearSelection, getSelection, notifySelectionListeners, removeSelectionListener
 

Field Detail

editAnnotationsAction

protected OWLTableAction editAnnotationsAction

editMultiLineAction

protected OWLTableAction editMultiLineAction

INFINITE_TIME

public static final int INFINITE_TIME
See Also:
Constant Field Values

owlModel

private OWLModel owlModel

symbolCellEditor

private SymbolCellEditor symbolCellEditor

symbolEditorComponent

private SymbolEditorComponent symbolEditorComponent

symbolPanel

private SymbolPanel symbolPanel

tableModel

private SymbolTableModel tableModel

actions

private List actions
The list of OWLTableAction objects that shall be disabled or enabled depending on the selected row


withIcon

private boolean withIcon
Constructor Detail

SymbolTable

public SymbolTable(SymbolTableModel tableModel,
                   OWLModel owlModel,
                   boolean withIcon,
                   SymbolPanel symbolPanel)
Method Detail

addNavigationMenuItems

protected void addNavigationMenuItems(RDFResource resource,
                                      JPopupMenu menu)

getSymbolEditorComponent

public SymbolEditorComponent getSymbolEditorComponent()

getNavigationMenuItems

protected abstract Collection getNavigationMenuItems(RDFResource RDFResource)

configureEnclosingScrollPane

protected void configureEnclosingScrollPane()
Overloaded to prevent the creation of the table header. Found at CodeGuru.


createOWLFrameRenderer

protected ResourceRenderer createOWLFrameRenderer()

createPopupMenu

protected JPopupMenu createPopupMenu()

createSymbolEditorComponent

protected abstract SymbolEditorComponent createSymbolEditorComponent(OWLModel model,
                                                                     SymbolErrorDisplay errorDisplay)

editAnnotations

protected void editAnnotations()

editCellAt

public boolean editCellAt(int row,
                          int column,
                          EventObject e)

editExpression

public void editExpression(int row)
Programmatically starts editing the OWL Expression of a given row.


editMultiLine

protected void editMultiLine()

editMultiLine

protected abstract String editMultiLine(RDFResource input)

enableActions

public void enableActions()

enableActions

protected void enableActions(Collection actions)

getClipboard

public Clipboard getClipboard()

getPreferredSize

public Dimension getPreferredSize()

getOWLFrameRenderer

public ResourceRenderer getOWLFrameRenderer()

getOWLModel

public OWLModel getOWLModel()

getParentLayeredPane

private JLayeredPane getParentLayeredPane()

getPrototypeTriples

public List getPrototypeTriples()
Description copied from interface: TripleSelectable
Gets triples with an empty object or subject, indicating the typical values of this. For example, if this component displays the rdfs:comment of the resource Person, then the result would be the Triple (Person, rdfs:comment, null).

Specified by:
getPrototypeTriples in interface TripleSelectable
Returns:
a List of Triples

getSelectedResource

public RDFResource getSelectedResource()

getSelectedRows

public int[] getSelectedRows()
Overloaded to treat a nasty Swing bug (returns sometimes values outside of range etc).

Returns:
the (valid) indices of the selected values

getSelectedOWLInstance

public RDFResource getSelectedOWLInstance()
Deprecated. renamed to getSelectedResource

See Also:
getSelectedResource()

getSelectedTriples

public List getSelectedTriples()
Description copied from interface: TripleSelectable
Gets the selected triples in an order that is meaningful to the component.

Specified by:
getSelectedTriples in interface TripleSelectable
Returns:
a List of Triples

getSymbolCellEditor

protected CellEditor getSymbolCellEditor()

getSymbolPanel

protected SymbolPanel getSymbolPanel()

getSymbolTableModel

protected SymbolTableModel getSymbolTableModel()

getToolTipText

public String getToolTipText(MouseEvent event)

getToolTipText

protected abstract String getToolTipText(RDFResource RDFResource)

hideSymbolPanel

public void hideSymbolPanel()

getPreferredRowHeight

protected int getPreferredRowHeight(JTable table,
                                    SymbolEditorComponent editorComponent)

initSymbolColumn

private void initSymbolColumn()

getIcon

protected Icon getIcon(RDFResource resource)

getDefaultCellEditorIcon

protected Icon getDefaultCellEditorIcon(RDFResource RDFResource)

initSymbolColumnRenderer

private void initSymbolColumnRenderer()

isTableHeaderHidden

protected boolean isTableHeaderHidden()

navigateTo

protected void navigateTo(RDFResource resource)

prepareEditor

public Component prepareEditor(TableCellEditor editor,
                               int row,
                               int column)

prepareRenderer

public Component prepareRenderer(TableCellRenderer renderer,
                                 int row,
                                 int column)

registerAction

public void registerAction(OWLTableAction action)
Registers a OWLTableAction so that it will be enabled or disabled in the future. This will set the Action to disabled by default, because initially, the table does not have a row selected.

Parameters:
action - the Action to register

registerAction

public void registerAction(OWLTableAction action,
                           int index)
Registers a OWLTableAction so that it will be enabled or disabled in the future. This will set the Action to disabled by default, because initially, the table does not have a row selected.

Parameters:
action - the Action to register
index - the index in the context menu

registerActionSeparator

public void registerActionSeparator()
Inserts a separator behind the previously added action. This separator will display in the popup menu of the selected class.


setModel

public void setModel(TableModel newModel)

setSelectedRow

public void setSelectedRow(RDFResource resource)

setSelectedRow

public void setSelectedRow(String browserText)

setSelectedRow

public void setSelectedRow(int rowIndex)

setSelectedTriples

public void setSelectedTriples(Collection triples)
Description copied from interface: TripleSelectable
Attempts to select given Triples in this. The method may just do nothing if none of the triple is not shown.

Specified by:
setSelectedTriples in interface TripleSelectable
Parameters:
triples - the Triples to show

showSymbolPanel

protected void showSymbolPanel(boolean errorFlag)