gate.gui.docview
Class AnnotationStack

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 gate.gui.docview.AnnotationStack
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class AnnotationStack
extends JPanel

Stack of annotations in a JPanel.

To use, respect this order:
AnnotationStack stackPanel = new AnnotationStack(...);
stackPanel.set...(...);
stackPanel.clearAllRows();
stackPanel.addRow(...);
stackPanel.addAnnotation(...);
stackPanel.drawStack();

See Also:
Serialized Form

Nested Class Summary
static class AnnotationStack.StackMouseListener
          Extension of a MouseInputAdapter that adds a method to create new Listeners from it.
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int CROP_END
           
static int CROP_MIDDLE
           
static int CROP_START
           
 
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
AnnotationStack()
           
AnnotationStack(int maxTextLength, int maxFeatureValueLength)
           
 
Method Summary
 void addAnnotation(Annotation annotation)
          Add an annotation to the current stack row.
 void addAnnotation(int startOffset, int endOffset, String type, FeatureMap features)
          Add an annotation to the current stack row.
 void addRow(String set, String type, String feature, JButton lastColumnButton, String shortcut, int crop)
          Add a row to the annotation stack.
 void clearAllRows()
          Clear all rows in the stack.
 void drawStack()
          Draw the annotation stack in a JPanel with a GridBagLayout.
 void setAnnotationMouseListener(AnnotationStack.StackMouseListener annotationMouseListener)
           
 void setContextAfterSize(int contextAfterSize)
           
 void setContextBeforeSize(int contextBeforeSize)
           
 void setExpressionEndOffset(int expressionEndOffset)
           
 void setExpressionStartOffset(int expressionStartOffset)
           
 void setExpressionTooltip(String expressionTooltip)
           
 void setHeaderMouseListener(AnnotationStack.StackMouseListener headerMouseListener)
           
 void setLastRowButton(JButton lastRowButton)
           
 void setText(String text)
           
 void setTextMouseListener(AnnotationStack.StackMouseListener textMouseListener)
           
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, 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

CROP_START

public static final int CROP_START
See Also:
Constant Field Values

CROP_MIDDLE

public static final int CROP_MIDDLE
See Also:
Constant Field Values

CROP_END

public static final int CROP_END
See Also:
Constant Field Values
Constructor Detail

AnnotationStack

public AnnotationStack()

AnnotationStack

public AnnotationStack(int maxTextLength,
                       int maxFeatureValueLength)
Parameters:
maxTextLength - maximum number of characters for the text, if too long an ellipsis is added in the middle
maxFeatureValueLength - maximum number of characters for a feature value
Method Detail

addRow

public void addRow(String set,
                   String type,
                   String feature,
                   JButton lastColumnButton,
                   String shortcut,
                   int crop)
Add a row to the annotation stack.

Parameters:
set - set name for the annotation, may be null
type - annotation type
feature - feature name, may be null
lastColumnButton - button at the end of the column, may be null
shortcut - replace the header of the row, may be null
crop - how to crop the text for the annotation if too long, one of CROP_START, CROP_MIDDLE or CROP_END

addAnnotation

public void addAnnotation(int startOffset,
                          int endOffset,
                          String type,
                          FeatureMap features)
Add an annotation to the current stack row.

Parameters:
startOffset - document offset where starts the annotation
endOffset - document offset where ends the annotation
type - annotation type
features - annotation features map

addAnnotation

public void addAnnotation(Annotation annotation)
Add an annotation to the current stack row.

Parameters:
annotation - annotation to add to the current stack row

clearAllRows

public void clearAllRows()
Clear all rows in the stack. To be called before adding the first row.


drawStack

public void drawStack()
Draw the annotation stack in a JPanel with a GridBagLayout.


setLastRowButton

public void setLastRowButton(JButton lastRowButton)

setText

public void setText(String text)
Parameters:
text - first line of text that contains the expression and its context

setExpressionStartOffset

public void setExpressionStartOffset(int expressionStartOffset)
Parameters:
expressionStartOffset - document offset where starts the expression

setExpressionEndOffset

public void setExpressionEndOffset(int expressionEndOffset)
Parameters:
expressionEndOffset - document offset where ends the expression

setContextBeforeSize

public void setContextBeforeSize(int contextBeforeSize)
Parameters:
contextBeforeSize - number of characters before the expression

setContextAfterSize

public void setContextAfterSize(int contextAfterSize)
Parameters:
contextAfterSize - number of characters after the expression

setExpressionTooltip

public void setExpressionTooltip(String expressionTooltip)
Parameters:
expressionTooltip - optional tooltip for the expression

setTextMouseListener

public void setTextMouseListener(AnnotationStack.StackMouseListener textMouseListener)
Parameters:
textMouseListener - optional listener for the first line of text

setHeaderMouseListener

public void setHeaderMouseListener(AnnotationStack.StackMouseListener headerMouseListener)
Parameters:
headerMouseListener - optional listener for the first column

setAnnotationMouseListener

public void setAnnotationMouseListener(AnnotationStack.StackMouseListener annotationMouseListener)
Parameters:
annotationMouseListener - optional listener for the annotations