org.argouml.uml.diagram.use_case.ui
Class FigExtend

java.lang.Object
  extended byorg.tigris.gef.presentation.Fig
      extended byorg.tigris.gef.presentation.FigEdge
          extended byorg.tigris.gef.presentation.FigEdgePoly
              extended byorg.argouml.uml.diagram.ui.FigEdgeModelElement
                  extended byorg.argouml.uml.diagram.use_case.ui.FigExtend
All Implemented Interfaces:
ArgoEventListener, ArgoNotationEventListener, Cloneable, org.tigris.gef.presentation.Connecter, DelayedVChangeListener, EventListener, org.tigris.gef.ui.Highlightable, KeyListener, MouseListener, NotationContext, org.tigris.gef.ui.PopupGenerator, PropertyChangeListener, Serializable, VetoableChangeListener

public class FigExtend
extends FigEdgeModelElement

A fig for use with extend relationships on use case diagrams.

Realised as a dotted line with an open arrow head and the label «extend» together with any condition alongside.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.tigris.gef.presentation.FigEdge
 
Field Summary
private  org.tigris.gef.presentation.FigText condition
          The condition expression.
private  org.tigris.gef.presentation.ArrowHeadGreater endArrow
           
private  org.tigris.gef.presentation.FigGroup fg
          The group of label and condition.
private  org.tigris.gef.presentation.FigText label
          The «extend» label.
 
Fields inherited from class org.argouml.uml.diagram.ui.FigEdgeModelElement
BUNDLE, POPUP_ADD_OFFSET
 
Fields inherited from class org.tigris.gef.presentation.FigEdgePoly
_initiallyLaidOut
 
Fields inherited from class org.tigris.gef.presentation.FigEdge
_arrowHeadEnd, _arrowHeadStart, _destFigNode, _fig, _highlight, _pathItems, _sourceFigNode, _useNearest
 
Fields inherited from class org.tigris.gef.presentation.Fig
_allowsSaving, _context, _dashes, _dashPeriod, _dashStyle, _displayed, _fillColor, _filled, _group, _h, _layer, _lineColor, _lineWidth, _locked, _resource, _selected, _shown, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, MIN_SIZE
 
Constructor Summary
FigExtend()
          The default constructor, but should never be called directly (use FigExtend(Object), since that sets the owner.
FigExtend(Object edge)
          The main constructor.
 
Method Summary
protected  boolean canEdit(org.tigris.gef.presentation.Fig f)
          Define whether the given fig can be edited (it can't).
protected  void modelChanged(PropertyChangeEvent e)
          This is called after any part of the UML MModelElement has changed.
 void paint(Graphics g)
           
 void setFig(org.tigris.gef.presentation.Fig f)
          Set a new fig to represent this edge.
 
Methods inherited from class org.argouml.uml.diagram.ui.FigEdgeModelElement
allowRemoveFromDiagram, damage, delayedVetoableChange, deleteFromModel, finalize, getContextNotation, getDestination, getItalicLabelFont, getItemUID, getLabelFont, getNameFig, getPopUpActions, getSource, getSquaredDistance, getStereotypeFig, getTipString, hit, hitClarifier, keyPressed, keyReleased, keyTyped, makeSelection, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, notationAdded, notationChanged, notationProviderAdded, notationProviderRemoved, notationRemoved, paintClarifiers, postLoad, propertyChange, removeFromDiagram, renderingChanged, setItemUID, setOwner, textEdited, updateClassifiers, updateNameText, updateStereotypeText, vetoableChange
 
Methods inherited from class org.tigris.gef.presentation.FigEdgePoly
computeRoute, findAvoidPt, insertPoint, layoutEdge, makeEdgeFig, moveVertex, routingRectPoint, segOK, setEndPoints, setInitiallyLaidOut, setPoint, tryRoute
 
Methods inherited from class org.tigris.gef.presentation.FigEdge
addPathItem, calcBounds, cleanUp, contains, getBetweenNearestPoints, getBounds, getBounds, getDashed, getDestArrowHead, getDestFigNode, getDestPortFig, getFig, getFirstPoint, getHighlight, getLastPoint, getLineColor, getLineWidth, getNumPoints, getPathItem, getPathItemFig, getPathItemFigs, getPathItemsRaw, getPerimeterLength, getPoint, getPoints, getPrivateData, getSourceArrowHead, getSourceFigNode, getSourcePortFig, getXs, getYs, hasFillColor, hitFig, intersects, isReshapable, isResizable, isRotatable, paintArrowHeads, paintHighlightLine, paintPathItems, removePathItem, removePathItem, setBetweenNearestPoints, setDashed, setDestArrowHead, setDestFigNode, setDestPortFig, setHighlight, setLineColor, setLineWidth, setNumPoints, setPoint, setPoints, setPoints, setPoints, setPrivateData, setSourceArrowHead, setSourceFigNode, setSourcePortFig, setXs, setYs, stuffPointAlongPerimeter, translateEdge, updatePathItemLocations
 
Methods inherited from class org.tigris.gef.presentation.Fig
addAnnotation, addPoint, addPropertyChangeListener, align, center, classNameAndBounds, clone, connectionPoint, contains, contains, countCornersContained, createDrag, delete, dispose, drawDashedLine, drawDashedPerimeter, endTrans, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getClosestPoint, getContext, getDashed01, getDashedString, getEnclosedFigs, getEnclosingFig, getFillColor, getFilled, getFilled01, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHandleBox, getHeight, getId, getLayer, getLocation, getLocked, getMinimumSize, getOwner, getPreferredSize, getResource, getSingle, getSize, getTrapRect, getUseTrapRect, getVisState, getWidth, getX, getY, hasLineColor, initAnnotations, intersectsPerimeter, isAnnotation, isCopieable, isCopyable, isCutable, isDisplayed, isLowerRightResizable, isMovable, isSelected, isVisible, OK, pointAlongPerimeter, postSave, preSave, print, redraw, removeAnnotation, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setBounds, setCenter, setContext, setDashedString, setDisplayed, setEnclosingFig, setFillColor, setFilled, setGroup, setHandleBox, setHeight, setLayer, setLocation, setLocation, setLocked, setMovable, setPoint, setPoint, setPoints, setPoints, setResizable, setResource, setSavingAllowed, setSelected, setSingle, setSize, setSize, setVisible, setVisState, setWidth, setX, setY, stuffBounds, translate, translateAnnotations, unsetAnnotationOwner, updateAnnotationPositions, updateVisState, within
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.tigris.gef.ui.Highlightable
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

label

private org.tigris.gef.presentation.FigText label
The «extend» label.


condition

private org.tigris.gef.presentation.FigText condition
The condition expression.


fg

private org.tigris.gef.presentation.FigGroup fg
The group of label and condition.


endArrow

private org.tigris.gef.presentation.ArrowHeadGreater endArrow
Constructor Detail

FigExtend

public FigExtend()
The default constructor, but should never be called directly (use FigExtend(Object), since that sets the owner. However we can't mark it as private, since GEF expects to be able to call this when creating the diagram.


FigExtend

public FigExtend(Object edge)
The main constructor. Builds the FigEdge required and makes the given edge object its owner.

Parameters:
edge - The edge that will own the fig
Method Detail

setFig

public void setFig(org.tigris.gef.presentation.Fig f)
Set a new fig to represent this edge.

We invoke the superclass accessor. Then change aspects of the new fig that are not as we want. In this case to use dashed lines.

Parameters:
f - The fig to use.

canEdit

protected boolean canEdit(org.tigris.gef.presentation.Fig f)
Define whether the given fig can be edited (it can't).

Overrides:
canEdit in class FigEdgeModelElement
Parameters:
f - The fig about which the enquiry is being made. Ignored in this implementation.
Returns:
false under all circumstances.

modelChanged

protected void modelChanged(PropertyChangeEvent e)
This is called after any part of the UML MModelElement has changed. This method automatically updates things specific to this fig. Subclasses should override and update other parts.

We reset the condition text. We really ought to check that there has actually been a change, but for now we do it every time.

Overrides:
modelChanged in class FigEdgeModelElement
Parameters:
e - the event
See Also:
FigEdgeModelElement.modelChanged(java.beans.PropertyChangeEvent)

paint

public void paint(Graphics g)
See Also:
Fig.paint(java.awt.Graphics)


ArgoUML © 1996-2004 (20050222)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook