| 
GATE Version 3.1-2270  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
gate.creole.AbstractVisualResource
gate.gui.DocumentEditor
public class DocumentEditor
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.
| Nested 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
 | 
 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.EditAnnotationAction
The action that is fired when the user wants to edit an annotation.  | 
protected  class | 
DocumentEditor.HighlightAnnotationMenu
The popup menu items used to select annotations at right click.  | 
protected  class | 
DocumentEditor.PrintAction
 | 
protected  class | 
DocumentEditor.SearchAction
 | 
protected  class | 
DocumentEditor.SearchDialog
 | 
 class | 
DocumentEditor.TypeData
Holds the GUI metadata for a given annotation type.  | 
| 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.BltBufferStrategy, Component.FlipBufferStrategy | 
| 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  | 
protected  ColorGenerator | 
colGenerator
A random colour generator used to generate initial default colours for highlighting various types of annotations.  | 
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  | 
protected  gate.gui.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 | 
protected  List | 
ranges
a list containing Range objects. | 
protected  JSplitPane | 
rightSplit
The split that contains the styles tree and the coreference viewer.  | 
protected  DocumentEditor.SearchDialog | 
searchDialog
The dialog used for text search  | 
protected  gate.gui.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  | 
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.  | 
| Fields inherited from class gate.creole.AbstractVisualResource | 
|---|
features, handle | 
| 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 | |
|---|---|
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. | 
 Set | 
getDisplayedAnnotations()
This method returns a list of annotations which are currently shown in the annotations table or null of the table is empty.  | 
 Document | 
getDocument()
Return the current selected document  | 
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  | 
 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.  | 
protected  void | 
paintHighlights(Set annotations,
                AttributeSet style)
 | 
 void | 
removePropertyChangeListener(PropertyChangeListener l)
 | 
protected  void | 
repairHighlights(int start,
                 int end)
Called whenever a part of the textual display needs to be repainted because, for instance, of an edit operation.  | 
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.  | 
 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 | 
|---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Methods inherited from interface gate.util.NameBearer | 
|---|
getName, setName | 
| Field Detail | 
|---|
protected ColorGenerator colGenerator
protected JTextPane textPane
protected JScrollPane textScroll
protected XJTable annotationsTable
protected DocumentEditor.AnnotationsTableModel annotationsTableModel
protected JScrollPane tableScroll
protected JSplitPane leftSplit
protected JSplitPane rightSplit
protected JSplitPane mainSplit
protected JTree stylesTree
protected JToolBar toolbar
protected JScrollPane stylesTreeScroll
protected DefaultMutableTreeNode stylesTreeRoot
protected DefaultTreeModel stylesTreeModel
protected DocumentEditor.SearchDialog searchDialog
protected TextAttributesChooser styleChooser
protected JTree corefTree
protected DefaultMutableTreeNode corefTreeRoot
protected DefaultTreeModel corefTreeModel
protected JScrollPane corefScroll
protected Box progressBox
JProgressBar used to keep the user
 entertained while the text display is being updated
protected JProgressBar progressBar
protected Highlighter highlighter
protected Highlighter selectionHighlighter
highlighter as using two different
 highlighters on the same text component is looking for trouble.
protected gate.gui.DocumentEditor.SelectionBlinker selectionBlinker
protected Handle myHandle
protected List data
protected List ranges
Range objects. These are the
 ranges in the data structure. A range is a bunch
 of annotations belonging to the same annotation set that are contiguous
 in the data structure.
protected Map typeDataMap
DocumentEditor.TypeData
 Maps from String to Map to DocumentEditor.TypeData.
protected gate.gui.DocumentEditor.EventsHandler eventHandler
protected Object lock
| Constructor Detail | 
|---|
public DocumentEditor()
| Method Detail | 
|---|
public Resource init()
AbstractVisualResource
init in interface Resourceinit in class AbstractVisualResourceprotected void initListeners()
protected void initLocalData()
protected void initGuiComponents()
protected Set getAnnotationSchemas()
AnnotationSchema objects currently
 loaded in the system.
public void removePropertyChangeListener(PropertyChangeListener l)
removePropertyChangeListener in class Componentpublic void addPropertyChangeListener(PropertyChangeListener l)
addPropertyChangeListener in class Container
public void addPropertyChangeListener(String propertyName,
                                      PropertyChangeListener l)
addPropertyChangeListener in class Containerpublic Document getDocument()
public void setTarget(Object target)
setTarget in interface VisualResourcesetTarget in class AbstractVisualResourcetarget - the object (be it a Resource,
 DataStore or whatever) this viewer has to displaypublic void setHandle(Handle handle)
AbstractVisualResource
setHandle in interface VisualResourcesetHandle in class AbstractVisualResourcepublic void cleanup()
AbstractVisualResource
cleanup in interface Resourcecleanup in class AbstractVisualResourcepublic Set getDisplayedAnnotations()
protected void this_documentChanged()
protected DocumentEditor.TypeData getTypeData(String setName,
                                              String type)
DocumentEditor.TypeData value has been obtained it can be used to change
 the way the respective type of annotations are displayed.
setName - a String, the name of the annotation settype - a String, the name of the type.
DocumentEditor.TypeData value
protected void showHighlights(Set annotations,
                              AttributeSet style)
protected void paintHighlights(Set annotations,
                               AttributeSet style)
protected void repairHighlights(int start,
                                int end)
start - the start offset for the area to be repaintedend - the end offset for the area to be repainted.
protected void selectAnnotation(String set,
                                Annotation ann)
protected void layoutComponents()
protected void updateCorefTree()
public void setEditable(boolean newEditable)
public boolean isEditable()
public void setAnnotationsTableVisible(boolean annotationsTableVisible)
public boolean isAnnotationsTableVisible()
public void setCoreferenceVisible(boolean coreferenceVisible)
public boolean isCoreferenceVisible()
public void setTextVisible(boolean textVisible)
public boolean isTextVisible()
public void setTypesTreeVisible(boolean typesTreeVisible)
public boolean isTypesTreeVisible()
public void setCorefOptionAvailable(boolean corefOptionAvailable)
public boolean isCorefOptionAvailable()
  | 
GATE Version 3.1-2270  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||