mxGraph 2.4.0.0


com.mxgraph.swing
Class mxGraphComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by com.mxgraph.swing.mxGraphComponent
All Implemented Interfaces:
ImageObserver, MenuContainer, Printable, Serializable, Accessible, ScrollPaneConstants

public class mxGraphComponent
extends JScrollPane
implements Printable

For setting the preferred size of the viewport for scrolling, use mxGraph.setMinimumGraphSize. This component is a combined scrollpane with an inner mxGraphControl. The control contains the actual graph display. To set the background color of the graph, use the following code:

 graphComponent.getViewport().setOpaque(true);
 graphComponent.getViewport().setBackground(newColor);
 
This class fires the following events: mxEvent.START_EDITING fires before starting the in-place editor for an existing cell in startEditingAtCell. The cell property contains the cell that is being edit and the event property contains optional EventObject which was passed to startEditingAtCell. mxEvent.LABEL_CHANGED fires between begin- and endUpdate after the call to mxGraph.cellLabelChanged in labelChanged. The cell property contains the cell, the value property contains the new value for the cell and the optional event property contains the EventObject that started the edit. mxEvent.ADD_OVERLAY and mxEvent.REMOVE_OVERLAY fire afer an overlay was added or removed using add-/removeOverlay. The cell property contains the cell for which the overlay was added or removed and the overlay property contain the mxOverlay. mxEvent.BEFORE_PAINT and mxEvent.AFTER_PAINT fire before and after the paint method is called on the component. The g property contains the graphics context which is used for painting.

See Also:
Serialized Form

Nested Class Summary
 class mxGraphComponent.mxGraphControl
           
static class mxGraphComponent.mxMouseRedirector
           
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  boolean antiAlias
           
protected  boolean autoExtend
          Whether to extend the graph bounds and scroll towards the limit of those new bounds in the direction of mouse travel if a handler is active while the mouse leaves the container that the graph exists in.
protected  boolean autoScroll
          Whether or not to scroll the scrollable container the graph exists in if a suitable handler is active and the graph bounds already exist extended in the direction of mouse travel.
protected  ImageIcon backgroundImage
          Specifies the to be returned by .
protected  mxInteractiveCanvas canvas
           
protected  mxICellEditor cellEditor
           
protected  boolean centerPage
          Specifies if the background page should be centered by automatically setting the translate in the view.
protected  boolean centerZoom
          Specifies if the zoom operations should go into the center of the actual diagram rather than going from top, left.
protected  ImageIcon collapsedIcon
           
protected  Hashtable<Object,Component[]> components
          Maps from cells to lists of heavyweights.
protected  mxConnectionHandler connectionHandler
           
static ImageIcon DEFAULT_COLLAPSED_ICON
           
static ImageIcon DEFAULT_EXPANDED_ICON
           
static double DEFAULT_PAGESCALE
          Specifies the default page scale.
static ImageIcon DEFAULT_WARNING_ICON
           
protected  boolean dragEnabled
           
protected  boolean enterStopsCellEditing
          If true, pressing the enter key without pressing control will stop editing and accept the new value.
protected  boolean escapeEnabled
          Specifies should be invoked when the escape key is pressed.
protected  mxEventSource eventSource
           
protected  ImageIcon expandedIcon
           
protected  boolean exportEnabled
           
protected  boolean foldingEnabled
          Specifies if folding (collapse and expand via an image icon in the graph should be enabled).
protected  mxGraph graph
           
protected  mxGraphComponent.mxGraphControl graphControl
           
protected  mxGraphHandler graphHandler
           
static int GRID_STYLE_CROSS
           
static int GRID_STYLE_DASHED
           
static int GRID_STYLE_DOT
           
static int GRID_STYLE_LINE
           
protected  Color gridColor
           
protected  int gridStyle
           
protected  boolean gridVisible
          Specifies if the grid is visible.
protected  int horizontalPageCount
          Specifies the number of pages in the horizontal direction.
protected  boolean importEnabled
           
protected  boolean invokesStopCellEditing
          If true, when editing is to be stopped by way of selection changing, data in diagram changing or other means stopCellEditing is invoked, and changes are saved.
protected  boolean keepSelectionVisibleOnZoom
          Specifies if the viewport should automatically contain the selection cells after a zoom operation.
protected  Hashtable<Object,mxICellOverlay[]> overlays
          Maps from cells to lists of overlays.
protected  Color pageBackgroundColor
          Color of the background area if layout view.
protected  Color pageBorderColor
           
protected  Color pageBreakColor
          Specifies the color of page breaks
protected  boolean pageBreaksVisible
          Specifies if a dashed line should be drawn between multiple pages.
protected  PageFormat pageFormat
          Background page format.
protected  double pageScale
          Defines the scaling for the background page metrics.
protected  Color pageShadowColor
           
protected  boolean pageVisible
          Specifies if the background page should be visible.
protected  mxPanningHandler panningHandler
           
protected  boolean preferPageSize
          If the pageFormat should be used to determine the minimal graph bounds even if the page is not visible (see pageVisible).
protected  float previewAlpha
          The transparency of previewed cells from 0.0.
protected  mxEventSource.mxIEventListener repaintHandler
           
protected  mxEventSource.mxIEventListener scaleHandler
          Resets the zoom policy if the scale is changed manually.
protected  mxSelectionCellsHandler selectionCellsHandler
           
 boolean showDirtyRectangle
          Used for debugging the dirty region.
protected  boolean swimlaneSelectionEnabled
          Specifies if swimlanes are selected when the mouse is released over the swimlanes content area.
protected  boolean textAntiAlias
           
protected  int tolerance
          Specifies the tolerance for mouse clicks.
protected  boolean transparentSwimlaneContent
          Specifies if the content area should be transparent to events.
protected  BufferedImage tripleBuffer
           
protected  boolean tripleBuffered
          Specifies if an image buffer should be used for painting the component.
protected  Graphics2D tripleBufferGraphics
           
protected  mxEventSource.mxIEventListener updateHandler
          Updates the heavyweight component structure after any changes.
protected  int verticalPageCount
          Specifies the number of pages in the vertical direction.
protected  PropertyChangeListener viewChangeHandler
           
protected  ImageIcon warningIcon
           
static int ZOOM_POLICY_NONE
           
static int ZOOM_POLICY_PAGE
           
static int ZOOM_POLICY_WIDTH
           
protected  double zoomFactor
          Specifies the factor used for zoomIn and zoomOut.
protected  int zoomPolicy
          Specifies the zoom policy.
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface javax.swing.ScrollPaneConstants
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
mxGraphComponent(mxGraph graph)
           
 
Method Summary
 mxICellOverlay addCellOverlay(Object cell, mxICellOverlay overlay)
          Adds an overlay for the specified cell.
 void addListener(String eventName, mxEventSource.mxIEventListener listener)
           
 boolean canExportCell(Object cell)
          Returns true if the given cell can be exported via datatransfer.
 boolean canImportCell(Object cell)
          Returns true if the given cell can be imported via datatransfer.
 void checkTripleBuffer()
          Checks if the triple buffer exists and creates a new one if it does not.
 void clearCellOverlays()
          Removes all overlays in the graph.
 void clearCellOverlays(Object cell)
          Removes all overlays in the graph for the given cell and all its descendants.
 mxInteractiveCanvas createCanvas()
          Hook for subclassers to replace the graphics canvas for rendering and and printing.
protected  mxICellEditor createCellEditor()
           
 Component[] createComponents(mxCellState state)
          Hook for subclassers to create the array of heavyweights for the given state.
protected  mxConnectionHandler createConnectionHandler()
           
protected  mxGraphComponent.mxGraphControl createGraphControl()
          Creates the inner control that handles tooltips, preferred size and can draw cells onto a canvas.
protected  mxGraphHandler createGraphHandler()
           
 mxCellHandler createHandler(mxCellState state)
           
protected  void createHandlers()
          Creates the connection-, panning and graphhandler (in this order).
protected  mxPanningHandler createPanningHandler()
           
protected  mxSelectionCellsHandler createSelectionCellsHandler()
           
protected  TransferHandler createTransferHandler()
           
protected  void createTripleBuffer(int width, int height)
          Creates the tripleBufferGraphics and tripleBuffer for the given dimension and draws the complete graph onto the triplebuffer.
 void destroyTripleBuffer()
          Destroys the tripleBuffer and tripleBufferGraphics objects.
 void escape(KeyEvent e)
          Callback to process an escape keystroke.
 ImageIcon getBackgroundImage()
           
 mxInteractiveCanvas getCanvas()
           
 Object getCellAt(int x, int y)
           
 Object getCellAt(int x, int y, boolean hitSwimlaneContent)
           
 Object getCellAt(int x, int y, boolean hitSwimlaneContent, Object parent)
          Returns the bottom-most cell that intersects the given point (x, y) in the cell hierarchy starting at the given parent.
 mxICellEditor getCellEditor()
           
 mxICellOverlay[] getCellOverlays(Object cell)
          Returns the array of overlays for the given cell or null, if no overlays are defined.
 Object[] getCells(Rectangle rect)
          Returns the cells inside the given rectangle.
 Object[] getCells(Rectangle rect, Object parent)
          Returns the children of the given parent that are contained in the given rectangle (x, y, width, height).
 mxConnectionHandler getConnectionHandler()
           
 String getEditingValue(Object cell, EventObject trigger)
           
 Object[] getExportableCells(Object[] cells)
          Returns all cells which may be exported via datatransfer.
 ImageIcon getFoldingIcon(mxCellState state)
          Returns the icon used to display the collapsed state of the specified cell state.
 Rectangle getFoldingIconBounds(mxCellState state, ImageIcon icon)
           
 mxGraph getGraph()
           
 mxGraphComponent.mxGraphControl getGraphControl()
           
 mxGraphHandler getGraphHandler()
           
 Color getGridColor()
           
 int getGridStyle()
           
 int getHorizontalPageBorder()
          Returns the horizontal border between the page and the control.
 int getHorizontalPageCount()
           
 Object[] getImportableCells(Object[] cells)
          Returns all cells which may be imported via datatransfer.
 mxRectangle getLayoutAreaSize()
          Returns the size of the area that layouts can operate in.
 Color getPageBackgroundColor()
           
 Color getPageBorderColor()
           
 Color getPageBreakColor()
           
 PageFormat getPageFormat()
           
 double getPageScale()
           
 Color getPageShadowColor()
           
protected  mxPoint getPageTranslate(double scale)
          Should be called by a hook inside mxGraphView/mxGraph
 mxPanningHandler getPanningHandler()
           
 mxPoint getPointForEvent(MouseEvent e)
          Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
 mxPoint getPointForEvent(MouseEvent e, boolean addOffset)
          Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
protected  Dimension getPreferredSizeForPage()
          Returns the (unscaled) preferred size for the current page format (scaled by pageScale).
 float getPreviewAlpha()
           
protected  Dimension getScaledPreferredSizeForGraph()
          Returns the scaled preferred size for the current graph.
 mxSelectionCellsHandler getSelectionCellsHandler()
           
 int getTolerance()
           
 BufferedImage getTripleBuffer()
           
 int getVerticalPageBorder()
          Returns the vertical border between the page and the control.
 int getVerticalPageCount()
           
 double getZoomFactor()
           
 int getZoomPolicy()
           
 boolean hitFoldingIcon(Object cell, int x, int y)
           
 Object[] importCells(Object[] cells, double dx, double dy, Object target, Point location)
          Clones and inserts the given cells into the graph using the move method and returns the inserted cells.
 void insertComponent(mxCellState state, Component c)
           
protected  void installDoubleClickHandler()
          Adds handling of edit and stop-edit events after all other handlers have been installed.
protected  void installFocusHandler()
          installs a handler to set the focus to the container.
protected  void installKeyHandler()
          Handles escape keystrokes.
protected  void installResizeHandler()
          Applies the zoom policy if the size of the component changes.
 boolean isAntiAlias()
           
 boolean isAutoExtend()
           
 boolean isAutoScroll()
           
 boolean isCenterPage()
           
 boolean isCenterZoom()
           
 boolean isCloneEvent(MouseEvent event)
           
 boolean isConnectable()
           
 boolean isConstrainedEvent(MouseEvent event)
          Note: This is not used during drag and drop operations due to limitations of the underlying API.
 boolean isDragEnabled()
           
 boolean isEditEvent(MouseEvent e)
           
 boolean isEditing()
           
 boolean isEnterStopsCellEditing()
           
 boolean isEscapeEnabled()
           
 boolean isEventsEnabled()
           
 boolean isExportEnabled()
           
 boolean isFoldingEnabled()
           
 boolean isForceMarqueeEvent(MouseEvent event)
          Note: This is not used during drag and drop operations due to limitations of the underlying API.
 boolean isForceTripleBuffered()
          Hook for dynamic triple buffering condition.
 boolean isGridEnabledEvent(MouseEvent event)
           
 boolean isGridVisible()
           
 boolean isImportEnabled()
          Returns importEnabled.
 boolean isInvokesStopCellEditing()
           
 boolean isKeepSelectionVisibleOnZoom()
           
 boolean isPageBreaksVisible()
           
 boolean isPageVisible()
           
 boolean isPanning()
           
 boolean isPanningEvent(MouseEvent event)
          Note: This is not used during drag and drop operations due to limitations of the underlying API.
 boolean isPreferPageSize()
           
 boolean isSignificant(double dx, double dy)
          Returns true if the absolute value of one of the given parameters is greater than the tolerance.
 boolean isSwimlaneSelectionEnabled()
           
 boolean isTextAntiAlias()
           
 boolean isToggleEvent(MouseEvent event)
           
 boolean isTripleBuffered()
           
 Object labelChanged(Object cell, Object value, EventObject evt)
          Sets the label of the specified cell to the given value using mxGraph.cellLabelChanged and fires mxEvent.LABEL_CHANGED while the transaction is in progress.
protected  void maintainScrollBar(boolean horizontal, double factor, boolean center)
           
protected  void paintBackground(Graphics g)
           
protected  void paintBackgroundImage(Graphics g)
           
protected  Rectangle paintBackgroundPage(Graphics g)
           
protected  void paintGrid(Graphics g)
          Paints the grid onto the given graphics object.
 int print(Graphics g, PageFormat printFormat, int page)
          Prints the specified page on the specified graphics using pageFormat for the page format.
 void redraw(mxCellState state)
          Updates the buffer (if one exists) and repaints the given cell state.
 void refresh()
          Refreshes the display and handles.
 void removeAllComponents(Hashtable<Object,Component[]> map)
           
 void removeAllOverlays(Hashtable<Object,mxICellOverlay[]> map)
           
 mxICellOverlay removeCellOverlay(Object cell, mxICellOverlay overlay)
          Removes and returns the given overlay from the given cell.
protected  void removeCellOverlayComponent(mxICellOverlay overlay, Object cell)
          Notified when an overlay has been removed from the graph.
 mxICellOverlay[] removeCellOverlays(Object cell)
          Removes all overlays from the given cell.
 void removeComponent(Component c, Object cell)
           
 void removeListener(mxEventSource.mxIEventListener listener)
           
 void removeListener(mxEventSource.mxIEventListener listener, String eventName)
           
 void repaintTripleBuffer(Rectangle dirty)
          Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.
 void scrollCellToVisible(Object cell)
          Scrolls the graph so that it shows the given cell.
 void scrollCellToVisible(Object cell, boolean center)
          Scrolls the graph so that it shows the given cell.
 void scrollToCenter(boolean horizontal)
           
 void selectCellForEvent(Object cell, MouseEvent e)
          Selects the cell for the given event.
 void selectCellsForEvent(Object[] cells, MouseEvent event)
          Selects the cells for the given event.
 Object[] selectRegion(Rectangle rect, MouseEvent e)
           
 void setAntiAlias(boolean value)
          Fires a property change event for antiAlias.
 void setAutoExtend(boolean value)
           
 void setAutoScroll(boolean value)
           
 void setBackgroundImage(ImageIcon value)
           
 void setCellEditor(mxICellEditor value)
           
 mxICellOverlay setCellWarning(Object cell, String warning)
          Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
 mxICellOverlay setCellWarning(Object cell, String warning, ImageIcon icon)
          Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
 mxICellOverlay setCellWarning(Object cell, String warning, ImageIcon icon, boolean select)
          Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
 void setCenterPage(boolean value)
          zoomAndCenter should be called if this is set to true.
 void setCenterZoom(boolean value)
           
 void setConnectable(boolean connectable)
           
 void setDragEnabled(boolean value)
           
 void setEnterStopsCellEditing(boolean value)
           
 void setEscapeEnabled(boolean value)
           
 void setEventsEnabled(boolean eventsEnabled)
           
 void setExportEnabled(boolean value)
           
 void setFoldingEnabled(boolean value)
           
 void setGraph(mxGraph value)
           
 void setGridColor(Color value)
          Fires a property change event for gridColor.
 void setGridStyle(int value)
          Fires a property change event for gridStyle.
 void setGridVisible(boolean value)
          Fires a property change event for gridVisible.
 void setHorizontalPageCount(int value)
           
 void setImportEnabled(boolean value)
          Sets importEnabled.
 void setInvokesStopCellEditing(boolean value)
           
 void setKeepSelectionVisibleOnZoom(boolean value)
           
 void setPageBackgroundColor(Color value)
          Sets the color that appears behind the page.
 void setPageBorderColor(Color value)
           
 void setPageBreakColor(Color pageBreakColor)
           
 void setPageBreaksVisible(boolean value)
           
 void setPageFormat(PageFormat value)
           
 void setPageScale(double value)
           
 void setPageShadowColor(Color value)
           
 void setPageVisible(boolean value)
          Fires a property change event for pageVisible.
 void setPanning(boolean enabled)
           
 void setPreferPageSize(boolean value)
          Fires a property change event for preferPageSize.
 void setPreviewAlpha(float value)
           
 void setSwimlaneSelectionEnabled(boolean value)
           
 void setTextAntiAlias(boolean value)
          Fires a property change event for textAntiAlias.
 void setTolerance(int value)
           
 void setToolTips(boolean enabled)
           
 void setTripleBuffered(boolean value)
           
 void setVerticalPageCount(int value)
           
 void setZoomFactor(double value)
           
 void setZoomPolicy(int value)
           
 mxPoint snapScaledPoint(mxPoint pt)
           
 mxPoint snapScaledPoint(mxPoint pt, double dx, double dy)
           
 void startEditing()
           
 void startEditingAtCell(Object cell)
           
 void startEditingAtCell(Object cell, EventObject evt)
           
 void stopEditing(boolean cancel)
           
protected  void updateCellOverlayComponent(mxCellState state, mxICellOverlay overlay)
          Notified when an overlay has been removed from the graph.
 Hashtable<Object,mxICellOverlay[]> updateCellOverlays(Object cell)
          Returns a hashtable with all entries from the overlays variable where a cell still exists in the model.
 void updateComponent(mxCellState state, Component c)
           
 void updateComponents()
           
 Hashtable<Object,Component[]> updateComponents(Object cell)
           
 String validateGraph()
          Validates the graph by validating each descendant of the given cell or the root of the model.
 String validateGraph(Object cell, Hashtable<Object,Object> context)
          Validates the graph by validating each descendant of the given cell or the root of the model.
 void zoom(boolean page, boolean center)
           
 void zoom(double factor)
           
 void zoomActual()
          Function: zoomActual Resets the zoom and panning in the view.
 void zoomAndCenter()
          Invoked after the component was resized to update the zoom if the zoom policy is not none and/or update the translation of the diagram if pageVisible and centerPage are true.
 void zoomIn()
          Zooms into the graph by zoomFactor.
 void zoomOut()
          Function: zoomOut Zooms out of the graph by .
 void zoomTo(double newScale, boolean center)
           
 
Methods inherited from class javax.swing.JScrollPane
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
 
Methods inherited from class javax.swing.JComponent
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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
 
Methods inherited from class java.awt.Container
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, transferFocusBackward, 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, 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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GRID_STYLE_DOT

public static final int GRID_STYLE_DOT
See Also:
Constant Field Values

GRID_STYLE_CROSS

public static final int GRID_STYLE_CROSS
See Also:
Constant Field Values

GRID_STYLE_LINE

public static final int GRID_STYLE_LINE
See Also:
Constant Field Values

GRID_STYLE_DASHED

public static final int GRID_STYLE_DASHED
See Also:
Constant Field Values

ZOOM_POLICY_NONE

public static final int ZOOM_POLICY_NONE
See Also:
Constant Field Values

ZOOM_POLICY_PAGE

public static final int ZOOM_POLICY_PAGE
See Also:
Constant Field Values

ZOOM_POLICY_WIDTH

public static final int ZOOM_POLICY_WIDTH
See Also:
Constant Field Values

DEFAULT_EXPANDED_ICON

public static ImageIcon DEFAULT_EXPANDED_ICON

DEFAULT_COLLAPSED_ICON

public static ImageIcon DEFAULT_COLLAPSED_ICON

DEFAULT_WARNING_ICON

public static ImageIcon DEFAULT_WARNING_ICON

DEFAULT_PAGESCALE

public static final double DEFAULT_PAGESCALE
Specifies the default page scale. Default is 1.4

See Also:
Constant Field Values

graph

protected mxGraph graph

graphControl

protected mxGraphComponent.mxGraphControl graphControl

eventSource

protected mxEventSource eventSource

cellEditor

protected mxICellEditor cellEditor

connectionHandler

protected mxConnectionHandler connectionHandler

panningHandler

protected mxPanningHandler panningHandler

selectionCellsHandler

protected mxSelectionCellsHandler selectionCellsHandler

graphHandler

protected mxGraphHandler graphHandler

previewAlpha

protected float previewAlpha
The transparency of previewed cells from 0.0. to 0.1. 0.0 indicates transparent, 1.0 indicates opaque. Default is 1.


backgroundImage

protected ImageIcon backgroundImage
Specifies the to be returned by . Default is null.


pageFormat

protected PageFormat pageFormat
Background page format.


canvas

protected mxInteractiveCanvas canvas

tripleBuffer

protected BufferedImage tripleBuffer

tripleBufferGraphics

protected Graphics2D tripleBufferGraphics

pageScale

protected double pageScale
Defines the scaling for the background page metrics. Default is DEFAULT_PAGESCALE.


pageVisible

protected boolean pageVisible
Specifies if the background page should be visible. Default is false.


preferPageSize

protected boolean preferPageSize
If the pageFormat should be used to determine the minimal graph bounds even if the page is not visible (see pageVisible). Default is false.


pageBreaksVisible

protected boolean pageBreaksVisible
Specifies if a dashed line should be drawn between multiple pages.


pageBreakColor

protected Color pageBreakColor
Specifies the color of page breaks


horizontalPageCount

protected int horizontalPageCount
Specifies the number of pages in the horizontal direction.


verticalPageCount

protected int verticalPageCount
Specifies the number of pages in the vertical direction.


centerPage

protected boolean centerPage
Specifies if the background page should be centered by automatically setting the translate in the view. Default is true. This does only apply if pageVisible is true.


pageBackgroundColor

protected Color pageBackgroundColor
Color of the background area if layout view.


pageShadowColor

protected Color pageShadowColor

pageBorderColor

protected Color pageBorderColor

gridVisible

protected boolean gridVisible
Specifies if the grid is visible. Default is false.


gridColor

protected Color gridColor

autoScroll

protected boolean autoScroll
Whether or not to scroll the scrollable container the graph exists in if a suitable handler is active and the graph bounds already exist extended in the direction of mouse travel.


autoExtend

protected boolean autoExtend
Whether to extend the graph bounds and scroll towards the limit of those new bounds in the direction of mouse travel if a handler is active while the mouse leaves the container that the graph exists in.


dragEnabled

protected boolean dragEnabled

importEnabled

protected boolean importEnabled

exportEnabled

protected boolean exportEnabled

foldingEnabled

protected boolean foldingEnabled
Specifies if folding (collapse and expand via an image icon in the graph should be enabled). Default is true.


tolerance

protected int tolerance
Specifies the tolerance for mouse clicks. Default is 4.


swimlaneSelectionEnabled

protected boolean swimlaneSelectionEnabled
Specifies if swimlanes are selected when the mouse is released over the swimlanes content area. Default is true.


transparentSwimlaneContent

protected boolean transparentSwimlaneContent
Specifies if the content area should be transparent to events. Default is true.


gridStyle

protected int gridStyle

expandedIcon

protected ImageIcon expandedIcon

collapsedIcon

protected ImageIcon collapsedIcon

warningIcon

protected ImageIcon warningIcon

antiAlias

protected boolean antiAlias

textAntiAlias

protected boolean textAntiAlias

escapeEnabled

protected boolean escapeEnabled
Specifies should be invoked when the escape key is pressed. Default is true.


invokesStopCellEditing

protected boolean invokesStopCellEditing
If true, when editing is to be stopped by way of selection changing, data in diagram changing or other means stopCellEditing is invoked, and changes are saved. This is implemented in a mouse listener in this class. Default is true.


enterStopsCellEditing

protected boolean enterStopsCellEditing
If true, pressing the enter key without pressing control will stop editing and accept the new value. This is used in to stop cell editing. Default is false.


zoomPolicy

protected int zoomPolicy
Specifies the zoom policy. Default is ZOOM_POLICY_PAGE. The zoom policy does only apply if pageVisible is true.


zoomFactor

protected double zoomFactor
Specifies the factor used for zoomIn and zoomOut. Default is 1.2 (120%).


keepSelectionVisibleOnZoom

protected boolean keepSelectionVisibleOnZoom
Specifies if the viewport should automatically contain the selection cells after a zoom operation. Default is false.


centerZoom

protected boolean centerZoom
Specifies if the zoom operations should go into the center of the actual diagram rather than going from top, left. Default is true.


tripleBuffered

protected boolean tripleBuffered
Specifies if an image buffer should be used for painting the component. Default is false.


showDirtyRectangle

public boolean showDirtyRectangle
Used for debugging the dirty region.


components

protected Hashtable<Object,Component[]> components
Maps from cells to lists of heavyweights.


overlays

protected Hashtable<Object,mxICellOverlay[]> overlays
Maps from cells to lists of overlays.


updateHandler

protected mxEventSource.mxIEventListener updateHandler
Updates the heavyweight component structure after any changes.


repaintHandler

protected mxEventSource.mxIEventListener repaintHandler

viewChangeHandler

protected PropertyChangeListener viewChangeHandler

scaleHandler

protected mxEventSource.mxIEventListener scaleHandler
Resets the zoom policy if the scale is changed manually.

Constructor Detail

mxGraphComponent

public mxGraphComponent(mxGraph graph)
Parameters:
graph -
Method Detail

installFocusHandler

protected void installFocusHandler()
installs a handler to set the focus to the container.


installKeyHandler

protected void installKeyHandler()
Handles escape keystrokes.


installResizeHandler

protected void installResizeHandler()
Applies the zoom policy if the size of the component changes.


installDoubleClickHandler

protected void installDoubleClickHandler()
Adds handling of edit and stop-edit events after all other handlers have been installed.


createCellEditor

protected mxICellEditor createCellEditor()

setGraph

public void setGraph(mxGraph value)

getGraph

public mxGraph getGraph()
Returns:
Returns the object that contains the graph.

createGraphControl

protected mxGraphComponent.mxGraphControl createGraphControl()
Creates the inner control that handles tooltips, preferred size and can draw cells onto a canvas.


getGraphControl

public mxGraphComponent.mxGraphControl getGraphControl()
Returns:
Returns the control that renders the graph.

createHandlers

protected void createHandlers()
Creates the connection-, panning and graphhandler (in this order).


createTransferHandler

protected TransferHandler createTransferHandler()

createSelectionCellsHandler

protected mxSelectionCellsHandler createSelectionCellsHandler()

createGraphHandler

protected mxGraphHandler createGraphHandler()

getSelectionCellsHandler

public mxSelectionCellsHandler getSelectionCellsHandler()

getGraphHandler

public mxGraphHandler getGraphHandler()

createConnectionHandler

protected mxConnectionHandler createConnectionHandler()

getConnectionHandler

public mxConnectionHandler getConnectionHandler()

createPanningHandler

protected mxPanningHandler createPanningHandler()

getPanningHandler

public mxPanningHandler getPanningHandler()

isEditing

public boolean isEditing()

getCellEditor

public mxICellEditor getCellEditor()

setCellEditor

public void setCellEditor(mxICellEditor value)

getTolerance

public int getTolerance()
Returns:
the tolerance

setTolerance

public void setTolerance(int value)
Parameters:
value - the tolerance to set

getPageFormat

public PageFormat getPageFormat()

setPageFormat

public void setPageFormat(PageFormat value)

getPageScale

public double getPageScale()

setPageScale

public void setPageScale(double value)

getLayoutAreaSize

public mxRectangle getLayoutAreaSize()
Returns the size of the area that layouts can operate in.


getBackgroundImage

public ImageIcon getBackgroundImage()

setBackgroundImage

public void setBackgroundImage(ImageIcon value)

isPageVisible

public boolean isPageVisible()
Returns:
the pageVisible

setPageVisible

public void setPageVisible(boolean value)
Fires a property change event for pageVisible. zoomAndCenter should be called if this is set to true.

Parameters:
value - the pageVisible to set

isPreferPageSize

public boolean isPreferPageSize()
Returns:
the preferPageSize

setPreferPageSize

public void setPreferPageSize(boolean value)
Fires a property change event for preferPageSize.

Parameters:
value - the preferPageSize to set

isPageBreaksVisible

public boolean isPageBreaksVisible()
Returns:
the pageBreaksVisible

setPageBreaksVisible

public void setPageBreaksVisible(boolean value)
Parameters:
value - the pageBreaksVisible to set

getPageBreakColor

public Color getPageBreakColor()
Returns:
the pageBreakColor

setPageBreakColor

public void setPageBreakColor(Color pageBreakColor)
Parameters:
pageBreakColor - the pageBreakColor to set

setHorizontalPageCount

public void setHorizontalPageCount(int value)
Parameters:
value - the horizontalPageCount to set

getHorizontalPageCount

public int getHorizontalPageCount()

setVerticalPageCount

public void setVerticalPageCount(int value)
Parameters:
value - the verticalPageCount to set

getVerticalPageCount

public int getVerticalPageCount()

isCenterPage

public boolean isCenterPage()
Returns:
the centerPage

setCenterPage

public void setCenterPage(boolean value)
zoomAndCenter should be called if this is set to true.

Parameters:
value - the centerPage to set

getPageBackgroundColor

public Color getPageBackgroundColor()
Returns:
the pageBackgroundColor

setPageBackgroundColor

public void setPageBackgroundColor(Color value)
Sets the color that appears behind the page.

Parameters:
value - the pageBackgroundColor to set

getPageShadowColor

public Color getPageShadowColor()
Returns:
the pageShadowColor

setPageShadowColor

public void setPageShadowColor(Color value)
Parameters:
value - the pageShadowColor to set

getPageBorderColor

public Color getPageBorderColor()
Returns:
the pageShadowColor

setPageBorderColor

public void setPageBorderColor(Color value)
Parameters:
value - the pageBorderColor to set

isKeepSelectionVisibleOnZoom

public boolean isKeepSelectionVisibleOnZoom()
Returns:
the keepSelectionVisibleOnZoom

setKeepSelectionVisibleOnZoom

public void setKeepSelectionVisibleOnZoom(boolean value)
Parameters:
value - the keepSelectionVisibleOnZoom to set

getZoomFactor

public double getZoomFactor()
Returns:
the zoomFactor

setZoomFactor

public void setZoomFactor(double value)
Parameters:
value - the zoomFactor to set

isCenterZoom

public boolean isCenterZoom()
Returns:
the centerZoom

setCenterZoom

public void setCenterZoom(boolean value)
Parameters:
value - the centerZoom to set

setZoomPolicy

public void setZoomPolicy(int value)

getZoomPolicy

public int getZoomPolicy()

escape

public void escape(KeyEvent e)
Callback to process an escape keystroke.

Parameters:
e -

importCells

public Object[] importCells(Object[] cells,
                            double dx,
                            double dy,
                            Object target,
                            Point location)
Clones and inserts the given cells into the graph using the move method and returns the inserted cells. This shortcut is used if cells are inserted via datatransfer.


refresh

public void refresh()
Refreshes the display and handles.


getPointForEvent

public mxPoint getPointForEvent(MouseEvent e)
Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.


getPointForEvent

public mxPoint getPointForEvent(MouseEvent e,
                                boolean addOffset)
Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.


startEditing

public void startEditing()

startEditingAtCell

public void startEditingAtCell(Object cell)

startEditingAtCell

public void startEditingAtCell(Object cell,
                               EventObject evt)

getEditingValue

public String getEditingValue(Object cell,
                              EventObject trigger)

stopEditing

public void stopEditing(boolean cancel)

labelChanged

public Object labelChanged(Object cell,
                           Object value,
                           EventObject evt)
Sets the label of the specified cell to the given value using mxGraph.cellLabelChanged and fires mxEvent.LABEL_CHANGED while the transaction is in progress. Returns the cell whose label was changed.

Parameters:
cell - Cell whose label should be changed.
value - New value of the label.
evt - Optional event that triggered the change.

getPreferredSizeForPage

protected Dimension getPreferredSizeForPage()
Returns the (unscaled) preferred size for the current page format (scaled by pageScale).


getVerticalPageBorder

public int getVerticalPageBorder()
Returns the vertical border between the page and the control.


getHorizontalPageBorder

public int getHorizontalPageBorder()
Returns the horizontal border between the page and the control.


getScaledPreferredSizeForGraph

protected Dimension getScaledPreferredSizeForGraph()
Returns the scaled preferred size for the current graph.


getPageTranslate

protected mxPoint getPageTranslate(double scale)
Should be called by a hook inside mxGraphView/mxGraph


zoomAndCenter

public void zoomAndCenter()
Invoked after the component was resized to update the zoom if the zoom policy is not none and/or update the translation of the diagram if pageVisible and centerPage are true.


zoomIn

public void zoomIn()
Zooms into the graph by zoomFactor.


zoomOut

public void zoomOut()
Function: zoomOut Zooms out of the graph by .


zoom

public void zoom(double factor)

zoomTo

public void zoomTo(double newScale,
                   boolean center)

zoomActual

public void zoomActual()
Function: zoomActual Resets the zoom and panning in the view.


zoom

public void zoom(boolean page,
                 boolean center)

maintainScrollBar

protected void maintainScrollBar(boolean horizontal,
                                 double factor,
                                 boolean center)

scrollToCenter

public void scrollToCenter(boolean horizontal)

scrollCellToVisible

public void scrollCellToVisible(Object cell)
Scrolls the graph so that it shows the given cell.

Parameters:
cell -

scrollCellToVisible

public void scrollCellToVisible(Object cell,
                                boolean center)
Scrolls the graph so that it shows the given cell.

Parameters:
cell -

getCellAt

public Object getCellAt(int x,
                        int y)
Parameters:
x -
y -
Returns:
Returns the cell at the given location.

getCellAt

public Object getCellAt(int x,
                        int y,
                        boolean hitSwimlaneContent)
Parameters:
x -
y -
hitSwimlaneContent -
Returns:
Returns the cell at the given location.

getCellAt

public Object getCellAt(int x,
                        int y,
                        boolean hitSwimlaneContent,
                        Object parent)
Returns the bottom-most cell that intersects the given point (x, y) in the cell hierarchy starting at the given parent.

Parameters:
x - X-coordinate of the location to be checked.
y - Y-coordinate of the location to be checked.
parent - that should be used as the root of the recursion. Default is .
Returns:
Returns the child at the given location.

setSwimlaneSelectionEnabled

public void setSwimlaneSelectionEnabled(boolean value)

isSwimlaneSelectionEnabled

public boolean isSwimlaneSelectionEnabled()

selectRegion

public Object[] selectRegion(Rectangle rect,
                             MouseEvent e)

getCells

public Object[] getCells(Rectangle rect)
Returns the cells inside the given rectangle.

Returns:
Returns the cells inside the given rectangle.

getCells

public Object[] getCells(Rectangle rect,
                         Object parent)
Returns the children of the given parent that are contained in the given rectangle (x, y, width, height). The result is added to the optional result array, which is returned from the function. If no result array is specified then a new array is created and returned.

Returns:
Returns the children inside the given rectangle.

selectCellsForEvent

public void selectCellsForEvent(Object[] cells,
                                MouseEvent event)
Selects the cells for the given event.


selectCellForEvent

public void selectCellForEvent(Object cell,
                               MouseEvent e)
Selects the cell for the given event.


isSignificant

public boolean isSignificant(double dx,
                             double dy)
Returns true if the absolute value of one of the given parameters is greater than the tolerance.


getFoldingIcon

public ImageIcon getFoldingIcon(mxCellState state)
Returns the icon used to display the collapsed state of the specified cell state. This returns null for all edges.


getFoldingIconBounds

public Rectangle getFoldingIconBounds(mxCellState state,
                                      ImageIcon icon)

hitFoldingIcon

public boolean hitFoldingIcon(Object cell,
                              int x,
                              int y)

setToolTips

public void setToolTips(boolean enabled)
Parameters:
enabled -

isConnectable

public boolean isConnectable()

setConnectable

public void setConnectable(boolean connectable)
Parameters:
connectable -

isPanning

public boolean isPanning()

setPanning

public void setPanning(boolean enabled)
Parameters:
enabled -

isAutoScroll

public boolean isAutoScroll()
Returns:
the autoScroll

setAutoScroll

public void setAutoScroll(boolean value)
Parameters:
value - the autoScroll to set

isAutoExtend

public boolean isAutoExtend()
Returns:
the autoExtend

setAutoExtend

public void setAutoExtend(boolean value)
Parameters:
value - the autoExtend to set

isEscapeEnabled

public boolean isEscapeEnabled()
Returns:
the escapeEnabled

setEscapeEnabled

public void setEscapeEnabled(boolean value)
Parameters:
value - the escapeEnabled to set

isInvokesStopCellEditing

public boolean isInvokesStopCellEditing()
Returns:
the escapeEnabled

setInvokesStopCellEditing

public void setInvokesStopCellEditing(boolean value)
Parameters:
value - the invokesStopCellEditing to set

isEnterStopsCellEditing

public boolean isEnterStopsCellEditing()
Returns:
the enterStopsCellEditing

setEnterStopsCellEditing

public void setEnterStopsCellEditing(boolean value)
Parameters:
value - the enterStopsCellEditing to set

isDragEnabled

public boolean isDragEnabled()
Returns:
the dragEnabled

setDragEnabled

public void setDragEnabled(boolean value)
Parameters:
value - the dragEnabled to set

isGridVisible

public boolean isGridVisible()
Returns:
the gridVisible

setGridVisible

public void setGridVisible(boolean value)
Fires a property change event for gridVisible.

Parameters:
value - the gridVisible to set

isAntiAlias

public boolean isAntiAlias()
Returns:
the gridVisible

setAntiAlias

public void setAntiAlias(boolean value)
Fires a property change event for antiAlias.

Parameters:
value - the antiAlias to set

isTextAntiAlias

public boolean isTextAntiAlias()
Returns:
the gridVisible

setTextAntiAlias

public void setTextAntiAlias(boolean value)
Fires a property change event for textAntiAlias.

Parameters:
value - the textAntiAlias to set

getPreviewAlpha

public float getPreviewAlpha()

setPreviewAlpha

public void setPreviewAlpha(float value)

isTripleBuffered

public boolean isTripleBuffered()
Returns:
the tripleBuffered

isForceTripleBuffered

public boolean isForceTripleBuffered()
Hook for dynamic triple buffering condition.


setTripleBuffered

public void setTripleBuffered(boolean value)
Parameters:
value - the tripleBuffered to set

getGridColor

public Color getGridColor()
Returns:
the gridColor

setGridColor

public void setGridColor(Color value)
Fires a property change event for gridColor.

Parameters:
value - the gridColor to set

getGridStyle

public int getGridStyle()
Returns:
the gridStyle

setGridStyle

public void setGridStyle(int value)
Fires a property change event for gridStyle.

Parameters:
value - the gridStyle to set

isImportEnabled

public boolean isImportEnabled()
Returns importEnabled.


setImportEnabled

public void setImportEnabled(boolean value)
Sets importEnabled.


getImportableCells

public Object[] getImportableCells(Object[] cells)
Returns all cells which may be imported via datatransfer.


canImportCell

public boolean canImportCell(Object cell)
Returns true if the given cell can be imported via datatransfer. This returns importEnabled.


isExportEnabled

public boolean isExportEnabled()
Returns:
the exportEnabled

setExportEnabled

public void setExportEnabled(boolean value)
Parameters:
value - the exportEnabled to set

getExportableCells

public Object[] getExportableCells(Object[] cells)
Returns all cells which may be exported via datatransfer.


canExportCell

public boolean canExportCell(Object cell)
Returns true if the given cell can be exported via datatransfer.


isFoldingEnabled

public boolean isFoldingEnabled()
Returns:
the foldingEnabled

setFoldingEnabled

public void setFoldingEnabled(boolean value)
Parameters:
value - the foldingEnabled to set

isEditEvent

public boolean isEditEvent(MouseEvent e)

isCloneEvent

public boolean isCloneEvent(MouseEvent event)
Parameters:
event -
Returns:
Returns true if the given event should toggle selected cells.

isToggleEvent

public boolean isToggleEvent(MouseEvent event)
Parameters:
event -
Returns:
Returns true if the given event should toggle selected cells.

isGridEnabledEvent

public boolean isGridEnabledEvent(MouseEvent event)
Parameters:
event -
Returns:
Returns true if the given event allows the grid to be applied.

isPanningEvent

public boolean isPanningEvent(MouseEvent event)
Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.

Parameters:
event -
Returns:
Returns true if the given event is a panning event.

isConstrainedEvent

public boolean isConstrainedEvent(MouseEvent event)
Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.

Parameters:
event -
Returns:
Returns true if the given event is constrained.

isForceMarqueeEvent

public boolean isForceMarqueeEvent(MouseEvent event)
Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.

Parameters:
event -
Returns:
Returns true if the given event is constrained.

snapScaledPoint

public mxPoint snapScaledPoint(mxPoint pt)

snapScaledPoint

public mxPoint snapScaledPoint(mxPoint pt,
                               double dx,
                               double dy)

print

public int print(Graphics g,
                 PageFormat printFormat,
                 int page)
Prints the specified page on the specified graphics using pageFormat for the page format.

Specified by:
print in interface Printable
Parameters:
g - The graphics to paint the graph on.
printFormat - The page format to use for printing.
page - The page to print
Returns:
Returns Printable.PAGE_EXISTS or Printable.NO_SUCH_PAGE.

getCanvas

public mxInteractiveCanvas getCanvas()

getTripleBuffer

public BufferedImage getTripleBuffer()

createCanvas

public mxInteractiveCanvas createCanvas()
Hook for subclassers to replace the graphics canvas for rendering and and printing. This must be overridden to return a custom canvas if there are any custom shapes.


createHandler

public mxCellHandler createHandler(mxCellState state)
Parameters:
state - Cell state for which a handler should be created.
Returns:
Returns the handler to be used for the given cell state.

createComponents

public Component[] createComponents(mxCellState state)
Hook for subclassers to create the array of heavyweights for the given state.


insertComponent

public void insertComponent(mxCellState state,
                            Component c)

removeComponent

public void removeComponent(Component c,
                            Object cell)

updateComponent

public void updateComponent(mxCellState state,
                            Component c)

updateComponents

public void updateComponents()

removeAllComponents

public void removeAllComponents(Hashtable<Object,Component[]> map)

removeAllOverlays

public void removeAllOverlays(Hashtable<Object,mxICellOverlay[]> map)

updateComponents

public Hashtable<Object,Component[]> updateComponents(Object cell)

validateGraph

public String validateGraph()
Validates the graph by validating each descendant of the given cell or the root of the model. Context is an object that contains the validation state for the complete validation run. The validation errors are attached to their cells using . This function returns true if no validation errors exist in the graph.


validateGraph

public String validateGraph(Object cell,
                            Hashtable<Object,Object> context)
Validates the graph by validating each descendant of the given cell or the root of the model. Context is an object that contains the validation state for the complete validation run. The validation errors are attached to their cells using . This function returns true if no validation errors exist in the graph.

Parameters:
cell - Cell to start the validation recursion.
context - Object that represents the global validation state.

addCellOverlay

public mxICellOverlay addCellOverlay(Object cell,
                                     mxICellOverlay overlay)
Adds an overlay for the specified cell. This method fires an addoverlay event and returns the new overlay.

Parameters:
cell - Cell to add the overlay for.
overlay - Overlay to be added for the cell.

getCellOverlays

public mxICellOverlay[] getCellOverlays(Object cell)
Returns the array of overlays for the given cell or null, if no overlays are defined.

Parameters:
cell - Cell whose overlays should be returned.

removeCellOverlay

public mxICellOverlay removeCellOverlay(Object cell,
                                        mxICellOverlay overlay)
Removes and returns the given overlay from the given cell. This method fires a remove overlay event. If no overlay is given, then all overlays are removed using removeOverlays.

Parameters:
cell - Cell whose overlay should be removed.
overlay - Optional overlay to be removed.

removeCellOverlays

public mxICellOverlay[] removeCellOverlays(Object cell)
Removes all overlays from the given cell. This method fires a removeoverlay event for each removed overlay and returns the array of overlays that was removed from the cell.

Parameters:
cell - Cell whose overlays should be removed.

removeCellOverlayComponent

protected void removeCellOverlayComponent(mxICellOverlay overlay,
                                          Object cell)
Notified when an overlay has been removed from the graph. This implementation removes the given overlay from its parent if it is a component inside a component hierarchy.


updateCellOverlayComponent

protected void updateCellOverlayComponent(mxCellState state,
                                          mxICellOverlay overlay)
Notified when an overlay has been removed from the graph. This implementation removes the given overlay from its parent if it is a component inside a component hierarchy.


clearCellOverlays

public void clearCellOverlays()
Removes all overlays in the graph.


clearCellOverlays

public void clearCellOverlays(Object cell)
Removes all overlays in the graph for the given cell and all its descendants. If no cell is specified then all overlays are removed from the graph. This implementation uses removeOverlays to remove the overlays from the individual cells.

Parameters:
cell - Optional cell that represents the root of the subtree to remove the overlays from. Default is the root in the model.

setCellWarning

public mxICellOverlay setCellWarning(Object cell,
                                     String warning)
Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.

Parameters:
cell - Cell whose warning should be set.
warning - String that represents the warning to be displayed.

setCellWarning

public mxICellOverlay setCellWarning(Object cell,
                                     String warning,
                                     ImageIcon icon)
Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.

Parameters:
cell - Cell whose warning should be set.
warning - String that represents the warning to be displayed.
icon - Optional image to be used for the overlay. Default is warningImageBasename.

setCellWarning

public mxICellOverlay setCellWarning(Object cell,
                                     String warning,
                                     ImageIcon icon,
                                     boolean select)
Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.

Parameters:
cell - Cell whose warning should be set.
warning - String that represents the warning to be displayed.
icon - Optional image to be used for the overlay. Default is warningImageBasename.
select - Optional boolean indicating if a click on the overlay should select the corresponding cell. Default is false.

updateCellOverlays

public Hashtable<Object,mxICellOverlay[]> updateCellOverlays(Object cell)
Returns a hashtable with all entries from the overlays variable where a cell still exists in the model. The entries are removed from the global hashtable so that the remaining entries reflect those whose cell have been removed from the model. If no state is available for a given cell then its overlays are temporarly removed from the rendering control, but kept in the result.


paintBackground

protected void paintBackground(Graphics g)

paintBackgroundPage

protected Rectangle paintBackgroundPage(Graphics g)

paintBackgroundImage

protected void paintBackgroundImage(Graphics g)

paintGrid

protected void paintGrid(Graphics g)
Paints the grid onto the given graphics object.


redraw

public void redraw(mxCellState state)
Updates the buffer (if one exists) and repaints the given cell state.


checkTripleBuffer

public void checkTripleBuffer()
Checks if the triple buffer exists and creates a new one if it does not. Also compares the size of the buffer with the size of the graph and drops the buffer if it has a different size.


createTripleBuffer

protected void createTripleBuffer(int width,
                                  int height)
Creates the tripleBufferGraphics and tripleBuffer for the given dimension and draws the complete graph onto the triplebuffer.

Parameters:
width -
height -

destroyTripleBuffer

public void destroyTripleBuffer()
Destroys the tripleBuffer and tripleBufferGraphics objects.


repaintTripleBuffer

public void repaintTripleBuffer(Rectangle dirty)
Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.

Parameters:
dirty -

isEventsEnabled

public boolean isEventsEnabled()
Returns:
Returns true if event dispatching is enabled in the event source.
See Also:
mxEventSource.isEventsEnabled()

setEventsEnabled

public void setEventsEnabled(boolean eventsEnabled)
Parameters:
eventsEnabled -
See Also:
mxEventSource.setEventsEnabled(boolean)

addListener

public void addListener(String eventName,
                        mxEventSource.mxIEventListener listener)
Parameters:
eventName -
listener -
See Also:
mxEventSource.addListener(java.lang.String, com.mxgraph.util.mxEventSource.mxIEventListener)

removeListener

public void removeListener(mxEventSource.mxIEventListener listener)
Parameters:
listener - Listener instance.

removeListener

public void removeListener(mxEventSource.mxIEventListener listener,
                           String eventName)
Parameters:
eventName - Name of the event.
listener - Listener instance.

mxGraph 2.4.0.0


Copyright (c) 2010 Gaudenz Alder, David Benson. All rights reserved.