gate.gui
Class SchemaAnnotationEditor

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bygate.creole.AbstractVisualResource
                      extended bygate.gui.SchemaAnnotationEditor
All Implemented Interfaces:
Accessible, AnnotationVisualResource, FeatureBearer, ImageObserver, MenuContainer, NameBearer, ResizableVisualResource, Resource, Serializable, VisualResource

public class SchemaAnnotationEditor
extends AbstractVisualResource
implements AnnotationVisualResource, ResizableVisualResource

This class is a viewer which adds/edits features on a GATE annotation. This viewer is AnnotationSchema driven.

See Also:
Serialized Form

Nested Class Summary
protected  class SchemaAnnotationEditor.FeaturesTableModel
           
(package private)  class SchemaAnnotationEditor.InnerFeaturesEditor
          This inner class deals with the feature type being eddited.
(package private)  class SchemaAnnotationEditor.RowData
          Internal class used in the inner FeaturesTableModel class
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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
(package private)  JButton addFeatButton
          This button does the opposite of the above
(package private)  JComboBox annotSchemaComboBox
          Displays all possible annotation schema loaded into the system
(package private)  Annotation currentAnnot
          The curent annotation used by the editor
(package private)  List currentAnnotationSchemaList
          The annotation schema present into the system
(package private)  FeatureMap currentAnnotFeaturesMap
          The current FeatureMap used by the editor
(package private)  AnnotationSchema currentAnnotSchema
          This is the currentAnnotSchema being used by the editor
(package private)  AnnotationSet currentAnnotSet
          The curent annotation set used by the editor
(package private)  Long currentEndOffset
          The end offset of the span covered by the currentAnnot
(package private)  Long currentStartOffset
          The start offset of the span covered by the currentAnnot
(package private)  JList featureSchemaList
          Displays all possible features of the annotation being editted (taken from AnnotationSchema)
(package private)  SchemaAnnotationEditor.InnerFeaturesEditor featuresEditor
          This inner class deals with feature editting
(package private)  JScrollPane featuresListScroll
          A JScroll for the featuresTable component
(package private)  JTable featuresTable
          Displays the current features of the annotation being editted
(package private)  JScrollPane featuresTableScroll
          A JScroll for the featuresTable component
(package private)  DefaultListModel listModel
          A list model used to represent the features not assigned to an annot
(package private)  Map name2annotSchemaMap
          A map from annotation type to its AnnotationSchema definition
(package private)  Map name2featureSchemaMap
          A map from feature name to its FeatureSchema definition
(package private)  JButton removeFeatButton
          This button removes current features and add them to possible feature list
(package private)  FeatureMap responseMap
          This field is returned when a featureMap was editted or created
(package private)  SchemaAnnotationEditor.FeaturesTableModel tableModel
          This field is the table model used to represent features
 
Fields inherited from class gate.creole.AbstractVisualResource
features
 
Fields inherited from class javax.swing.JPanel
 
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
SchemaAnnotationEditor()
          Default constructor
 
Method Summary
protected  void buildGuiComponents()
          This method creates the GUI components and places them into the layout
 void cancelAction()
          Called by the GUI when the user has pressed the "Cancel" button.
 boolean canDisplayAnnotationType(String annotationType)
          Checks whether this viewer/editor can handle a specific annotation type.
private  void doAddFeature(String aFeatureName)
          This method adds a feature from the list to the table
private  void doAddFeatures()
          This method adds features from the list to the table
private  void doRemoveFeature(int rowIndex)
          This removes the feature @ rowIndex
private  void doRemoveFeatures()
          This method remove a feature from the table and adds it to the list
protected  void initGuiComponents()
          Init GUI components with values taken from local data
protected  void initListeners()
          Init all the listeners
protected  void initLocalData()
          Init local data needed by the GUI components to initialize
 void okAction()
          Called by the GUI when the user has pressed the "OK" button.
 void setAnnotation(Annotation ann)
          Used when the viewer/editor has to display/edit an existing annotation
 void setSpan(Long startOffset, Long endOffset, String annotType)
          Used when the viewer has to create new annotations.
 void setTarget(Object target)
          Called by the GUI when this viewer/editor has to initialise itself for a specific annotation or text span.
 
Methods inherited from class gate.creole.AbstractVisualResource
cleanup, getFeatures, getParameterValue, init, setFeatures, setHandle, setParameterValue, setParameterValues
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, 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, removeNotify, 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, 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, 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, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gate.VisualResource
setHandle
 
Methods inherited from interface gate.Resource
cleanup, getParameterValue, init, setParameterValue, setParameterValues
 
Methods inherited from interface gate.util.FeatureBearer
getFeatures, setFeatures
 
Methods inherited from interface gate.util.NameBearer
getName, setName
 

Field Detail

currentAnnotationSchemaList

List currentAnnotationSchemaList
The annotation schema present into the system


currentAnnotSet

AnnotationSet currentAnnotSet
The curent annotation set used by the editor


currentAnnot

Annotation currentAnnot
The curent annotation used by the editor


currentStartOffset

Long currentStartOffset
The start offset of the span covered by the currentAnnot


currentEndOffset

Long currentEndOffset
The end offset of the span covered by the currentAnnot


currentAnnotSchema

AnnotationSchema currentAnnotSchema
This is the currentAnnotSchema being used by the editor


currentAnnotFeaturesMap

FeatureMap currentAnnotFeaturesMap
The current FeatureMap used by the editor


responseMap

FeatureMap responseMap
This field is returned when a featureMap was editted or created


tableModel

SchemaAnnotationEditor.FeaturesTableModel tableModel
This field is the table model used to represent features


name2featureSchemaMap

Map name2featureSchemaMap
A map from feature name to its FeatureSchema definition


name2annotSchemaMap

Map name2annotSchemaMap
A map from annotation type to its AnnotationSchema definition


listModel

DefaultListModel listModel
A list model used to represent the features not assigned to an annot


featuresTable

JTable featuresTable
Displays the current features of the annotation being editted


featuresTableScroll

JScrollPane featuresTableScroll
A JScroll for the featuresTable component


featureSchemaList

JList featureSchemaList
Displays all possible features of the annotation being editted (taken from AnnotationSchema)


featuresListScroll

JScrollPane featuresListScroll
A JScroll for the featuresTable component


removeFeatButton

JButton removeFeatButton
This button removes current features and add them to possible feature list


addFeatButton

JButton addFeatButton
This button does the opposite of the above


annotSchemaComboBox

JComboBox annotSchemaComboBox
Displays all possible annotation schema loaded into the system


featuresEditor

SchemaAnnotationEditor.InnerFeaturesEditor featuresEditor
This inner class deals with feature editting

Constructor Detail

SchemaAnnotationEditor

public SchemaAnnotationEditor()
Default constructor

Method Detail

setTarget

public void setTarget(Object target)
Called by the GUI when this viewer/editor has to initialise itself for a specific annotation or text span.

Specified by:
setTarget in interface AnnotationVisualResource
Overrides:
setTarget in class AbstractVisualResource
Parameters:
target - the object which will always be a AnnotationSet

setAnnotation

public void setAnnotation(Annotation ann)
Used when the viewer/editor has to display/edit an existing annotation

Specified by:
setAnnotation in interface AnnotationVisualResource
Parameters:
ann - the annotation to be displayed or edited. If ann is null then the method simply returns

setSpan

public void setSpan(Long startOffset,
                    Long endOffset,
                    String annotType)
Used when the viewer has to create new annotations.

Specified by:
setSpan in interface AnnotationVisualResource
Parameters:
startOffset - the start offset of the span covered by the new annotation(s). If is null the method will simply return.
endOffset - the end offset of the span covered by the new annotation(s). If is null the method will simply return.

okAction

public void okAction()
              throws GateException
Called by the GUI when the user has pressed the "OK" button. This should trigger the saving of the newly created annotation(s)

Specified by:
okAction in interface AnnotationVisualResource
Throws:
GateException

cancelAction

public void cancelAction()
                  throws GateException
Description copied from interface: AnnotationVisualResource
Called by the GUI when the user has pressed the "Cancel" button. This should trigger cleaning up action, if the editor has done any changes to the annotation sets or document or annotation

Specified by:
cancelAction in interface AnnotationVisualResource
Throws:
GateException

canDisplayAnnotationType

public boolean canDisplayAnnotationType(String annotationType)
Checks whether this viewer/editor can handle a specific annotation type.

Specified by:
canDisplayAnnotationType in interface AnnotationVisualResource
Parameters:
annotationType - represents the annotation type being questioned.If it is null then the method will return false.
Returns:
true if the SchemaAnnotationEditor can handle the annotationType or false otherwise.

initLocalData

protected void initLocalData()
Init local data needed by the GUI components to initialize


buildGuiComponents

protected void buildGuiComponents()
This method creates the GUI components and places them into the layout


initGuiComponents

protected void initGuiComponents()
Init GUI components with values taken from local data


initListeners

protected void initListeners()
Init all the listeners


doRemoveFeatures

private void doRemoveFeatures()
This method remove a feature from the table and adds it to the list


doRemoveFeature

private void doRemoveFeature(int rowIndex)
This removes the feature @ rowIndex


doAddFeatures

private void doAddFeatures()
This method adds features from the list to the table


doAddFeature

private void doAddFeature(String aFeatureName)
This method adds a feature from the list to the table