org.graffiti.plugins.views.defaults
Class AbstractGraphElementComponent

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 org.graffiti.plugin.view.GraphElementComponent
                      extended by org.graffiti.plugins.views.defaults.AbstractGraphElementComponent
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, GraphicAttributeConstants, GraffitiViewComponent, GraphElementComponentInterface
Direct Known Subclasses:
EdgeComponent, NodeComponent

public abstract class AbstractGraphElementComponent
extends GraphElementComponent
implements GraffitiViewComponent, GraphicAttributeConstants

Class that shares common members for all GraphElementComponents.

Version:
$Revision: 5766 $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 org.graffiti.graphics.GraphicAttributeConstants
ABSOLUTE_X_OFFSET, ABSOLUTE_Y_OFFSET, ALIGNMENT, ALIGNMENT_SEGMENT, ALIGNMENT_X, ALIGNMENT_Y, ARROWHEAD, ARROWSHAPE_CLASSNAME, ARROWTAIL, BEND, BENDS, BENDS_PATH, BGIMAGE, BGIMAGE_PATH, BLUE, BOTTOM_INSIDE, BOTTOM_OUTSIDE, CENTERED, CIRCLE_CENTER, CIRCLE_CENTER_PATH, CIRCLE_CLASSNAME, CIRCLE_LINE_SEGMENTATION_CLASSNAME, CIRCLE_LINE_SEGMENTATION_SHAPE, COMMON, COORD_PATH, COORDINATE, COORDX_PATH, COORDY_PATH, COORDZ_PATH, CUBICSPLINE, CUBICSPLINE_CLASSNAME, DEFAULT_CAP, DEFAULT_EDGE_FILLCOLOR, DEFAULT_EDGE_FRAMECOLOR, DEFAULT_EDGE_FRAMETHICKNESS, DEFAULT_EDGE_THICKNESS, DEFAULT_FONT_SIZE, DEFAULT_GRAPHIC_ELEMENT_FRAMECOLOR, DEFAULT_GRAPHIC_ELEMENT_FRAMETHICKNESS, DEFAULT_JOIN, DEFAULT_MAX_WIDTH, DEFAULT_MITER, DEFAULT_NODE_FILLCOLOR, DEFAULT_NODE_FRAMECOLOR, DEFAULT_NODE_FRAMETHICKNESS, DEFAULT_NODE_SHAPE, DEFAULT_NODE_SIZE, DEPTH, DEPTH_PATH, DIM_PATH, DIMENSION, DIMH_PATH, DIMW_PATH, DOCKING, DOCKING_PATH, EDGE, ELLIPSE_CLASSNAME, END_ANGLE, FILLCOLOR, FILLCOLOR_PATH, FONT, FONT_SIZE, FRAMECOLOR, FRAMETHICKNESS, FRAMETHICKNESS_PATH, GRAPHICS, GREEN, GRID, GRID_PATH, HEIGHT, IMAGE, IN, INTRA_LEVEL_CLASSNAME, LABEL, LABEL_ATTRIBUTE_PATH, LABEL_DISTANCE, LEFT_INSIDE, LEFT_OUTSIDE, LEVEL, LINE_POINT_PATH, LINEMODE, LINEMODE_PATH, LINETYPE, LINEWIDTH_PATH, MAX_WIDTH, MAXIMIZE, NAME, NEARSOURCE, NEARTARGET, NODE, OFFSET, OPAC, OUT, OUTLINE_PATH, POLYCLOSED_CLASSNAME, POLYLINE, POLYLINE_CLASSNAME, PORT, PORTS, PORTS_PATH, POSITION, QUAD_CURVE_EDGE_SHAPE, RECTANGLE_CLASSNAME, RED, REF, RELATIVE_ALIGNMENT, RELATIVE_X_OFFSET, RELATIVE_Y_OFFSET, RIGHT_INSIDE, RIGHT_OUTSIDE, ROTATION, SHAPE, SHAPE_DESC_PATH, SHAPE_PATH, SHAPEDESCRIPTION, SMOOTH_CLASSNAME, SMOOTH_LINE_EDGE_SHAPE, SMOOTHLINE, SOURCE, SPIRAL_CLASSNAME, SQUARESPLINE, SQUARESPLINE_CLASSNAME, START_ANGLE, STRAIGHT_LINE_EDGE_SHAPE, STRAIGHTLINE, STRAIGHTLINE_CLASSNAME, TARGET, TEXTCOLOR, THICKNESS, THICKNESS_PATH, TILED, TOP_INSIDE, TOP_OUTSIDE, WIDTH, X, Y, Z
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Method Summary
 void addAttributeComponent(Attribute attr, AttributeComponent ac)
          Adds an Attribute and its GraffitiViewComponent to the list of registered attributes that can be displayed.
 void addDependentComponent(GraphElementComponent comp)
          Adds a GraphElementComponent to the list of dependent GraphElementComponents.
 void attributeChanged(Attribute attr)
          Called when an attribute of the GraphElement represented by this component has changed.
 void clearAttributeComponentList()
          Removes all entries in the attributeComponent list.
 void clearDependentComponentList()
          Removes a GraphElementComponent from the list of dependent GraphElementComponents.
 boolean contains(int x, int y)
          Returns whether the given coordinates lie within this component and within its encapsulated shape.
 void createNewShape()
          Called to initialise the shape of the NodeComponent correctly.
abstract  void createStandardShape()
          Called to initialise and draw a standard shape, if the specified shapeclass could not be found.
 AttributeComponent getAttributeComponent(Attribute attr)
          Returns the attributeComponents of given attribute.
 Iterator<AttributeComponent> getAttributeComponentIterator()
          Returns the attributeComponents of given attribute.
 GraphElement getGraphElement()
          Returns the graphElement.
 GraphElementShape getShape()
          Returns GraphElementShape object
 void graphicAttributeChanged(Attribute attr)
          Called when a graphic attribute of the GraphElement represented by this component has changed.
 void nonGraphicAttributeChanged(Attribute attr)
          Called when a non-graphic attribute of the GraphElement represented by this component has changed.
 void paintComponent(Graphics g)
          Paints the graph element contained in this component.
 void removeAttributeComponent(Attribute attr)
          Removes a GraffitiViewComponent of an Attribute from collection of attribute components.
 void removeDependentComponent(GraphElementComponent comp)
          Removes a GraphElementComponent from the list of dependent GraphElementComponents.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getShape

public GraphElementShape getShape()
Returns GraphElementShape object

Specified by:
getShape in interface GraphElementComponentInterface
Returns:
DOCUMENT ME!

addAttributeComponent

public void addAttributeComponent(Attribute attr,
                                  AttributeComponent ac)
Adds an Attribute and its GraffitiViewComponent to the list of registered attributes that can be displayed. This attribute is then treated as dependent on the position, size etc. of this GraphElement.

Specified by:
addAttributeComponent in interface GraphElementComponentInterface
Parameters:
attr - the attribute that is registered as being able to be displayed.
ac - the component that will be used to display the attribute.

addDependentComponent

public void addDependentComponent(GraphElementComponent comp)
Adds a GraphElementComponent to the list of dependent GraphElementComponents. These will nearly always be EdgeComponents that are dependent on their source or target nodes.

Specified by:
addDependentComponent in interface GraphElementComponentInterface
Parameters:
comp - the GraphElementComponent that is added to the list of dependent components.

attributeChanged

public void attributeChanged(Attribute attr)
                      throws ShapeNotFoundException
Called when an attribute of the GraphElement represented by this component has changed.

Specified by:
attributeChanged in interface GraffitiViewComponent
Specified by:
attributeChanged in interface GraphElementComponentInterface
Parameters:
attr - the attribute that has triggered the event.
Throws:
ShapeNotFoundException - DOCUMENT ME!

clearDependentComponentList

public void clearDependentComponentList()
Removes a GraphElementComponent from the list of dependent GraphElementComponents.

Specified by:
clearDependentComponentList in interface GraphElementComponentInterface

createNewShape

public void createNewShape()
                    throws ShapeNotFoundException
Called to initialise the shape of the NodeComponent correctly. Also calls repaint().

Specified by:
createNewShape in interface GraffitiViewComponent
Specified by:
createNewShape in interface GraphElementComponentInterface
Throws:
ShapeNotFoundException - thrown when the shapeclass couldn't be resolved.

createStandardShape

public abstract void createStandardShape()
Called to initialise and draw a standard shape, if the specified shapeclass could not be found.

Specified by:
createStandardShape in interface GraphElementComponentInterface

getAttributeComponent

public AttributeComponent getAttributeComponent(Attribute attr)
Returns the attributeComponents of given attribute.

Specified by:
getAttributeComponent in interface GraphElementComponentInterface
Parameters:
attr -
Returns:
Map

getAttributeComponentIterator

public Iterator<AttributeComponent> getAttributeComponentIterator()
Returns the attributeComponents of given attribute.

Specified by:
getAttributeComponentIterator in interface GraphElementComponentInterface
Returns:
Map

getGraphElement

public GraphElement getGraphElement()
Returns the graphElement.

Specified by:
getGraphElement in interface GraphElementComponentInterface
Returns:
GraphElement

clearAttributeComponentList

public void clearAttributeComponentList()
Removes all entries in the attributeComponent list.

Specified by:
clearAttributeComponentList in interface GraphElementComponentInterface

contains

public boolean contains(int x,
                        int y)
Returns whether the given coordinates lie within this component and within its encapsulated shape. The coordinates are assumed to be relative to the coordinate system of this component.

Overrides:
contains in class GraphElementComponent
See Also:
Component.contains(int, int)

graphicAttributeChanged

public void graphicAttributeChanged(Attribute attr)
                             throws ShapeNotFoundException
Called when a graphic attribute of the GraphElement represented by this component has changed.

Specified by:
graphicAttributeChanged in interface GraphElementComponentInterface
Parameters:
attr - the graphic attribute that has triggered the event.
Throws:
ShapeNotFoundException - DOCUMENT ME!

nonGraphicAttributeChanged

public void nonGraphicAttributeChanged(Attribute attr)
                                throws ShapeNotFoundException
Called when a non-graphic attribute of the GraphElement represented by this component has changed.

Specified by:
nonGraphicAttributeChanged in interface GraphElementComponentInterface
Parameters:
attr - the attribute that has triggered the event.
Throws:
ShapeNotFoundException - DOCUMENT ME!

paintComponent

public void paintComponent(Graphics g)
Paints the graph element contained in this component.

Overrides:
paintComponent in class GraphElementComponent
Parameters:
g - the graphics context in which to paint.
See Also:
JComponent.paintComponent(Graphics)

removeAttributeComponent

public void removeAttributeComponent(Attribute attr)
Removes a GraffitiViewComponent of an Attribute from collection of attribute components.

Specified by:
removeAttributeComponent in interface GraphElementComponentInterface
Parameters:
attr - the attribute that has to be removed

removeDependentComponent

public void removeDependentComponent(GraphElementComponent comp)
Removes a GraphElementComponent from the list of dependent GraphElementComponents.

Specified by:
removeDependentComponent in interface GraphElementComponentInterface
Parameters:
comp - the GraphElementComponent that is removed from the list of dependent components.


Generated at 2012-05-30 11:01:25 PM CEST