## gate.gui
Class DocumentEditor

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.JPanel
                              |
                              +--gate.creole.AbstractVisualResource
                                    |
                                    +--gate.gui.DocumentEditor

All Implemented Interfaces:
  Accessible, ANNIEConstants, FeatureBearer, ImageObserver, MenuContainer, NameBearer, Resource, Serializable, VisualResource

public class DocumentEditor
extends AbstractVisualResource
implements ANNIEConstants

This class implements a viewer/editor for the annotations on a document. As a viewer, this visual resource will display all the annotations found on the document. The editor needs to have some data about annotation types in order to allow the editing of annotations. This data comes from the `AnnotationSchema` objects that are loaded in the Gate system at a given moment. If there are no such objects the editing of annotations will be restricted to a very crude method allowing the user to add any type of annotations having any features with any String values.

See Also:
  Serialized Form

Inner Class Summary
`protected class` `DocumentEditor.AnnotationsTableModel` A custom table model used to render a table containing the annotations from a set of annotation sets.
`protected class` `DocumentEditor.CorefData`
`(package private) class` `DocumentEditor.CorefNodeRenderer` A tree node renderer used by the coref tree
`(package private) class` `DocumentEditor.CorefNodeRenderer1` A tree node renderer used byt the coref tree
`class` `DocumentEditor.CustomLabelView` Fixes the 4406598 bug in swing text components.
`class` `DocumentEditor.CustomStyledEditorKit` Fixes the 4406598 bug in swing text components.
`class` `DocumentEditor.CustomStyledViewFactory` Fixes the 4406598 bug in swing text components.
`protected class` `DocumentEditor.DeleteSelectedAnnotationsAction`
`protected class` `DocumentEditor.DumpAsXmlAction` The action that is fired when the user wants to edit an annotation.
`protected class` `DocumentEditor.EditAnnotationAction` The action that is fired when the user wants to edit an annotation.
`(package private) class` `DocumentEditor.EventsHandler` All the events from the document or its annotation sets are handled by this inner class.
`(package private) class` `DocumentEditor.LazyJPanel` Panels used in cell/node renderers
`(package private) class` `DocumentEditor.NewAnnotationAction` The action that is fired when the user wants to create a new annotation.
`(package private) class` `DocumentEditor.NodeRenderer` Displays an entry in the right hand side tree.
`(package private) class` `DocumentEditor.NodeRenderer1` Displays an entry in the right hand side tree.
`protected class` `DocumentEditor.PrintAction`
`(package private) class` `DocumentEditor.Range` Describes a range in the `data` structure.
`protected class` `DocumentEditor.SelectAnnotationPopupItem` The popup menu items used to select annotations at right click.
`(package private) class` `DocumentEditor.SelectionBlinker` This class handles the blinking for the selected annotations in the text display.
`class` `DocumentEditor.TypeData` Holds the GUI metadata for a given annotation type.

Inner classes inherited from class javax.swing.JPanel
`JPanel.AccessibleJPanel`

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent, JComponent.ActionStandin, JComponent.IntVector, JComponent.KeyboardState`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.AWTTreeLock`

Field Summary
`protected XJTable` `annotationsTable` The table placed below the text display used for showing annotations
`protected DocumentEditor.AnnotationsTableModel` `annotationsTableModel` Model for the annotations table
`private boolean` `annotationsTableVisible`
`private JToggleButton` `annotationsTableVisibleBtn`
`protected ColorGenerator` `colGenerator` A random colour generator used to generate initial default colours for highlighting various types of annotations.
`private boolean` `coreferenceVisible`
`private JToggleButton` `coreferenceVisibleBtn`
`private boolean` `corefOptionAvailable`
`protected JScrollPane` `corefScroll` The scroller for the coref list
`protected JTree` `corefTree` The Jtree that displays the coreference data
`protected DefaultTreeModel` `corefTreeModel` The model for the coref tree
`protected DefaultMutableTreeNode` `corefTreeRoot` The root for the coref tree
`protected List` `data` holds the data for the annotations table: a list of Annotation objects
`private Document` `document` The `Document` currently displayed.
`private boolean` `editable` Should this component bahave as an editor as well as an viewer
`protected DocumentEditor.EventsHandler` `eventHandler` The listener for the events coming from the document (annotations and annotation sets added or removed).
`protected Highlighter` `highlighter` The highlighter used to help the user select annotations that overlap and for highligting in the text the annotations selected in the lower table.
`protected JSplitPane` `leftSplit`
`protected Object` `lock` Object used to sychronise all the various threads involved in GUI updating;
`protected JSplitPane` `mainSplit` The main horizontal split that contains all the contents of this viewer
`protected Handle` `myHandle`
`protected JProgressBar` `progressBar` The progress bar used during updating the text
`protected Box` `progressBox` A box containing a `JProgressBar` used to keep the user entertained while the text display is being updated
`private PropertyChangeSupport` `propertyChangeListeners`
`protected List` `ranges` a list containing `AnnotationEditor.Range` objects.
`protected JSplitPane` `rightSplit` The split that contains the styles tree and the coreference viewer.
`protected DocumentEditor.SelectionBlinker` `selectionBlinker` The object responsible with blinking the selected annotations.
`protected Highlighter` `selectionHighlighter` This highlighter is actually used as a data structure.
`protected TextAttributesChooser` `styleChooser` The dialog used for editing the styles used to highlight annotations
`protected JTree` `stylesTree` The right hand side tree with all the annotation sets and types of annotations
`protected DefaultTreeModel` `stylesTreeModel` The model for the styles tree
`protected DefaultMutableTreeNode` `stylesTreeRoot` The root for the styles tree
`protected JScrollPane` `stylesTreeScroll` Scroller for the styles tree
`protected JScrollPane` `tableScroll` Scroller for the annotations table
`protected JTextPane` `textPane` The text display.
`protected JScrollPane` `textScroll` Scroller used for the text diaplay
`private boolean` `textVisible`
`private JToggleButton` `textVisibleBtn`
`protected JToolBar` `toolbar` The toolbar displayed on the top part of the component
`protected Map` `typeDataMap` A composed map used to get the metadata for an annotation type starting from the annotation set name and the type name.
`private boolean` `typesTreeVisible`
`private JToggleButton` `typesTreeVisibleBtn`

Fields inherited from class gate.creole.AbstractVisualResource
`features`

Fields inherited from class javax.swing.JPanel
`defaultLayout, uiClassID`

Fields inherited from class javax.swing.JComponent

`_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap`

Fields inherited from class java.awt.Container
`component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID`

Fields inherited from class java.awt.Component

`actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y`

Fields inherited from interface gate.creole.ANNIEConstants
`ANNOTATION_COREF_FEATURE_NAME, DOCUMENT_COREF_FEATURE_NAME, PR_NAMES`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`DocumentEditor()` Default constructor.

Method Summary
`void` `addPropertyChangeListener(PropertyChangeListener l)`
`void` `addPropertyChangeListener(String propertyName, PropertyChangeListener l)`
`void` `cleanup()` Does nothing now, but meant to clear all internal data
`protected Set` `getAnnotationSchemas()` Gets all the `AnnotationSchema` objects currently loaded in the system.
`protected DocumentEditor.TypeData` `getTypeData(String setName, String type)` Gets the data related to a given annotation type.
`Resource` `init()` Initialise this resource, and return it.
`protected void` `initGuiComponents()` Builds all the graphical components
`protected void` `initListeners()` Initialises all the listeners that this component has to register with other classes.
`protected void` `initLocalData()` Initialises the local variables to their default values
`boolean` `isAnnotationsTableVisible()`
`boolean` `isCoreferenceVisible()`
`boolean` `isCorefOptionAvailable()`
`boolean` `isEditable()` Is the editor functionality enabled
`private boolean` `isTextSelected()` This method returns true if a text is selected in the textPane
`boolean` `isTextVisible()`
`boolean` `isTypesTreeVisible()`
`protected void` `layoutComponents()` Creates the layout of this component acording to the set of subcomponents (text display, annotations table, etc.) that need to be visible.
`static void` `main(String[] args)` Test code
`void` `removePropertyChangeListener(PropertyChangeListener l)`
`protected void` `selectAnnotation(String set, Annotation ann)` Updates the GUI when the user has selected an annotation e.g.
`void` `setAnnotationsTableVisible(boolean annotationsTableVisible)`
`void` `setCoreferenceVisible(boolean coreferenceVisible)`
`void` `setCorefOptionAvailable(boolean corefOptionAvailable)`
`void` `setEditable(boolean newEditable)` Should the editor functionality of this component be enabled
`void` `setHandle(Handle handle)` Used by the main GUI to tell this VR what handle created it.
`void` `setTarget(Object target)` Sets the document to be displayed
`void` `setTextVisible(boolean textVisible)`
`void` `setTypesTreeVisible(boolean typesTreeVisible)`
`protected void` `showHighlights(Set annotations, AttributeSet style)` Repaints the highlighting for annotation types in the text display.
`protected void` `this_documentChanged()` Updates this component when the underlying document is changed.
`protected void` `updateCorefTree()` Updates the coref tree from the coref data on the document's features

Methods inherited from class gate.creole.AbstractVisualResource
`getFeatures, getParameterValue, setFeatures, setParameterValue, setParameterValues`

Methods inherited from class javax.swing.JPanel
`<clinit>, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject`

Methods inherited from class javax.swing.JComponent

`_paintImmediately, addAncestorListener, addNotify, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait`

Methods inherited from interface gate.util.NameBearer
`getName, setName`

Field Detail

### propertyChangeListeners

    private transient PropertyChangeSupport propertyChangeListeners

### document

    private Document document

  The `Document` currently displayed.

### colGenerator

    protected ColorGenerator colGenerator

  A random colour generator used to generate initial default colours for highlighting various types of annotations.

### textPane

    protected JTextPane textPane

  The text display.

### textScroll

    protected JScrollPane textScroll

  Scroller used for the text diaplay

### annotationsTable

    protected XJTable annotationsTable

  The table placed below the text display used for showing annotations

### annotationsTableModel

    protected DocumentEditor.AnnotationsTableModel annotationsTableModel

  Model for the annotations table

### tableScroll

    protected JScrollPane tableScroll

  Scroller for the annotations table

### leftSplit

    protected JSplitPane leftSplit

### rightSplit

    protected JSplitPane rightSplit

  The split that contains the styles tree and the coreference viewer.

### mainSplit

    protected JSplitPane mainSplit

  The main horizontal split that contains all the contents of this viewer

### stylesTree

    protected JTree stylesTree

  The right hand side tree with all the annotation sets and types of annotations

### toolbar

    protected JToolBar toolbar

  The toolbar displayed on the top part of the component

### stylesTreeScroll

    protected JScrollPane stylesTreeScroll

  Scroller for the styles tree

### stylesTreeRoot

    protected DefaultMutableTreeNode stylesTreeRoot

  The root for the styles tree

### stylesTreeModel

    protected DefaultTreeModel stylesTreeModel

  The model for the styles tree

### styleChooser

    protected TextAttributesChooser styleChooser

  The dialog used for editing the styles used to highlight annotations

### corefTree

    protected JTree corefTree

  The Jtree that displays the coreference data

### corefTreeRoot

    protected DefaultMutableTreeNode corefTreeRoot

  The root for the coref tree

### corefTreeModel

    protected DefaultTreeModel corefTreeModel

  The model for the coref tree

### corefScroll

    protected JScrollPane corefScroll

  The scroller for the coref list

### progressBox

    protected Box progressBox

  A box containing a `JProgressBar` used to keep the user entertained while the text display is being updated

### progressBar

    protected JProgressBar progressBar

  The progress bar used during updating the text

### highlighter

    protected Highlighter highlighter

  The highlighter used to help the user select annotations that overlap and for highligting in the text the annotations selected in the lower table.

### selectionHighlighter

    protected Highlighter selectionHighlighter

  This highlighter is actually used as a data structure. It is used to keep the data for the selected annotations; the actual highlighting will be done by the `AnnotationEditor#highlighter` as using two different highlighters on the same text component is looking for trouble.

### selectionBlinker

    protected DocumentEditor.SelectionBlinker selectionBlinker

  The object responsible with blinking the selected annotations.

### myHandle

    protected Handle myHandle

### data

    protected List data

  holds the data for the annotations table: a list of Annotation objects

### ranges

    protected List ranges

  a list containing `AnnotationEditor.Range` objects. These are the ranges in the `AnnotationEditor#data` structure. A range is a bunch of annotations belonging to the same annotation set that are contiguous in the `AnnotationEditor#data` structure.

### typeDataMap

    protected Map typeDataMap

  A composed map used to get the metadata for an annotation type starting from the annotation set name and the type name. Annotation set name -> Annotation type -> `AnnotationEditor.TypeData` Maps from String to Map to `AnnotationEditor.TypeData`.

### eventHandler

    protected DocumentEditor.EventsHandler eventHandler

  The listener for the events coming from the document (annotations and annotation sets added or removed).

### lock

    protected Object lock

  Object used to sychronise all the various threads involved in GUI updating;

### editable

    private boolean editable

  Should this component bahave as an editor as well as an viewer

### textVisibleBtn

    private JToggleButton textVisibleBtn

### typesTreeVisibleBtn

    private JToggleButton typesTreeVisibleBtn

### annotationsTableVisibleBtn

    private JToggleButton annotationsTableVisibleBtn

### coreferenceVisibleBtn

    private JToggleButton coreferenceVisibleBtn

### annotationsTableVisible

    private boolean annotationsTableVisible

### coreferenceVisible

    private boolean coreferenceVisible

### textVisible

    private boolean textVisible

### typesTreeVisible

    private boolean typesTreeVisible

### corefOptionAvailable

    private boolean corefOptionAvailable

Constructor Detail

### DocumentEditor

    public DocumentEditor()

  Default constructor. Creats all the components and initialises all the internal data to default values where possible.

Method Detail

### init

    public Resource init()

  Description copied from class: `AbstractVisualResource`
  Initialise this resource, and return it.
  Overrides:
    `init` in class `AbstractVisualResource`

### main

    public static void main(String[] args)

  Test code

### initListeners

    protected void initListeners()

  Initialises all the listeners that this component has to register with other classes.

### initLocalData

    protected void initLocalData()

  Initialises the local variables to their default values

### initGuiComponents

    protected void initGuiComponents()

  Builds all the graphical components

### isTextSelected

    private boolean isTextSelected()

  This method returns true if a text is selected in the textPane

### getAnnotationSchemas

    protected Set getAnnotationSchemas()

  Gets all the `AnnotationSchema` objects currently loaded in the system.

### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener l)

  Overrides:
    `removePropertyChangeListener` in class `JComponent`

### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener l)

  Overrides:
    `addPropertyChangeListener` in class `JComponent`

### addPropertyChangeListener

    public void addPropertyChangeListener(String propertyName,
                                          PropertyChangeListener l)

  Overrides:
    `addPropertyChangeListener` in class `JComponent`

### setTarget

    public void setTarget(Object target)

  Sets the document to be displayed
  Overrides:
    `setTarget` in class `AbstractVisualResource`
  Following copied from class: `gate.creole.AbstractVisualResource`
  Parameters:
    `target` - the object (be it a `Resource`, `DataStore` or whatever) this viewer has to display

### setHandle

    public void setHandle(Handle handle)

  Description copied from class: `AbstractVisualResource`
  Used by the main GUI to tell this VR what handle created it. The VRs can use this information e.g. to add items to the popup for the resource.
  Overrides:
    `setHandle` in class `AbstractVisualResource`

### cleanup

    public void cleanup()

  Description copied from class: `AbstractVisualResource`
  Does nothing now, but meant to clear all internal data
  Overrides:
    `cleanup` in class `AbstractVisualResource`

### this_documentChanged

    protected void this_documentChanged()

  Updates this component when the underlying document is changed. This method is only triggered when the document is changed to a new one and not when the internal data from the document changes. For the document internal events {@see #DelayedListener}.

### getTypeData

    protected DocumentEditor.TypeData getTypeData(String setName,
                                                  String type)

  Gets the data related to a given annotation type. An annotation type is uniquely identified by the name of its AnnotationSet and the name of the type. For the default annotation set of a document (which has no name) the "<Default>" value is used. Once a `AnnotationEditor.TypeData` value has been obtained it can be used to change the way the respective type of annotations are displayed.
  Parameters:
    `setName` - a `String`, the name of the annotation set
    `type` - a `String`, the name of the type.
  Returns:
    a `AnnotationEditor.TypeData` value

### showHighlights

    protected void showHighlights(Set annotations,
                                  AttributeSet style)

  Repaints the highlighting for annotation types in the text display.

### selectAnnotation

    protected void selectAnnotation(String set,
                                    Annotation ann)

  Updates the GUI when the user has selected an annotation e.g. by using the right click popup. That basically means make the appropiate type of annotations visible in case it isn't already.

### layoutComponents

    protected void layoutComponents()

  Creates the layout of this component acording to the set of subcomponents (text display, annotations table, etc.) that need to be visible.

### updateCorefTree

    protected void updateCorefTree()

  Updates the coref tree from the coref data on the document's features

### setEditable

    public void setEditable(boolean newEditable)

  Should the editor functionality of this component be enabled

### isEditable

    public boolean isEditable()

  Is the editor functionality enabled

### setAnnotationsTableVisible

    public void setAnnotationsTableVisible(boolean annotationsTableVisible)

### isAnnotationsTableVisible

    public boolean isAnnotationsTableVisible()

### setCoreferenceVisible

    public void setCoreferenceVisible(boolean coreferenceVisible)

### isCoreferenceVisible

    public boolean isCoreferenceVisible()

### setTextVisible

    public void setTextVisible(boolean textVisible)

### isTextVisible

    public boolean isTextVisible()

### setTypesTreeVisible

    public void setTypesTreeVisible(boolean typesTreeVisible)

### isTypesTreeVisible

    public boolean isTypesTreeVisible()

### setCorefOptionAvailable

    public void setCorefOptionAvailable(boolean corefOptionAvailable)

### isCorefOptionAvailable

    public boolean isCorefOptionAvailable()