Class StyleMapEditor

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class StyleMapEditor
    extends javax.swing.JDialog
    implements java.awt.event.ActionListener
    A GUI for editing style maps for the annotation viewer.

    A style map is an XML document that describes how each kind of output from a Text Analysis Engine is to be displayed in the annotation viewer. Each output type that the user wants to be displayed will have an entry in the style map. Each entry in the style map contains:

    • The CSS style used to display annotations of that type (for example "background:blue; color:white;" to display white text on a blue background.
    • A label used to identify the annotations in the annotation viewer

    To invoke the editor, call the launchEditor(AnalysisEngineMetaData, String, CAS) method.

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      StyleMapEditor​(javax.swing.JFrame aOwner, CAS cas)
      Creates a new `Editor.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent evt)  
      void addRow​(java.lang.String typeName)
      Adds the row.
      java.util.ArrayList createStyleList​(AnalysisEngineMetaData aAnalysisEngineMetaData, java.lang.String aStyleMapXml)
      Creates a List of StyleMapEntry objects from the given AnalysisEngineMetaData and style map XML.
      private java.lang.String generateStyleMap​(java.util.ArrayList aStyleList)
      Generates a style map XML document from the style list.
      protected StyleMapTable getAnnotationsTable()
      Gets the annotations table.
      java.awt.Dimension getPreferredSize()  
      java.lang.String launchEditor​(AnalysisEngineMetaData aAnalysisEngineMetaData, java.lang.String aStyleMapXml, CAS cas)
      Displays the StyleMapEditor GUI and allows the user to edit a style map.
      private boolean launchGUI​(java.util.ArrayList aStyleList, CAS cas)
      Displays the Style Map Editor GUI and allows the user to interact with it.
      java.util.ArrayList parseStyleList​(java.lang.String aStyleMapXml)
      Parses the style list.
      void setAnalysisEngine​(AnalysisEngineDescription ae)
      Sets the analysis engine.
      void setTextAnalysisEngine​(TaeDescription tae)
      private void setUpColorEditor​(javax.swing.JTable table)
      Sets the up color editor.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        The Constant serialVersionUID.
        See Also:
        Constant Field Values
      • buttonPress

        private boolean buttonPress
        The button press.
      • populated

        private boolean populated
        The populated.
      • addTableEntryButton

        private ImageButton addTableEntryButton
        The add table entry button.
      • annotationsTable

        private StyleMapTable annotationsTable
        The annotations table.
      • styleList

        private java.util.ArrayList styleList
        The style list.
      • removeTableRowButton

        private ImageButton removeTableRowButton
        The remove table row button.
      • moveRowUpButton

        private ImageButton moveRowUpButton
        The move row up button.
      • moveRowDownButton

        private ImageButton moveRowDownButton
        The move row down button.
      • okButton

        private javax.swing.JButton okButton
        The ok button.
      • cancelButton

        private javax.swing.JButton cancelButton
        The cancel button.
      • resetButton

        private javax.swing.JButton resetButton
        The reset button.
      • styleMapEditorDialog

        private javax.swing.JDialog styleMapEditorDialog
        The style map editor dialog.
      • colorNameMap

        private java.util.HashMap colorNameMap
        The color name map.
      • analysisEngineMetaData

        private AnalysisEngineMetaData analysisEngineMetaData
        The analysis engine meta data.
      • data

        java.lang.Object[][] data
        The data.
    • Constructor Detail

      • StyleMapEditor

        public StyleMapEditor​(javax.swing.JFrame aOwner,
                              CAS cas)
        Creates a new `Editor.
        Parameters:
        aOwner - the a owner
        cas - the cas
    • Method Detail

      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Overrides:
        getPreferredSize in class java.awt.Container
      • setAnalysisEngine

        public void setAnalysisEngine​(AnalysisEngineDescription ae)
        Sets the analysis engine.
        Parameters:
        ae - the new analysis engine
      • launchEditor

        public java.lang.String launchEditor​(AnalysisEngineMetaData aAnalysisEngineMetaData,
                                             java.lang.String aStyleMapXml,
                                             CAS cas)
        Displays the StyleMapEditor GUI and allows the user to edit a style map. When the user has finished, the new style map is returned.
        Parameters:
        aAnalysisEngineMetaData - Metadata for the AnalysisEngine whose style map is to be edited. This contains the AE's capabilities and type system definition, which are needed by the editor.
        aStyleMapXml - An existing style map XML document that will be loaded into the editor. This is optional, if null is passed in, a default style map will be automatically generated from the AE metadata.
        cas - the cas
        Returns:
        a new style map XML document. If the user cancels, null is returned.
      • createStyleList

        public java.util.ArrayList createStyleList​(AnalysisEngineMetaData aAnalysisEngineMetaData,
                                                   java.lang.String aStyleMapXml)
        Creates a List of StyleMapEntry objects from the given AnalysisEngineMetaData and style map XML.
        Parameters:
        aAnalysisEngineMetaData - Metadata for the AnalysisEngine whose style map is being edited.
        aStyleMapXml - An existing style map XML document. This is optional, if null is passed in, a default style map will be automatically generated.
        Returns:
        an ArrayList containing one StyleMapEntry object for each output type declared in aTaeMetaData.
      • parseStyleList

        public java.util.ArrayList parseStyleList​(java.lang.String aStyleMapXml)
        Parses the style list.
        Parameters:
        aStyleMapXml - the a style map xml
        Returns:
        the array list
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent evt)
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • getAnnotationsTable

        protected StyleMapTable getAnnotationsTable()
        Gets the annotations table.
        Returns:
        the annotations table
      • launchGUI

        private boolean launchGUI​(java.util.ArrayList aStyleList,
                                  CAS cas)
        Displays the Style Map Editor GUI and allows the user to interact with it.
        Parameters:
        aStyleList - an ArrayList containing the style map entries to be edited. When the user modifies a setting in the GUI, the elements of this List will be updated.
        cas - the cas
        Returns:
        true if the user exits the dialog by clicking the OK button, false if the user has clicked the Cancel button.
      • setUpColorEditor

        private void setUpColorEditor​(javax.swing.JTable table)
        Sets the up color editor.
        Parameters:
        table - the new up color editor
      • generateStyleMap

        private java.lang.String generateStyleMap​(java.util.ArrayList aStyleList)
        Generates a style map XML document from the style list.
        Parameters:
        aStyleList - An ArrayList containing the style map entries to be written to XML.
        Returns:
        A style map XML document representing the information in aStyleList.
      • addRow

        public void addRow​(java.lang.String typeName)
        Adds the row.
        Parameters:
        typeName - the type name