public abstract class GraphPresenter extends com.mxgraph.swing.mxGraphComponent implements de.ims.icarus.ui.view.AWTPresenter, GraphOwner, de.ims.icarus.ui.helper.Configurable, de.ims.icarus.ui.view.AWTPresenter.GraphBasedPresenter
GraphPresenter
implementation is the conversion of data objects into graph-cells and -edges
and the handling of data specific user interaction.
Several aspects of graph visualization have been moved to three optional helper
classes:
GraphStyle
objects are used to provide basic styles for a graph and to
fetch the actual style of each cell.
A GraphLayout
implements a special type of arrangement regarding vertices
and edges. Typically a GraphLayout
enforces a certain edge style along
with it.
GraphRenderer
are an advanced version of the basic mxInteractiveCanvas
used by a mxGraphComponent
to render its cells and labels. In addition to
rendering a GraphRenderer
object can be used to generate cell labels
and tool-tips as well as to calculate the required size of a given cell based
on its content.
Typically a GraphPresenter
will offer the user a variety of aforementioned
helpers to select from in order to customize the actual graph visualization.
Modifier and Type | Class and Description |
---|---|
class |
GraphPresenter.CallbackHandler
Central bridging point for the action callback framework
of class
ActionManager and the actual handling methods in
GraphPresenter . |
protected class |
GraphPresenter.DelegatingConnectionHandler |
protected class |
GraphPresenter.DelegatingConnectPreview |
protected class |
GraphPresenter.DelegatingGraph |
class |
GraphPresenter.EdgeHighlightHandler |
protected class |
GraphPresenter.GraphConfigDelegate |
protected class |
GraphPresenter.Handler |
protected class |
GraphPresenter.LayoutChange |
protected class |
GraphPresenter.RendererChange |
protected class |
GraphPresenter.StyleChange |
com.mxgraph.swing.mxGraphComponent.mxGraphControl, com.mxgraph.swing.mxGraphComponent.mxMouseRedirector
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
javax.swing.JComponent.AccessibleJComponent
java.awt.Container.AccessibleAWTContainer
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
de.ims.icarus.ui.view.AWTPresenter.ChartBasedPresenter, de.ims.icarus.ui.view.AWTPresenter.GraphBasedPresenter, de.ims.icarus.ui.view.AWTPresenter.ListBasedPresenter, de.ims.icarus.ui.view.AWTPresenter.TableBasedPresenter, de.ims.icarus.ui.view.AWTPresenter.TextBasedPresenter
Modifier and Type | Field and Description |
---|---|
protected de.ims.icarus.ui.actions.ActionManager |
actionManager |
protected boolean |
allowCycles |
protected de.ims.icarus.util.annotation.AnnotationControl |
annotationControl |
protected boolean |
autoZoomEnabled |
protected GraphPresenter.CallbackHandler |
callbackHandler |
protected boolean |
compressEnabled |
protected de.ims.icarus.config.ConfigDelegate |
configDelegate |
protected GraphPresenter.EdgeHighlightHandler |
edgeHighlightHandler |
protected boolean |
editable |
protected java.lang.String |
editableMainToolBarListId |
protected java.lang.String |
editablePopupMenuListId |
protected boolean |
enforceTree |
protected GraphLayout |
graphLayout |
protected GraphRenderer |
graphRenderer |
protected GraphStyle |
graphStyle |
protected GraphPresenter.Handler |
handler |
protected int |
ignoreDataChange |
protected int |
ignoreGraphChange |
protected int |
ignoreModCount |
protected java.awt.Color |
incomingEdgeColor |
protected int |
lastRebuildModCount |
protected boolean |
markIncomingEdges |
protected boolean |
markOutgoingEdges |
protected java.awt.Dimension |
maximumNodeSize |
protected java.awt.Dimension |
minimumNodeSize |
protected int |
modCount |
protected java.awt.Color |
outgoingEdgeColor |
protected javax.swing.JPopupMenu |
popupMenu |
protected java.awt.Dimension |
preferredNodeSize |
protected java.awt.Component |
presentingComponent |
protected com.mxgraph.swing.handler.mxRubberband |
rubberband |
protected static java.lang.String |
SELECT_LAYOUT_COMMAND
Constant used as action command for default layout combo-box
|
protected static java.lang.String |
SELECT_RENDERER_COMMAND
Constant used as action command for default renderer combo-box
|
protected static java.lang.String |
SELECT_STYLE_COMMAND
Constant used as action command for default style combo-box
|
protected GraphUndoManager |
undoManager |
protected java.lang.String |
uneditableMainToolBarListId |
protected java.lang.String |
uneditablePopupMenuListId |
protected boolean |
wheelZoomEnabled |
antiAlias, autoExtend, autoScroll, backgroundImage, canvas, cellEditor, centerPage, centerZoom, collapsedIcon, components, connectionHandler, DEFAULT_COLLAPSED_ICON, DEFAULT_EXPANDED_ICON, DEFAULT_PAGESCALE, DEFAULT_WARNING_ICON, dragEnabled, enterStopsCellEditing, escapeEnabled, eventSource, expandedIcon, exportEnabled, foldingEnabled, graph, graphControl, graphHandler, GRID_STYLE_CROSS, GRID_STYLE_DASHED, GRID_STYLE_DOT, GRID_STYLE_LINE, gridColor, gridStyle, gridVisible, horizontalPageCount, importEnabled, invokesStopCellEditing, keepSelectionVisibleOnZoom, overlays, pageBackgroundColor, pageBorderColor, pageBreakColor, pageBreaksVisible, pageFormat, pageScale, pageShadowColor, pageVisible, panningHandler, preferPageSize, previewAlpha, repaintHandler, scaleHandler, selectionCellsHandler, showDirtyRectangle, swimlaneSelectionEnabled, textAntiAlias, tolerance, transparentSwimlaneContent, tripleBuffer, tripleBuffered, tripleBufferGraphics, updateHandler, verticalPageCount, viewChangeHandler, warningIcon, ZOOM_POLICY_NONE, ZOOM_POLICY_PAGE, ZOOM_POLICY_WIDTH, zoomFactor, zoomPolicy
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
Modifier | Constructor and Description |
---|---|
protected |
GraphPresenter() |
Modifier and Type | Method and Description |
---|---|
void |
addEdge(java.lang.Object source,
java.lang.Object target,
boolean orderEdge) |
void |
addNode()
Appends a new empty node to the graph and synchronizes it
with the internal data.
|
boolean |
canCollapse(java.lang.Object cell)
Hook for subclasses to allow renderers or layouts to determine
whether a given cell can be collapsed and should therefore be decorated
with additional hints for the user.
|
protected boolean |
canEdit()
Hook for subclasses to check if the underlying data is mutable
in addition to the graph presenter itself being editable.
|
boolean |
canExpand(java.lang.Object cell)
Hook for subclasses to allow renderers or layouts to determine
whether a given cell can be expanded and should therefore be decorated
with additional hints for the user.
|
void |
clear() |
void |
clearGraph()
Removes all cells from the graph and synchronizes the
empty graph to the internal data, effectively clearing it
of whatever content it is holding.
|
void |
clearUndoHistory() |
void |
cloneCells(java.lang.Object[] cells) |
void |
close() |
void |
collapseCells(java.lang.Object[] cells) |
void |
copyCells() |
protected de.ims.icarus.ui.actions.ActionManager |
createActionManager() |
protected javax.swing.ActionMap |
createActionMap() |
protected de.ims.icarus.util.annotation.AnnotationControl |
createAnnotationControl() |
protected GraphPresenter.CallbackHandler |
createCallbackHandler() |
protected de.ims.icarus.config.ConfigDelegate |
createConfigDelegate() |
protected com.mxgraph.swing.handler.mxConnectionHandler |
createConnectionHandler() |
protected com.mxgraph.swing.handler.mxConnectPreview |
createConnectPreview() |
protected GraphLayout |
createDefaultGraphLayout() |
protected GraphRenderer |
createDefaultGraphRenderer() |
protected GraphStyle |
createDefaultGraphStyle() |
protected GraphPresenter.EdgeHighlightHandler |
createEdgeHighlightHandler() |
protected javax.swing.InputMap |
createFocusedInputMap() |
protected com.mxgraph.view.mxGraph |
createGraph() |
protected GraphPresenter.Handler |
createHandler() |
protected de.ims.icarus.util.Options |
createLayoutOptions() |
protected java.awt.Component |
createLeftComponent() |
protected javax.swing.JPopupMenu |
createPopupMenu() |
protected java.awt.Component |
createPresentingComponent() |
protected de.ims.icarus.util.Options |
createStyleOptions() |
protected GraphUndoManager |
createUndoManager() |
protected java.awt.Component |
createUpperComponent() |
protected de.ims.icarus.ui.actions.ActionComponentBuilder |
createUpperToolBar() |
void |
deleteCells(java.lang.Object[] cells) |
void |
editCell(java.lang.Object cell) |
protected void |
executeChange(com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange change) |
void |
expandCells(java.lang.Object[] cells) |
CellBuffer |
exportCells(java.lang.Object[] cells)
Creates and returns an interchangeable snapshot of the
current graph and all of it's internal data fit for exportation.
|
protected javax.swing.JComboBox<org.java.plugin.registry.Extension> |
feedSelector(de.ims.icarus.util.Options options,
java.lang.String command) |
protected de.ims.icarus.ui.actions.ActionManager |
getActionManager() |
de.ims.icarus.util.annotation.AnnotationManager |
getAnnotationManager() |
de.ims.icarus.config.ConfigDelegate |
getConfigDelegate() |
abstract de.ims.icarus.util.data.ContentType |
getContentType() |
GraphPresenter.EdgeHighlightHandler |
getEdgeHighlightHandler() |
GraphLayout |
getGraphLayout() |
GraphRenderer |
getGraphRenderer() |
GraphStyle |
getGraphStyle() |
protected GraphPresenter.Handler |
getHandler() |
java.awt.Color |
getIncomingEdgeColor() |
protected java.lang.Object[] |
getLayoutCells()
Hook for subclasses to generate an array of cells that should
be passed to the methods defined by
GraphLayout . |
java.awt.Dimension |
getMaximumNodeSize() |
java.awt.Dimension |
getMinimumNodeSize() |
java.awt.Color |
getOutgoingEdgeColor() |
com.mxgraph.util.mxPoint |
getPageTranslate(double scale) |
java.awt.Dimension |
getPreferredNodeSize() |
java.awt.Dimension |
getPreferredSizeForPage() |
java.awt.Component |
getPresentingComponent() |
java.awt.Dimension |
getScaledPreferredSizeForGraph() |
java.lang.Object[] |
getSelectionCells() |
java.lang.Object[] |
getSelectionEdges() |
java.lang.Object[] |
getSelectionVertices() |
GraphUndoManager |
getUndoManager() |
void |
importCells(CellBuffer buffer)
Imports and integrates the given
CellBuffer 's content
into the graph and synchronizes the resulting graph to the internal
data. |
protected void |
init() |
protected void |
initGraphComponentInternals() |
protected void |
installKeyboardActions() |
protected void |
installUtilities() |
boolean |
isAllowCycles() |
boolean |
isAutoZoomEnabled() |
boolean |
isCompressEnabled() |
boolean |
isEditable() |
boolean |
isEnforceTree() |
boolean |
isHighlightedIncomingEdge(java.lang.Object edge) |
boolean |
isHighlightedOutgoingEdge(java.lang.Object edge) |
boolean |
isIgnoringChanges() |
boolean |
isIgnoringGraphChanges() |
protected boolean |
isIgnoringModCounts() |
boolean |
isLinkEdge(java.lang.Object cell) |
boolean |
isMarkIncomingEdges() |
boolean |
isMarkOutgoingEdges() |
boolean |
isOrderEdge(java.lang.Object cell) |
boolean |
isWheelZoomEnabled() |
protected void |
loadPreferences() |
void |
moveCells(java.lang.Object[] cells,
double deltaX,
double deltaY) |
void |
openConfig() |
void |
pasteCells() |
void |
pauseChangeHandling() |
void |
pauseGraphChangeHandling() |
protected void |
pauseModCountHandling() |
void |
present(java.lang.Object data,
de.ims.icarus.util.Options options) |
void |
printGraph()
Presents the user with a typical print dialog and prints
the entire graph.
|
void |
rebuildGraph() |
void |
redo() |
protected void |
refreshActions() |
void |
refreshAll() |
void |
refreshCells(java.lang.Object... cells) |
void |
refreshEdges() |
void |
refreshLayout() |
void |
refreshStyles()
Uses the current
GraphStyle to refresh style strings
on all cells. |
void |
refreshVertices() |
protected void |
registerActionCallbacks() |
void |
resumeChangeHandling() |
void |
resumeGraphChangeHandling() |
protected void |
resumeModCountHandling() |
void |
setAllowCycles(boolean allowCycles) |
void |
setAnnotationManager(de.ims.icarus.util.annotation.AnnotationManager annotationManager) |
void |
setAutoZoomEnabled(boolean autoZoomEnabled) |
void |
setCanvas(com.mxgraph.swing.view.mxInteractiveCanvas canvas) |
void |
setCompressEnabled(boolean compressEnabled) |
protected abstract void |
setData(java.lang.Object data,
de.ims.icarus.util.Options options) |
void |
setEditable(boolean editable) |
void |
setEnforceTree(boolean enforceTree) |
void |
setGraph(com.mxgraph.view.mxGraph value) |
void |
setGraphLayout(GraphLayout layout) |
void |
setGraphRenderer(GraphRenderer renderer) |
void |
setGraphStyle(GraphStyle style) |
void |
setIncomingEdgeColor(java.awt.Color incomingEdgeColor) |
void |
setMarkIncomingEdges(boolean markIncomingEdges) |
void |
setMarkOutgoingEdges(boolean markOutgoingEdges) |
void |
setMaximumNodeSize(java.awt.Dimension maximumNodeSize) |
void |
setMinimumNodeSize(java.awt.Dimension minimumNodeSize) |
void |
setOutgoingEdgeColor(java.awt.Color outgoingEdgeColor) |
void |
setPreferredNodeSize(java.awt.Dimension preferredNodeSize) |
void |
setWheelZoomEnabled(boolean wheelZoomEnabled) |
protected void |
showMessage(int messageType,
java.lang.String message,
java.lang.Object... params) |
protected void |
showPopup(java.awt.event.MouseEvent trigger) |
boolean |
supports(de.ims.icarus.util.data.ContentType type)
Per default we accept all data that is content-type compatible.
|
protected abstract void |
syncToData()
Read current graph content and synchronize to internal data.
|
protected abstract void |
syncToGraph()
Build up graph cells and structure and refresh styles and layout
(in that order).
|
void |
undo() |
addCellOverlay, addListener, canExportCell, canImportCell, checkTripleBuffer, clearCellOverlays, clearCellOverlays, createCanvas, createCellEditor, createComponents, createGraphControl, createGraphHandler, createHandler, createHandlers, createPanningHandler, createSelectionCellsHandler, createTransferHandler, createTripleBuffer, destroyTripleBuffer, escape, getBackgroundImage, getCanvas, getCellAt, getCellAt, getCellAt, getCellEditor, getCellOverlays, getCells, getCells, getConnectionHandler, getEditingValue, getExportableCells, getFoldingIcon, getFoldingIconBounds, getGraph, getGraphControl, getGraphHandler, getGridColor, getGridStyle, getHorizontalPageBorder, getHorizontalPageCount, getImportableCells, getLayoutAreaSize, getPageBackgroundColor, getPageBorderColor, getPageBreakColor, getPageFormat, getPageScale, getPageShadowColor, getPanningHandler, getPointForEvent, getPointForEvent, getPreviewAlpha, getSelectionCellsHandler, getTolerance, getTripleBuffer, getVerticalPageBorder, getVerticalPageCount, getZoomFactor, getZoomPolicy, hitFoldingIcon, importCells, insertComponent, installDoubleClickHandler, installFocusHandler, installKeyHandler, installResizeHandler, isAntiAlias, isAutoExtend, isAutoScroll, isCenterPage, isCenterZoom, isCloneEvent, isConnectable, isConstrainedEvent, isDragEnabled, isEditEvent, isEditing, isEnterStopsCellEditing, isEscapeEnabled, isEventsEnabled, isExportEnabled, isFoldingEnabled, isForceMarqueeEvent, isForceTripleBuffered, isGridEnabledEvent, isGridVisible, isImportEnabled, isInvokesStopCellEditing, isKeepSelectionVisibleOnZoom, isPageBreaksVisible, isPageVisible, isPanning, isPanningEvent, isPreferPageSize, isSignificant, isSwimlaneSelectionEnabled, isTextAntiAlias, isToggleEvent, isTripleBuffered, labelChanged, maintainScrollBar, paintBackground, paintBackgroundImage, paintBackgroundPage, paintGrid, print, redraw, refresh, removeAllComponents, removeAllOverlays, removeCellOverlay, removeCellOverlayComponent, removeCellOverlays, removeComponent, removeListener, removeListener, repaintTripleBuffer, scrollCellToVisible, scrollCellToVisible, scrollToCenter, selectCellForEvent, selectCellsForEvent, selectRegion, setAntiAlias, setAutoExtend, setAutoScroll, setBackgroundImage, setCellEditor, setCellWarning, setCellWarning, setCellWarning, setCenterPage, setCenterZoom, setConnectable, setDragEnabled, setEnterStopsCellEditing, setEscapeEnabled, setEventsEnabled, setExportEnabled, setFoldingEnabled, setGridColor, setGridStyle, setGridVisible, setHorizontalPageCount, setImportEnabled, setInvokesStopCellEditing, setKeepSelectionVisibleOnZoom, setPageBackgroundColor, setPageBorderColor, setPageBreakColor, setPageBreaksVisible, setPageFormat, setPageScale, setPageShadowColor, setPageVisible, setPanning, setPreferPageSize, setPreviewAlpha, setSwimlaneSelectionEnabled, setTextAntiAlias, setTolerance, setToolTips, setTripleBuffered, setVerticalPageCount, setZoomFactor, setZoomPolicy, snapScaledPoint, snapScaledPoint, startEditing, startEditingAtCell, startEditingAtCell, stopEditing, updateCellOverlayComponent, updateCellOverlays, updateComponent, updateComponents, updateComponents, validateGraph, validateGraph, zoom, zoom, zoomActual, zoomAndCenter, zoomIn, zoomOut, zoomTo
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, 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
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, transferFocusDownCycle, validate, validateTree
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, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getGraph
protected de.ims.icarus.ui.actions.ActionManager actionManager
protected de.ims.icarus.util.annotation.AnnotationControl annotationControl
protected GraphLayout graphLayout
protected GraphStyle graphStyle
protected GraphRenderer graphRenderer
protected GraphPresenter.CallbackHandler callbackHandler
protected GraphPresenter.Handler handler
protected GraphUndoManager undoManager
protected com.mxgraph.swing.handler.mxRubberband rubberband
protected boolean compressEnabled
protected boolean autoZoomEnabled
protected boolean wheelZoomEnabled
protected java.awt.Dimension minimumNodeSize
protected java.awt.Dimension preferredNodeSize
protected java.awt.Dimension maximumNodeSize
protected boolean editable
protected boolean enforceTree
protected boolean allowCycles
protected boolean markIncomingEdges
protected boolean markOutgoingEdges
protected java.awt.Color incomingEdgeColor
protected java.awt.Color outgoingEdgeColor
protected int ignoreDataChange
protected int ignoreGraphChange
protected int ignoreModCount
protected javax.swing.JPopupMenu popupMenu
protected int modCount
protected int lastRebuildModCount
protected de.ims.icarus.config.ConfigDelegate configDelegate
protected GraphPresenter.EdgeHighlightHandler edgeHighlightHandler
protected java.awt.Component presentingComponent
protected java.lang.String editableMainToolBarListId
protected java.lang.String uneditableMainToolBarListId
protected java.lang.String editablePopupMenuListId
protected java.lang.String uneditablePopupMenuListId
protected static final java.lang.String SELECT_LAYOUT_COMMAND
protected static final java.lang.String SELECT_STYLE_COMMAND
protected static final java.lang.String SELECT_RENDERER_COMMAND
protected de.ims.icarus.ui.actions.ActionManager createActionManager()
public boolean isEditable()
public void setEditable(boolean editable)
public abstract de.ims.icarus.util.data.ContentType getContentType()
public boolean supports(de.ims.icarus.util.data.ContentType type)
supports
in interface de.ims.icarus.ui.view.Presenter
de.ims.icarus.ui.view.Presenter#supports(java.lang.Object)
protected abstract void setData(java.lang.Object data, de.ims.icarus.util.Options options)
public void present(java.lang.Object data, de.ims.icarus.util.Options options) throws de.ims.icarus.ui.view.UnsupportedPresentationDataException
present
in interface de.ims.icarus.ui.view.Presenter
de.ims.icarus.ui.view.UnsupportedPresentationDataException
protected java.awt.Component createPresentingComponent()
protected com.mxgraph.swing.handler.mxConnectionHandler createConnectionHandler()
createConnectionHandler
in class com.mxgraph.swing.mxGraphComponent
protected com.mxgraph.swing.handler.mxConnectPreview createConnectPreview()
protected de.ims.icarus.config.ConfigDelegate createConfigDelegate()
protected GraphPresenter.EdgeHighlightHandler createEdgeHighlightHandler()
public GraphPresenter.EdgeHighlightHandler getEdgeHighlightHandler()
protected boolean canEdit()
protected de.ims.icarus.ui.actions.ActionManager getActionManager()
protected GraphPresenter.Handler getHandler()
protected void init()
protected void initGraphComponentInternals()
protected void loadPreferences()
protected void installUtilities()
protected GraphLayout createDefaultGraphLayout()
protected GraphStyle createDefaultGraphStyle()
protected GraphRenderer createDefaultGraphRenderer()
protected void installKeyboardActions()
protected javax.swing.InputMap createFocusedInputMap()
protected javax.swing.ActionMap createActionMap()
protected java.awt.Component createUpperComponent()
protected de.ims.icarus.ui.actions.ActionComponentBuilder createUpperToolBar()
protected de.ims.icarus.util.annotation.AnnotationControl createAnnotationControl()
protected javax.swing.JComboBox<org.java.plugin.registry.Extension> feedSelector(de.ims.icarus.util.Options options, java.lang.String command)
protected java.awt.Component createLeftComponent()
protected GraphPresenter.Handler createHandler()
protected GraphPresenter.CallbackHandler createCallbackHandler()
protected GraphUndoManager createUndoManager()
protected com.mxgraph.view.mxGraph createGraph()
protected void registerActionCallbacks()
protected void refreshActions()
protected javax.swing.JPopupMenu createPopupMenu()
protected void showPopup(java.awt.event.MouseEvent trigger)
public boolean isCompressEnabled()
public boolean isAutoZoomEnabled()
public void setCompressEnabled(boolean compressEnabled)
public void setAutoZoomEnabled(boolean autoZoomEnabled)
public boolean isWheelZoomEnabled()
public void setWheelZoomEnabled(boolean wheelZoomEnabled)
public boolean isMarkIncomingEdges()
public boolean isMarkOutgoingEdges()
public void setMarkIncomingEdges(boolean markIncomingEdges)
public void setMarkOutgoingEdges(boolean markOutgoingEdges)
public java.awt.Color getIncomingEdgeColor()
public java.awt.Color getOutgoingEdgeColor()
public void setIncomingEdgeColor(java.awt.Color incomingEdgeColor)
public void setOutgoingEdgeColor(java.awt.Color outgoingEdgeColor)
public GraphUndoManager getUndoManager()
public void setGraph(com.mxgraph.view.mxGraph value)
setGraph
in class com.mxgraph.swing.mxGraphComponent
public void clear()
clear
in interface de.ims.icarus.ui.view.Presenter
Presenter.clear()
public void close()
close
in interface de.ims.icarus.ui.view.Presenter
Presenter.close()
public java.awt.Component getPresentingComponent()
getPresentingComponent
in interface de.ims.icarus.ui.view.AWTPresenter
AWTPresenter.getPresentingComponent()
public java.awt.Dimension getPreferredSizeForPage()
getPreferredSizeForPage
in class com.mxgraph.swing.mxGraphComponent
public java.awt.Dimension getScaledPreferredSizeForGraph()
getScaledPreferredSizeForGraph
in class com.mxgraph.swing.mxGraphComponent
public com.mxgraph.util.mxPoint getPageTranslate(double scale)
getPageTranslate
in class com.mxgraph.swing.mxGraphComponent
public void setGraphLayout(GraphLayout layout)
public GraphStyle getGraphStyle()
public void setGraphStyle(GraphStyle style)
public GraphLayout getGraphLayout()
public GraphRenderer getGraphRenderer()
public void setGraphRenderer(GraphRenderer renderer)
public void setCanvas(com.mxgraph.swing.view.mxInteractiveCanvas canvas)
public de.ims.icarus.util.annotation.AnnotationManager getAnnotationManager()
public void setAnnotationManager(de.ims.icarus.util.annotation.AnnotationManager annotationManager)
public java.awt.Dimension getMinimumNodeSize()
public java.awt.Dimension getPreferredNodeSize()
public java.awt.Dimension getMaximumNodeSize()
public void setMinimumNodeSize(java.awt.Dimension minimumNodeSize)
public void setPreferredNodeSize(java.awt.Dimension preferredNodeSize)
public void setMaximumNodeSize(java.awt.Dimension maximumNodeSize)
public boolean isEnforceTree()
public boolean isAllowCycles()
public void setEnforceTree(boolean enforceTree)
public void setAllowCycles(boolean allowCycles)
public de.ims.icarus.config.ConfigDelegate getConfigDelegate()
public void clearUndoHistory()
public java.lang.Object[] getSelectionCells()
public java.lang.Object[] getSelectionEdges()
public java.lang.Object[] getSelectionVertices()
protected abstract void syncToGraph()
protected abstract void syncToData()
protected java.lang.Object[] getLayoutCells()
GraphLayout
. The
array is expected to represent the exact order of cells as
desired by the GraphPresenter
implementation.public void refreshAll()
protected de.ims.icarus.util.Options createLayoutOptions()
public void refreshLayout()
protected de.ims.icarus.util.Options createStyleOptions()
public void refreshEdges()
public void refreshVertices()
public void refreshCells(java.lang.Object... cells)
public void refreshStyles()
GraphStyle
to refresh style strings
on all cells. Note that since this technically erases all style
modifications done by the current GraphLayout
this call
should always be followed by refreshLayout()
to allow
for proper final styles!
If no GraphStyle
is currently set this method does nothing.
protected void showMessage(int messageType, java.lang.String message, java.lang.Object... params)
public boolean isOrderEdge(java.lang.Object cell)
public boolean isLinkEdge(java.lang.Object cell)
public void moveCells(java.lang.Object[] cells, double deltaX, double deltaY)
public void editCell(java.lang.Object cell)
public void deleteCells(java.lang.Object[] cells)
public void cloneCells(java.lang.Object[] cells)
public void copyCells()
public void pasteCells()
public void rebuildGraph()
public void clearGraph()
public CellBuffer exportCells(java.lang.Object[] cells)
public void importCells(CellBuffer buffer)
CellBuffer
's content
into the graph and synchronizes the resulting graph to the internal
data.public void printGraph()
public void addNode()
public void addEdge(java.lang.Object source, java.lang.Object target, boolean orderEdge)
public void undo()
public void redo()
public void openConfig()
openConfig
in interface de.ims.icarus.ui.helper.Configurable
public void collapseCells(java.lang.Object[] cells)
public void expandCells(java.lang.Object[] cells)
public void pauseChangeHandling()
public void resumeChangeHandling()
public boolean isIgnoringChanges()
public void pauseGraphChangeHandling()
public void resumeGraphChangeHandling()
public boolean isIgnoringGraphChanges()
protected void pauseModCountHandling()
protected void resumeModCountHandling()
protected boolean isIgnoringModCounts()
public boolean isHighlightedIncomingEdge(java.lang.Object edge)
public boolean isHighlightedOutgoingEdge(java.lang.Object edge)
public boolean canExpand(java.lang.Object cell)
public boolean canCollapse(java.lang.Object cell)
protected void executeChange(com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange change)