GraphLab Project

graphlab.graph.graph
Class AbstractGraphRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by graphlab.graph.graph.AbstractGraphRenderer
All Implemented Interfaces:
GraphModelListener, AttributeListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
FastRenderer

public abstract class AbstractGraphRenderer
extends javax.swing.JPanel
implements GraphModelListener, AttributeListener

The basic renderer interface

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
static java.lang.String EVENT_KEY
           
 
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
protected AbstractGraphRenderer()
           
 
Method Summary
 void addPostPaintHandler(PaintHandler<AbstractGraphRenderer> ph)
          adds ph to Post Paint Handlers which means that ph.paint will be called after each rendering of graph
 void addPrePaintHandler(PaintHandler<AbstractGraphRenderer> ph)
          adds ph to Pre Paint Handlers which means that ph.paint will be called before each rendering of graph
 void attributeUpdated(java.lang.String name, java.lang.Object oldVal, java.lang.Object newVal)
           
static AbstractGraphRenderer getCurrentGraphRenderer(BlackBoard b)
           
 GraphModel getGraph()
           
 int getMinx()
           
 int getMiny()
           
 void ignoreRepaints(java.lang.Runnable run)
          ignores every repaint event on running the run

This method is useful when you want to do a great change on graph structure

It is equal to call ignoreRepaints(run, true)

 void ignoreRepaints(java.lang.Runnable run, boolean repaintAfter)
          Runs run.run() and ignore all repaints until Its execution finishes
 void paint(java.awt.Graphics gg)
           
 void paint(java.awt.Graphics mainG, java.lang.Boolean drawExtras)
          paint the graph on gg
 void removePaintHandler(PaintHandler ph)
          removes ph from both pre and post paint handlers and then repaints the graph
abstract  void render(java.awt.Graphics2D gg, java.lang.Boolean drawExtras)
           
 void repaint()
           
 void repaintGraph()
           
 void setGraph(GraphModel g)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, isValidateRoot, 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, setLayout, 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, resize, resize, setBounds, setBounds, setComponentOrientation, 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
 
Methods inherited from interface graphlab.graph.event.GraphModelListener
edgeAdded, edgeRemoved, graphCleared, vertexAdded, vertexRemoved
 

Field Detail

EVENT_KEY

public static final java.lang.String EVENT_KEY
See Also:
Constant Field Values
Constructor Detail

AbstractGraphRenderer

protected AbstractGraphRenderer()
Method Detail

getCurrentGraphRenderer

public static AbstractGraphRenderer getCurrentGraphRenderer(BlackBoard b)

setGraph

public void setGraph(GraphModel g)

getGraph

public GraphModel getGraph()

addPostPaintHandler

public void addPostPaintHandler(PaintHandler<AbstractGraphRenderer> ph)
adds ph to Post Paint Handlers which means that ph.paint will be called after each rendering of graph

Parameters:
ph -

addPrePaintHandler

public void addPrePaintHandler(PaintHandler<AbstractGraphRenderer> ph)
adds ph to Pre Paint Handlers which means that ph.paint will be called before each rendering of graph

Parameters:
ph -

removePaintHandler

public void removePaintHandler(PaintHandler ph)
removes ph from both pre and post paint handlers and then repaints the graph

Parameters:
ph -

render

public abstract void render(java.awt.Graphics2D gg,
                            java.lang.Boolean drawExtras)

repaint

public void repaint()
Overrides:
repaint in class java.awt.Component

paint

public final void paint(java.awt.Graphics gg)
Overrides:
paint in class javax.swing.JComponent

paint

public final void paint(java.awt.Graphics mainG,
                        java.lang.Boolean drawExtras)
paint the graph on gg

Parameters:
mainG -
e -
graph -
y -
labelx -
drawExtras - specifies wheter to draw extra things such as Curved Edges Control Points, on graph or not,

ignoreRepaints

public void ignoreRepaints(java.lang.Runnable run)
ignores every repaint event on running the run

This method is useful when you want to do a great change on graph structure

It is equal to call ignoreRepaints(run, true)

Parameters:
run -

ignoreRepaints

public void ignoreRepaints(java.lang.Runnable run,
                           boolean repaintAfter)
Runs run.run() and ignore all repaints until Its execution finishes

Parameters:
run -
repaintAfter -

attributeUpdated

public void attributeUpdated(java.lang.String name,
                             java.lang.Object oldVal,
                             java.lang.Object newVal)
Specified by:
attributeUpdated in interface AttributeListener

repaintGraph

public void repaintGraph()
Specified by:
repaintGraph in interface GraphModelListener

getMinx

public int getMinx()

getMiny

public int getMiny()

GraphLab Project