PathwayLogic Assistant API

pla
Class GraphPanel

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 pla.GraphPanel
All Implemented Interfaces:
MouseListener, MouseMotionListener, MouseWheelListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener, MouseInputListener

public class GraphPanel
extends JPanel
implements ChangeListener, MouseInputListener, MouseWheelListener

Author:
linda
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
GraphPanel()
           
 
Method Summary
 void addZoomListener(ZoomListener zl)
          Add given zoom listener to list of objects to be notified upon zoom change.
 void centerOn(Rectangle r)
          Center component on given rectangle.
 void displayMenu(PLANode node)
          Display context menu for given node.
 PLAFrame getFrame()
           
 PLAGraph getGraph()
           
 Dimension getGraphSize()
           
 double getZoomScale()
          Obtain current zoom scale in effect.
 void highlight(GraphItem item)
          Select given graph item (node or edge) by highlighting it.
 boolean isEmpty()
          Test whether this graph panel is empty.
 boolean isGlyphishVisible(Glyphish g)
          Test whether given glyphish thing is currently visible in the parental viewport.
 void mouseClicked(MouseEvent event)
           
 void mouseDragged(MouseEvent event)
           
 void mouseEntered(MouseEvent event)
           
 void mouseExited(MouseEvent event)
           
 void mouseMoved(MouseEvent event)
           
 void mousePressed(MouseEvent event)
           
 void mouseReleased(MouseEvent event)
           
 void mouseWheelMoved(MouseWheelEvent event)
           
protected  void paintComponent(Graphics g)
           
 void removeLastSelection()
           
 void removeZoomListener(ZoomListener zl)
          Remove given zoom listener from list of objects to be notified upon zoom change.
 void setGraph(PLAGraph g)
           
 void stateChanged(ChangeEvent event)
           
 Point transformFromView(Point p)
           
 void zoom(double factor)
          Apply given factor to current zoom.
 void zoomToFit(Dimension size)
          Zoom the size of the graph so that it fits into given dimension and its size is maximized.
 void zoomToOriginal()
          Change the size of graph back to its original size.
 
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, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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
 

Constructor Detail

GraphPanel

public GraphPanel()
Method Detail

getGraph

public PLAGraph getGraph()

setGraph

public void setGraph(PLAGraph g)

getGraphSize

public Dimension getGraphSize()

isEmpty

public boolean isEmpty()
Test whether this graph panel is empty.

Returns:
true if graph isn't set or doesn't contain any nodes, false otherwise

addZoomListener

public void addZoomListener(ZoomListener zl)
Add given zoom listener to list of objects to be notified upon zoom change.

Parameters:
zl - ZoomListener to be notified upon zoom change

removeZoomListener

public void removeZoomListener(ZoomListener zl)
Remove given zoom listener from list of objects to be notified upon zoom change.

Parameters:
zl - ZoomListener to be removed

getZoomScale

public double getZoomScale()
Obtain current zoom scale in effect. Uses only x-portion of scaling in the current affine transformation as this should be equal to the y-portion of scaling.

Returns:
Current scaling factor in effect for x- and y-axis

zoom

public void zoom(double factor)
Apply given factor to current zoom. A value smaller than 1.0 means zooming out (everything becomes smaller). A value greater than 1.0 means zooming in (everything becomes bigger).

Parameters:
factor - Zoom factor to apply

zoomToFit

public void zoomToFit(Dimension size)
Zoom the size of the graph so that it fits into given dimension and its size is maximized. If given dimension is null does nothing.

Parameters:
size - Dimension, in which the zoomed graph must fit into

zoomToOriginal

public void zoomToOriginal()
Change the size of graph back to its original size.


centerOn

public void centerOn(Rectangle r)
Center component on given rectangle. Rectangle is specified in coordinates of underlying graph. Tries to move given rectangle to center but won't go across boundaries of the underleying canvas. Does nothing if given rectangle is null.

Parameters:
r - Rectangle to center on

highlight

public void highlight(GraphItem item)
Select given graph item (node or edge) by highlighting it. Accepts NULL as item; in this case won't do anything other than remembering NULL as the last item selected.

Parameters:
item - Node or edge to select in graph; may be NULL if nothing to be selected

displayMenu

public void displayMenu(PLANode node)
Display context menu for given node.

Parameters:
node -

getFrame

public PLAFrame getFrame()

removeLastSelection

public void removeLastSelection()

isGlyphishVisible

public boolean isGlyphishVisible(Glyphish g)
Test whether given glyphish thing is currently visible in the parental viewport. Returns false if this graph panel is not embedded into a JViewport. Returns false if glyphish is not entirely inside the currently visible rectangle. If given glyph is null returns false.

Parameters:
g - Glyphish thing to test visibility of
Returns:
true, if glyph is completely visible, false otherwise

transformFromView

public Point transformFromView(Point p)

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

stateChanged

public void stateChanged(ChangeEvent event)
Specified by:
stateChanged in interface ChangeListener

mouseWheelMoved

public void mouseWheelMoved(MouseWheelEvent event)
Specified by:
mouseWheelMoved in interface MouseWheelListener

mouseClicked

public void mouseClicked(MouseEvent event)
Specified by:
mouseClicked in interface MouseListener

mousePressed

public void mousePressed(MouseEvent event)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent event)
Specified by:
mouseReleased in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent event)
Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent event)
Specified by:
mouseExited in interface MouseListener

mouseDragged

public void mouseDragged(MouseEvent event)
Specified by:
mouseDragged in interface MouseMotionListener

mouseMoved

public void mouseMoved(MouseEvent event)
Specified by:
mouseMoved in interface MouseMotionListener

PathwayLogic Assistant API