com.mxgraph.swing

## Class mxGraphOutline

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - com.mxgraph.swing.mxGraphOutline

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

      public class mxGraphOutline
      extends javax.swing.JComponent

  An outline view for a specific graph component.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `mxGraphOutline.MouseTracker`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.awt.event.AdjustmentListener` | `adjustmentHandler`
    `protected boolean` | `antiAlias`
    `protected java.awt.event.ComponentListener` | `componentHandler`
    `static java.awt.Color` | `DEFAULT_ZOOMHANDLE_FILL`
    `protected boolean` | `drawLabels`
    `protected java.awt.Rectangle` | `finderBounds`
    `protected boolean` | `finderVisible`
    `protected boolean` | `fitPage` Specifies if the outline should be zoomed to the page if the graph component is in page layout mode.
    `protected mxGraphComponent` | `graphComponent`
    `protected int` | `outlineBorder` Not yet implemented.
    `protected boolean` | `repaintBuffer` True if the triple buffer needs a full repaint.
    `protected mxRectangle` | `repaintClip` Clip of the triple buffer to be repainted.
    `protected mxEventSource.mxIEventListener` | `repaintHandler`
    `protected double` | `scale`
    `protected mxGraphOutline.MouseTracker` | `tracker`
    `protected java.awt.Point` | `translate`
    `protected java.awt.image.BufferedImage` | `tripleBuffer` TODO: Not yet implemented.
    `protected boolean` | `tripleBuffered`
    `protected java.awt.Graphics2D` | `tripleBufferGraphics` Holds the graphics of the triple buffer.
    `protected boolean` | `useScaledInstance`
    `protected boolean` | `zoomGesture`
    `protected java.awt.Point` | `zoomHandleLocation`
    `protected boolean` | `zoomHandleVisible`

    - ### Fields inherited from class javax.swing.JComponent

      `accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `mxGraphOutline(mxGraphComponent graphComponent)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkTripleBuffer()` Checks if the triple buffer exists and creates a new one if it does not.
    `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.
    `mxGraphComponent` | `getGraphComponent()`
    `boolean` | `isAntiAlias()`
    `boolean` | `isDrawLabels()`
    `boolean` | `isFitPage()`
    `boolean` | `isTripleBuffered()`
    `protected void` | `paintBackground(java.awt.Graphics g)` Paints the background.
    `void` | `paintComponent(java.awt.Graphics g)`
    `protected void` | `paintForeground(java.awt.Graphics g)` Paints the foreground.
    `void` | `paintGraph(java.awt.Graphics g)` Paints the graph outline.
    `void` | `repaintTripleBuffer(java.awt.Rectangle clip)` Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.
    `void` | `setAntiAlias(boolean antiAlias)` Fires a property change event for `antiAlias`.
    `void` | `setDrawLabels(boolean drawLabels)` Fires a property change event for `drawLabels`.
    `void` | `setFinderVisible(boolean visible)`
    `void` | `setFitPage(boolean fitPage)` Fires a property change event for `fitPage`.
    `void` | `setGraphComponent(mxGraphComponent graphComponent)` Fires a property change event for `graphComponent`.
    `void` | `setTripleBuffered(boolean tripleBuffered)` Fires a property change event for `tripleBuffered`.
    `void` | `setVisible(boolean visible)`
    `void` | `setZoomHandleVisible(boolean visible)`
    `void` | `updateFinder(boolean repaint)`
    `void` | `updateFinderBounds(java.awt.Rectangle bounds, boolean repaint)`
    `boolean` | `updateScaleAndTranslate()` Returns true if the scale or translate has changed.

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, unregisterKeyboardAction, update, updateUI`

    - ### 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, setLayout, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_ZOOMHANDLE_FILL

          public static java.awt.Color DEFAULT_ZOOMHANDLE_FILL

    - #### graphComponent

          protected mxGraphComponent graphComponent

    - #### tripleBuffer

          protected java.awt.image.BufferedImage tripleBuffer

      TODO: Not yet implemented.

    - #### tripleBufferGraphics

          protected java.awt.Graphics2D tripleBufferGraphics

      Holds the graphics of the triple buffer.

    - #### repaintBuffer

          protected boolean repaintBuffer

      True if the triple buffer needs a full repaint.

    - #### repaintClip

          protected mxRectangle repaintClip

      Clip of the triple buffer to be repainted.

    - #### tripleBuffered

          protected boolean tripleBuffered

    - #### finderBounds

          protected java.awt.Rectangle finderBounds

    - #### zoomHandleLocation

          protected java.awt.Point zoomHandleLocation

    - #### finderVisible

          protected boolean finderVisible

    - #### zoomHandleVisible

          protected boolean zoomHandleVisible

    - #### useScaledInstance

          protected boolean useScaledInstance

    - #### antiAlias

          protected boolean antiAlias

    - #### drawLabels

          protected boolean drawLabels

    - #### fitPage

          protected boolean fitPage

      Specifies if the outline should be zoomed to the page if the graph component is in page layout mode. Default is true.

    - #### outlineBorder

          protected int outlineBorder

      Not yet implemented. Border to add around the page bounds if wholePage is true. Default is 4.

    - #### tracker

          protected mxGraphOutline.MouseTracker tracker

    - #### scale

          protected double scale

    - #### translate

          protected java.awt.Point translate

    - #### zoomGesture

          protected transient boolean zoomGesture

    - #### repaintHandler

          protected mxEventSource.mxIEventListener repaintHandler

    - #### componentHandler

          protected java.awt.event.ComponentListener componentHandler

    - #### adjustmentHandler

          protected java.awt.event.AdjustmentListener adjustmentHandler

  - ### Constructor Detail

    - #### mxGraphOutline

          public mxGraphOutline(mxGraphComponent graphComponent)

  - ### Method Detail

    - #### setTripleBuffered

          public void setTripleBuffered(boolean tripleBuffered)

      Fires a property change event for `tripleBuffered`.
      Parameters:
        `tripleBuffered` - the tripleBuffered to set

    - #### isTripleBuffered

          public boolean isTripleBuffered()

    - #### setDrawLabels

          public void setDrawLabels(boolean drawLabels)

      Fires a property change event for `drawLabels`.
      Parameters:
        `drawLabels` - the drawLabels to set

    - #### isDrawLabels

          public boolean isDrawLabels()

    - #### setAntiAlias

          public void setAntiAlias(boolean antiAlias)

      Fires a property change event for `antiAlias`.
      Parameters:
        `antiAlias` - the antiAlias to set

    - #### isAntiAlias

          public boolean isAntiAlias()

      Returns:
        the antiAlias

    - #### setVisible

          public void setVisible(boolean visible)

      Overrides:
        `setVisible` in class `javax.swing.JComponent`

    - #### setFinderVisible

          public void setFinderVisible(boolean visible)

    - #### setZoomHandleVisible

          public void setZoomHandleVisible(boolean visible)

    - #### setFitPage

          public void setFitPage(boolean fitPage)

      Fires a property change event for `fitPage`.
      Parameters:
        `fitPage` - the fitPage to set

    - #### isFitPage

          public boolean isFitPage()

    - #### getGraphComponent

          public mxGraphComponent getGraphComponent()

    - #### setGraphComponent

          public void setGraphComponent(mxGraphComponent graphComponent)

      Fires a property change event for `graphComponent`.
      Parameters:
        `graphComponent` - the graphComponent to set

    - #### 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(java.awt.Rectangle clip)

      Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.
      Parameters:
        `clip` -

    - #### updateFinder

          public void updateFinder(boolean repaint)

    - #### updateFinderBounds

          public void updateFinderBounds(java.awt.Rectangle bounds,
                                boolean repaint)

    - #### paintComponent

          public void paintComponent(java.awt.Graphics g)

      Overrides:
        `paintComponent` in class `javax.swing.JComponent`

    - #### paintBackground

          protected void paintBackground(java.awt.Graphics g)

      Paints the background.

    - #### paintGraph

          public void paintGraph(java.awt.Graphics g)

      Paints the graph outline.

    - #### paintForeground

          protected void paintForeground(java.awt.Graphics g)

      Paints the foreground. Foreground is dynamic and should never be made part of the triple buffer. It is painted on top of the buffer.

    - #### updateScaleAndTranslate

          public boolean updateScaleAndTranslate()

      Returns true if the scale or translate has changed.

Copyright (c) 2010 Gaudenz Alder. All rights reserved.