org.eml.MMAX2.annotation.markables
Class MarkableChart

java.lang.Object
  extended by org.eml.MMAX2.annotation.markables.MarkableChart

public class MarkableChart
extends java.lang.Object


Field Summary
 MMAX2AttributePanelContainer attributePanelContainer
           
 MarkableLevelControlPanel currentLevelControlPanel
          Reference to MarkableLayerControlPanel controlling this MarkableChart object.
 MarkableLevelControlWindow currentLevelControlWindow
           
 
Constructor Summary
MarkableChart(MMAX2Discourse _discourse)
          Creates new MarkableChart
 
Method Summary
 void addMarkableLevel(MarkableLevel level)
          This method adds the MarkableLayer layer to both this.orderedLayers and this.layers.
 void addMarkableToExistingMarkableSet(Markable addee, MarkableSet set, boolean setRendered)
           
 void addMarkableToNewMarkableSet(Markable addee, MarkableRelation relation)
           
 void addTargetMarkableToExistingMarkablePointer(Markable source, Markable target, MarkablePointer pointer)
           
 void addTargetMarkableToNewMarkablePointer(Markable source, Markable target, MarkableRelation relation)
           
 void adoptMarkableToExistingMarkableSet(Markable adoptee, MarkableSet oldSet, MarkableSet newSet)
           
 void adoptMarkableToNewMarkableSet(Markable adoptee, MarkableSet oldSet)
           
 void createDiscoursePositionToMarkableMappings()
           
 void deleteMarkable(Markable deletee)
           
 void destroyDependentComponents()
           
 boolean finishesMarkableFromLevel(java.lang.String markableID, java.lang.String ownLevelName, java.lang.String targetLevelName)
           
 org.apache.xpath.NodeSet getActiveEndedMarkables_bak(java.lang.String discourseElementId)
          This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId.
 org.apache.xpath.NodeSet getActiveEndedMarkables(java.lang.String discourseElementId)
          This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId.
 org.apache.xpath.NodeSet getActiveEndedMarkables(java.lang.String discourseElementId, java.lang.String levels)
          This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId.
 MarkableLevel[] getActiveLevels()
           
 org.apache.xpath.NodeSet getActiveStartedMarkables(java.lang.String discourseElementId)
          This method returns a node list with all _active_ Markables started at DiscourseElement with ID discourseElementId.
 org.apache.xpath.NodeSet getActiveStartedMarkables(java.lang.String discourseElementId, java.lang.String levels)
          This method returns a node list with all _active_ Markables started at DiscourseElement with ID discourseElementId.
 java.util.ArrayList getAllEndedMarkables(java.lang.String deID)
           
 java.util.ArrayList getAllMarkablePointersForTargetMarkable(Markable target)
           
 java.util.ArrayList getAllStartedMarkables(java.lang.String deID)
           
 void getAttributeWindowToFront()
           
 MMAX2Discourse getCurrentDiscourse()
           
 MarkableLevelControlPanel getCurrentLevelControlPanel()
           
 java.awt.Color getForegroundColorForLevel(java.lang.String levelname)
           
 java.awt.Color getHandleColorForLevel(java.lang.String levelname)
           
 boolean getIsAnyMarkableLevelModified()
           
 java.util.ArrayList getLevelAndAttributeNamesForValues(java.lang.String valueList, java.lang.String optionalAttributeName, boolean activeLevelsOnly)
           
 java.lang.String getLevelNameByOrderPosition(int pos)
           
 MarkableLevel[] getLevels()
           
 Markable getMarkableByID(java.lang.String nameSpacedID, MarkableLevel defaultLevel)
           
 MarkableLevel getMarkableLevelByName(java.lang.String levelname, boolean interactive)
          This method returns the MarkableLevel object of name levelname, or null.
 void getMarkableLevelControlWindowToFront()
           
 Markable[][] getMarkablesAtDiscoursePosition(int position, boolean activeLevelsOnly)
          This method returns an array which contains for each MarkableLayer one array of markables found on this layer at DiscoursePosition position.
 java.lang.String getNextFreeMarkableID()
           
 int getNextFreeMarkableIDNum()
           
 java.lang.String getNextFreeMarkableSetID()
           
 int getNextFreeMarkableSetNum()
           
 java.awt.Color getPrevailingBackgroundColorForMarkableHandle(int displayPosition)
          This method returns the background color to be displayed at display position displayPosition, where the latter is assumed to be the position of a MarkableHandle.
 int getSelectionEnd()
           
 int getSelectionStart()
           
 int getSize()
           
 javax.swing.text.SimpleAttributeSet getTopAttributesAtDiscourseElement(java.lang.String de_id)
          This method returns the attributes currently visible at the position of DiscourseElement de_id.
 void initAnnotationHints()
           
 void initAttributePanelContainer()
           
 void initializeSaveMenu(javax.swing.JMenu menu)
           
 void initMarkableRelations()
           
 void initShowInMarkableSelectorPopupMenu()
           
 boolean inMarkableFromLevel(java.lang.String DE_ID, java.lang.String targetLevelName)
           
 boolean inMarkableFromLevel(java.lang.String markableID, java.lang.String ownLevelName, java.lang.String targetLevelName)
           
 void markableLeftClicked(Markable newClicked)
          This method is called by the display caret listener whenever a markabls is left-clicked.
 void markableRightClicked(Markable secondaryMarkable, int displayPos)
          This method is called by the display caret listener whenever a markabls is right-clicked.
 void mergeMarkableSets(MarkableSet finalSet, MarkableSet oldSet)
           
 void mergeMarkableSetsIntoNewSet(MarkableSet oldSet)
           
 void nothingClicked(int currentButton)
           
 void removeMarkableFromMarkableSet(Markable removee, MarkableSet set, boolean refreshAttributeWindow)
           
 MarkableLevel removeMarkableLevel(MarkableLevel level)
           
 void removeMarkablePointerWithSourceMarkable(Markable sourceMarkable, MarkableRelation relation, boolean refreshAttributeWindow)
           
 void removeTargetMarkableFromMarkablePointer(Markable removee, MarkablePointer pointer, boolean refreshAttributeWindow)
           
 void removeTemporarySelection()
           
 void reorderMarkableLayers(java.lang.String command)
           
 void requestCopyMarkableSetToLevel(MarkableSet setToCopy, MarkableLevel target)
           
 Markable requestCopyMarkableToLevel(Markable markableToCopy, java.lang.String levelToCopyTo)
           
 void requestModifyLiteralDisplayText(int displayPos, java.lang.String newString, java.lang.String oldString)
           
 void requestModifyMarkablesDEs(Markable modified, java.lang.String[] DEs, int mode)
           
 void rerender()
           
 void resetHasHandles()
           
 void resetMarkablesForStyleSheetReapplication()
           
 void saveAllMarkableLevels()
           
 void saveAllTransposedMarkableLevels(java.lang.String oldLang, java.util.ArrayList absoluteWords)
           
 void selectionOccurred(int dot, int mark)
          This method is called from the CaretListener when a caret event with unequal dot and mark values, i.e.
 void setMarkableLevelDisplayPositions()
           
 void setNextFreeMarkableIDNum(int num)
           
 void setNextFreeMarkableSetNum(int num)
           
 void setShowMarkableLevelControlWindow(boolean show)
           
 boolean startsMarkableFromLevel(java.lang.String markableID, java.lang.String ownLevelName, java.lang.String targetLevelName)
           
 void updateAllMarkableLevels()
           
 void updateLabels()
           
 void validateAll()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

currentLevelControlPanel

public MarkableLevelControlPanel currentLevelControlPanel
Reference to MarkableLayerControlPanel controlling this MarkableChart object.


currentLevelControlWindow

public MarkableLevelControlWindow currentLevelControlWindow

attributePanelContainer

public MMAX2AttributePanelContainer attributePanelContainer
Constructor Detail

MarkableChart

public MarkableChart(MMAX2Discourse _discourse)
Creates new MarkableChart

Method Detail

getSelectionStart

public final int getSelectionStart()

getSelectionEnd

public final int getSelectionEnd()

initAnnotationHints

public final void initAnnotationHints()

saveAllMarkableLevels

public final void saveAllMarkableLevels()

saveAllTransposedMarkableLevels

public final void saveAllTransposedMarkableLevels(java.lang.String oldLang,
                                                  java.util.ArrayList absoluteWords)

updateAllMarkableLevels

public final void updateAllMarkableLevels()

getCurrentDiscourse

public final MMAX2Discourse getCurrentDiscourse()

getMarkableByID

public final Markable getMarkableByID(java.lang.String nameSpacedID,
                                      MarkableLevel defaultLevel)

selectionOccurred

public final void selectionOccurred(int dot,
                                    int mark)
This method is called from the CaretListener when a caret event with unequal dot and mark values, i.e. a selection, has been detected.


removeTemporarySelection

public final void removeTemporarySelection()

requestModifyMarkablesDEs

public final void requestModifyMarkablesDEs(Markable modified,
                                            java.lang.String[] DEs,
                                            int mode)

setNextFreeMarkableSetNum

public final void setNextFreeMarkableSetNum(int num)

getNextFreeMarkableSetNum

public final int getNextFreeMarkableSetNum()

setNextFreeMarkableIDNum

public final void setNextFreeMarkableIDNum(int num)

getNextFreeMarkableIDNum

public final int getNextFreeMarkableIDNum()

getMarkableLevelControlWindowToFront

public final void getMarkableLevelControlWindowToFront()

getAttributeWindowToFront

public final void getAttributeWindowToFront()

destroyDependentComponents

public final void destroyDependentComponents()

setShowMarkableLevelControlWindow

public final void setShowMarkableLevelControlWindow(boolean show)

initMarkableRelations

public final void initMarkableRelations()

getForegroundColorForLevel

public final java.awt.Color getForegroundColorForLevel(java.lang.String levelname)

getHandleColorForLevel

public final java.awt.Color getHandleColorForLevel(java.lang.String levelname)

getMarkableLevelByName

public final MarkableLevel getMarkableLevelByName(java.lang.String levelname,
                                                  boolean interactive)
This method returns the MarkableLevel object of name levelname, or null.


getSize

public final int getSize()

resetMarkablesForStyleSheetReapplication

public final void resetMarkablesForStyleSheetReapplication()

initAttributePanelContainer

public final void initAttributePanelContainer()

initShowInMarkableSelectorPopupMenu

public final void initShowInMarkableSelectorPopupMenu()

addMarkableLevel

public final void addMarkableLevel(MarkableLevel level)
This method adds the MarkableLayer layer to both this.orderedLayers and this.layers.


initializeSaveMenu

public final void initializeSaveMenu(javax.swing.JMenu menu)

removeMarkableLevel

public final MarkableLevel removeMarkableLevel(MarkableLevel level)

getMarkablesAtDiscoursePosition

public final Markable[][] getMarkablesAtDiscoursePosition(int position,
                                                          boolean activeLevelsOnly)
This method returns an array which contains for each MarkableLayer one array of markables found on this layer at DiscoursePosition position. If a MarkableLayer does not have any markables at position, the corresponding array entry is a markable array of length 0.


getIsAnyMarkableLevelModified

public final boolean getIsAnyMarkableLevelModified()

getPrevailingBackgroundColorForMarkableHandle

public final java.awt.Color getPrevailingBackgroundColorForMarkableHandle(int displayPosition)
This method returns the background color to be displayed at display position displayPosition, where the latter is assumed to be the position of a MarkableHandle. It is used for removing the highlighting from MarkableHandles, and returns either selectionBackgroundColor if the current MarkableHandle is in a currently selected Markable, or white otherwise. This is selection-sensitive! MarkableLayers are not accessed, so no active/inactive distinction necessary.


getTopAttributesAtDiscourseElement

public final javax.swing.text.SimpleAttributeSet getTopAttributesAtDiscourseElement(java.lang.String de_id)
This method returns the attributes currently visible at the position of DiscourseElement de_id. It is the main method for markable-related display rendering, and takes into account customized Markable attributes. Attributes for a given de_id are determined as follows: 1. Each MarkableLevel is considered in turn, beginning with the DEEPEST level and moving up. This way, attributes on higher levels have precedence over lower levels, and attributes from lower levels can percolate up unless they are EXPLICITLY overwritten by incompatible ones on a higher level. 2. All Markables on the current MarkableLevel are retrieved (in document order, shorter before longer ones (why?)). 3. Each Markable is considered in turn, beginning with the TOP one.


getActiveStartedMarkables

public final org.apache.xpath.NodeSet getActiveStartedMarkables(java.lang.String discourseElementId)
This method returns a node list with all _active_ Markables started at DiscourseElement with ID discourseElementId. Markables are grouped by levels in reverse MarkableChart layer order (cf. this.orderedLayers[]). Within each group, Markables are ordered in discourse position order, with longer before shorter ones (for embedding visualization).


getActiveStartedMarkables

public final org.apache.xpath.NodeSet getActiveStartedMarkables(java.lang.String discourseElementId,
                                                                java.lang.String levels)
This method returns a node list with all _active_ Markables started at DiscourseElement with ID discourseElementId. Markables are grouped by levels in reverse MarkableChart layer order (cf. this.orderedLayers[]). Within each group, Markables are ordered in discourse position order, with longer before shorter ones (for embedding visualization).


getAllStartedMarkables

public final java.util.ArrayList getAllStartedMarkables(java.lang.String deID)

getAllEndedMarkables

public final java.util.ArrayList getAllEndedMarkables(java.lang.String deID)

getActiveEndedMarkables

public final org.apache.xpath.NodeSet getActiveEndedMarkables(java.lang.String discourseElementId)
This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId. Markables are grouped by levels in MarkableChart layer order (cf. this.orderedLayers[]). Within each group, Markables are ordered in discourse position order, but with shorter before longer ones (for embedding visualization).


getActiveEndedMarkables

public final org.apache.xpath.NodeSet getActiveEndedMarkables(java.lang.String discourseElementId,
                                                              java.lang.String levels)
This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId. Markables are grouped by levels in MarkableChart layer order (cf. this.orderedLayers[]). Within each group, Markables are ordered in discourse position order, but with shorter before longer ones (for embedding visualization).


getActiveEndedMarkables_bak

public final org.apache.xpath.NodeSet getActiveEndedMarkables_bak(java.lang.String discourseElementId)
This method returns a node list with all _active_ Markables ended at DiscourseElement with ID discourseElementId. Markables are grouped by levels in MarkableChart layer order (cf. this.orderedLayers[]). Within each group, Markables are ordered in discourse position order, but with shorter before longer ones (for embedding visualization).


setMarkableLevelDisplayPositions

public final void setMarkableLevelDisplayPositions()

createDiscoursePositionToMarkableMappings

public final void createDiscoursePositionToMarkableMappings()

updateLabels

public final void updateLabels()

validateAll

public final void validateAll()

resetHasHandles

public final void resetHasHandles()

getCurrentLevelControlPanel

public final MarkableLevelControlPanel getCurrentLevelControlPanel()

getLevelAndAttributeNamesForValues

public final java.util.ArrayList getLevelAndAttributeNamesForValues(java.lang.String valueList,
                                                                    java.lang.String optionalAttributeName,
                                                                    boolean activeLevelsOnly)

reorderMarkableLayers

public final void reorderMarkableLayers(java.lang.String command)

requestCopyMarkableSetToLevel

public final void requestCopyMarkableSetToLevel(MarkableSet setToCopy,
                                                MarkableLevel target)

requestModifyLiteralDisplayText

public final void requestModifyLiteralDisplayText(int displayPos,
                                                  java.lang.String newString,
                                                  java.lang.String oldString)

markableRightClicked

public final void markableRightClicked(Markable secondaryMarkable,
                                       int displayPos)
This method is called by the display caret listener whenever a markabls is right-clicked.


markableLeftClicked

public final void markableLeftClicked(Markable newClicked)
This method is called by the display caret listener whenever a markabls is left-clicked.


nothingClicked

public final void nothingClicked(int currentButton)

rerender

public final void rerender()

getLevelNameByOrderPosition

public final java.lang.String getLevelNameByOrderPosition(int pos)

removeMarkablePointerWithSourceMarkable

public final void removeMarkablePointerWithSourceMarkable(Markable sourceMarkable,
                                                          MarkableRelation relation,
                                                          boolean refreshAttributeWindow)

removeTargetMarkableFromMarkablePointer

public final void removeTargetMarkableFromMarkablePointer(Markable removee,
                                                          MarkablePointer pointer,
                                                          boolean refreshAttributeWindow)

removeMarkableFromMarkableSet

public final void removeMarkableFromMarkableSet(Markable removee,
                                                MarkableSet set,
                                                boolean refreshAttributeWindow)

mergeMarkableSetsIntoNewSet

public final void mergeMarkableSetsIntoNewSet(MarkableSet oldSet)

adoptMarkableToExistingMarkableSet

public final void adoptMarkableToExistingMarkableSet(Markable adoptee,
                                                     MarkableSet oldSet,
                                                     MarkableSet newSet)

adoptMarkableToNewMarkableSet

public final void adoptMarkableToNewMarkableSet(Markable adoptee,
                                                MarkableSet oldSet)

mergeMarkableSets

public final void mergeMarkableSets(MarkableSet finalSet,
                                    MarkableSet oldSet)

addTargetMarkableToNewMarkablePointer

public final void addTargetMarkableToNewMarkablePointer(Markable source,
                                                        Markable target,
                                                        MarkableRelation relation)

addTargetMarkableToExistingMarkablePointer

public final void addTargetMarkableToExistingMarkablePointer(Markable source,
                                                             Markable target,
                                                             MarkablePointer pointer)

addMarkableToExistingMarkableSet

public final void addMarkableToExistingMarkableSet(Markable addee,
                                                   MarkableSet set,
                                                   boolean setRendered)

addMarkableToNewMarkableSet

public final void addMarkableToNewMarkableSet(Markable addee,
                                              MarkableRelation relation)

requestCopyMarkableToLevel

public final Markable requestCopyMarkableToLevel(Markable markableToCopy,
                                                 java.lang.String levelToCopyTo)

deleteMarkable

public final void deleteMarkable(Markable deletee)

getAllMarkablePointersForTargetMarkable

public final java.util.ArrayList getAllMarkablePointersForTargetMarkable(Markable target)

inMarkableFromLevel

public final boolean inMarkableFromLevel(java.lang.String DE_ID,
                                         java.lang.String targetLevelName)

inMarkableFromLevel

public final boolean inMarkableFromLevel(java.lang.String markableID,
                                         java.lang.String ownLevelName,
                                         java.lang.String targetLevelName)

startsMarkableFromLevel

public final boolean startsMarkableFromLevel(java.lang.String markableID,
                                             java.lang.String ownLevelName,
                                             java.lang.String targetLevelName)

finishesMarkableFromLevel

public final boolean finishesMarkableFromLevel(java.lang.String markableID,
                                               java.lang.String ownLevelName,
                                               java.lang.String targetLevelName)

getNextFreeMarkableSetID

public final java.lang.String getNextFreeMarkableSetID()

getNextFreeMarkableID

public final java.lang.String getNextFreeMarkableID()

getLevels

public final MarkableLevel[] getLevels()

getActiveLevels

public final MarkableLevel[] getActiveLevels()