|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.tigris.gef.presentation.Fig
org.tigris.gef.presentation.FigGroup
org.tigris.gef.presentation.FigNode
org.argouml.uml.diagram.ui.FigNodeModelElement
org.argouml.uml.diagram.static_structure.ui.FigInterface
Class to display graphics for a UML Interface in a diagram.
| Nested Class Summary |
| Nested classes inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement |
|
| Field Summary | |
private static int |
BLINDER_POSN
|
private CompartmentFigText |
highlightedFigText
Text highlighted by mouse actions on the diagram. |
private static Logger |
LOG
|
private static int |
OPERATIONS_POSN
|
private FigOperationsCompartment |
operVec
The vector of graphics for operations (if any). |
private Object |
resident
Manages residency of an interface within a component on a deployment diagram. |
private org.tigris.gef.presentation.FigRect |
stereoLineBlinder
A rectangle to blank out the line that would otherwise appear at the bottom of the stereotype text box. |
| Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement |
ABSTRACT, ACTIVE, LEAF, POPUP_ADD_OFFSET, ROOT, ROWHEIGHT, SHADOW_COLOR_ALPHA, SHADOW_COLOR_VALUE, STEREOHEIGHT |
| Fields inherited from class org.tigris.gef.presentation.FigNode |
_blinkPorts, _highlight, ang135, ang225, ang315, ang45 |
| Fields inherited from class org.tigris.gef.presentation.FigGroup |
_dynObjects, _extraFrameSpace |
| 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 | |
FigInterface()
Main constructor for a FigInterface. |
|
FigInterface(org.tigris.gef.graph.GraphModel gm,
Object node)
Constructor for use if this figure is created for an existing interface node in the metamodel. |
|
| Method Summary | |
String |
classNameAndBounds()
USED BY PGML.tee. |
Object |
clone()
After the base clone method has been called determine which child figs of the clone represent the name, stereotype and port. |
protected void |
createFeatureIn(org.tigris.gef.presentation.FigGroup fg,
InputEvent ie)
Create a new "feature" in the owner fig. |
Dimension |
getMinimumSize()
Gets the minimum size permitted for an interface on the diagram. |
protected org.tigris.gef.presentation.FigText |
getNextVisibleFeature(org.tigris.gef.presentation.FigText ft,
int i)
|
Rectangle |
getOperationsBounds()
Getter for operVec. |
org.tigris.gef.presentation.FigGroup |
getOperationsFig()
Getter for operVec. |
Vector |
getPopUpActions(MouseEvent me)
Build a collection of menu items relevant for a right-click popup menu on an Interface. |
protected org.tigris.gef.presentation.FigText |
getPreviousVisibleFeature(org.tigris.gef.presentation.FigText ft,
int i)
|
boolean |
isOperationsVisible()
Returns the status of the operation field. |
void |
keyPressed(KeyEvent ke)
|
org.tigris.gef.base.Selection |
makeSelection()
|
protected void |
modelChanged(PropertyChangeEvent mee)
This is called after any part of the UML MModelElement has changed. |
void |
mouseClicked(MouseEvent me)
If the user double clicks on any part of this FigNode, pass it down to one of the internal Figs. |
void |
mouseExited(MouseEvent me)
|
String |
placeString()
Default Reply text to be shown while placing node in diagram. |
void |
renderingChanged()
Rerenders the fig if needed. |
void |
setBounds(int x,
int y,
int w,
int h)
Sets the bounds, but the size will be at least the one returned by getMinimumSize(), unless checking of size is disabled. |
void |
setEnclosingFig(org.tigris.gef.presentation.Fig encloser)
Updates the modelelement container if the fig is moved in or out another fig. |
void |
setFillColor(Color lColor)
|
void |
setLineColor(Color lColor)
|
void |
setOperationsVisible(boolean isVisible)
Set the visibility of the operations compartment. |
protected void |
textEdited(org.tigris.gef.presentation.FigText ft)
This method is called after the user finishes editing a text field that is in the FigNodeModelElement. |
void |
translate(int dx,
int dy)
|
protected CompartmentFigText |
unhighlight()
|
protected void |
updateOperations()
Updates the operations box. |
protected void |
updateStereotypeText()
Updates the text of the sterotype FigText. |
| Methods inherited from class org.tigris.gef.presentation.FigNode |
addFigEdge, bindPort, cleanUp, contains, deepHitPort, delete, dispose, endTrans, getBlinkPorts, getFigEdges, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, isBlinkPorts, isDragConnectable, mouseEntered, mousePressed, mouseReleased, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, superTranslate, updateEdges |
| Methods inherited from class org.tigris.gef.presentation.FigGroup |
addFigs, deepSelect, elements, getDisplayedFigs, getExtraFrameSpace, getFigAt, getFigs, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, getSize, getSubFigBounds, getTextColor, getTextFillColor, getTextFilled, hitFig, isReshapable, isRotatable, iterator, parseDynObjects, removeAll, removeFig, setExtraFrameSpace, setFigs, setFigs, setFilled, setFont, setFontFamily, setFontSize, setLineWidth, setPrivateData, setTextColor, setTextFillColor, setTextFilled |
| Methods inherited from class org.tigris.gef.presentation.Fig |
addAnnotation, addPoint, addPropertyChangeListener, align, center, connectionPoint, contains, contains, countCornersContained, createDrag, drawDashedLine, drawDashedPerimeter, firePropChange, firePropChange, firePropChange, getAnnotationOwner, getAnnotationStrategy, getBounds, getBounds, getClosestPoint, getContext, getDashed, getDashed01, getDashedString, getFillColor, getFilled, getFilled01, getFirstPoint, getGravityPoints, getGroup, getHalfHeight, getHalfWidth, getHandleBox, getHeight, getId, getLastPoint, getLayer, getLineColor, getLineWidth, getLocation, getLocked, getNumPoints, getOwner, getPerimeterLength, getPoint, getPoints, getPreferredSize, getResource, getSingle, getTrapRect, getUseTrapRect, getVisState, getWidth, getX, getXs, getY, getYs, hasFillColor, hasLineColor, initAnnotations, insertPoint, intersects, intersectsPerimeter, isAnnotation, isCopieable, isCopyable, isCutable, isDisplayed, isLowerRightResizable, isMovable, isResizable, isSelected, isVisible, OK, pointAlongPerimeter, postSave, preSave, print, redraw, removeAnnotation, removeAnnotation, removePoint, removePropertyChangeListener, reorder, routingRect, savingAllowed, setAnnotationOwner, setAnnotationStatus, setAnnotationStrategy, setBounds, setCenter, setContext, setDashed, setDashedString, setDisplayed, setGroup, setHandleBox, setHeight, setLayer, setLocation, setLocation, setLocked, setMovable, setNumPoints, setPoint, setPoint, setPoint, setPoint, setPoints, setPoints, setPoints, setPoints, setPoints, setResizable, setResource, setSavingAllowed, setSelected, setSingle, setSize, setSize, setVisible, setVisState, setWidth, setX, setXs, setY, setYs, stuffBounds, stuffPointAlongPerimeter, 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 java.awt.event.MouseListener |
mouseEntered, mousePressed, mouseReleased |
| Methods inherited from interface org.tigris.gef.ui.Highlightable |
addPropertyChangeListener, removePropertyChangeListener |
| Field Detail |
private static final Logger LOG
private static final int BLINDER_POSN
private static final int OPERATIONS_POSN
private FigOperationsCompartment operVec
private org.tigris.gef.presentation.FigRect stereoLineBlinder
private Object resident
private CompartmentFigText highlightedFigText
| Constructor Detail |
public FigInterface()
FigInterface.
Parent FigNodeModelElement will have created the main
box FigNodeModelElement.getBigPort() and its name FigNodeModelElement.getNameFig()
and stereotype (@link #getStereotypeFig()}. This constructor
creates a box for the operations.The properties of all these graphic elements are adjusted appropriately. The main boxes are all filled and have outlines.
For reasons I don't understand the stereotype is created in a box with lines. So we have to created a blanking rectangle to overlay the bottom line, and avoid three compartments showing.
Warning. Much of the graphics positioning is hard coded. The
overall figure is placed at location (10,10). The name compartment (in
the parent FigNodeModelElement is 21 pixels high. The
stereotype compartment is created 15 pixels high in the parent, but we
change it to 19 pixels, 1 more than (FigNodeModelElement.STEREOHEIGHT here. The
operations box is created at 19 pixels, 2 more than
FigNodeModelElement.ROWHEIGHT.
CAUTION: This constructor (with no arguments) is the only one that does enableSizeChecking(false), all others must set it true. This is because this constructor is the only one called when loading a project. In this case, the parsed size must be maintained.
public FigInterface(org.tigris.gef.graph.GraphModel gm,
Object node)
Set the figure's name according to this node. This is used when the user click's on 'add to diagram' in the navpane. Don't know if this should rather be done in one of the super classes, since similar code is used in FigClass.java etc. Andreas Rueckert <a_rueckert@gmx.net>
gm - Not actually used in the current implementationnode - The UML object being placed.| Method Detail |
public String placeString()
FigNodeModelElement
placeString in class FigNodeModelElementFigNodeModelElement.placeString()public Object clone()
FigNodeModelElementThe clone function is used by Copy/Paste operations.
clone in class FigNodeModelElementObject.clone()public org.tigris.gef.base.Selection makeSelection()
makeSelection in class FigNodeModelElementFig.makeSelection()public Vector getPopUpActions(MouseEvent me)
getPopUpActions in interface org.tigris.gef.ui.PopupGeneratorgetPopUpActions in class FigNodeModelElementme - a mouse event
PopupGenerator.getPopUpActions(java.awt.event.MouseEvent)public org.tigris.gef.presentation.FigGroup getOperationsFig()
public Rectangle getOperationsBounds()
getOperationsBounds in interface OperationsCompartmentContainerpublic boolean isOperationsVisible()
isOperationsVisible in interface OperationsCompartmentContainerpublic void setOperationsVisible(boolean isVisible)
OperationsCompartmentContainer
setOperationsVisible in interface OperationsCompartmentContainerisVisible - true will show the operations compartimentpublic Dimension getMinimumSize()
Parts of this are hardcoded, notably the fact that the name compartment has a minimum height of 21 pixels.
public void setFillColor(Color lColor)
Fig.setFillColor(java.awt.Color)public void setLineColor(Color lColor)
Fig.setLineColor(java.awt.Color)
public void translate(int dx,
int dy)
Fig.translate(int, int)public void mouseClicked(MouseEvent me)
FigNodeModelElement
mouseClicked in interface MouseListenermouseClicked in class FigNodeModelElementMouseListener.mouseClicked(java.awt.event.MouseEvent)public void mouseExited(MouseEvent me)
mouseExited in interface MouseListenerMouseListener.mouseExited(java.awt.event.MouseEvent)public void keyPressed(KeyEvent ke)
keyPressed in interface KeyListenerkeyPressed in class FigNodeModelElementKeyListener.keyPressed(java.awt.event.KeyEvent)public void setEnclosingFig(org.tigris.gef.presentation.Fig encloser)
FigNodeModelElement
setEnclosingFig in class FigNodeModelElementFig.setEnclosingFig(org.tigris.gef.presentation.Fig)
protected void textEdited(org.tigris.gef.presentation.FigText ft)
throws PropertyVetoException
FigNodeModelElement
textEdited in class FigNodeModelElementft - the FigText that has been edited and contains the new text
PropertyVetoException - thrown when new text represents
an unacceptable valueFigNodeModelElement.textEdited(org.tigris.gef.presentation.FigText)
protected org.tigris.gef.presentation.FigText getPreviousVisibleFeature(org.tigris.gef.presentation.FigText ft,
int i)
ft - the figtext holding the featurei - the index (?)
protected org.tigris.gef.presentation.FigText getNextVisibleFeature(org.tigris.gef.presentation.FigText ft,
int i)
ft - the figtext holding the featurei - the index (?)
public String classNameAndBounds()
classNameAndBounds in class FigNodeModelElementorg.tigris.gef.presentation.Fig#getNameAndBounds()
protected void createFeatureIn(org.tigris.gef.presentation.FigGroup fg,
InputEvent ie)
FigNodeModelElement
createFeatureIn in class FigNodeModelElementfg - The fig group to which this appliesie - The input event that triggered us. In the current
implementation a mouse double click.FigNodeModelElement.createFeatureIn(
org.tigris.gef.presentation.FigGroup, java.awt.event.InputEvent)protected CompartmentFigText unhighlight()
protected void modelChanged(PropertyChangeEvent mee)
FigNodeModelElement
modelChanged in class FigNodeModelElementmee - the ModelElementEvent that caused the changeFigNodeModelElement.modelChanged(java.beans.PropertyChangeEvent)public void renderingChanged()
FigNodeModelElement
renderingChanged in class FigNodeModelElementFigNodeModelElement.renderingChanged()
public void setBounds(int x,
int y,
int w,
int h)
getMinimumSize(), unless checking of size is disabled.If the required height is bigger, then the additional height is equally distributed among all figs (i.e. compartments), such that the cumulated height of all visible figs equals the demanded height
. Some of this has "magic numbers" hardcoded in. In particular there is a knowledge that the minimum height of a name compartment is 21 pixels.
x - Desired X coordinate of upper left cornery - Desired Y coordinate of upper left cornerw - Desired width of the FigInterfaceh - Desired height of the FigInterfaceprotected void updateOperations()
protected void updateStereotypeText()
FigNodeModelElement
updateStereotypeText in class FigNodeModelElementFigNodeModelElement.updateStereotypeText()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
| ArgoUML © 1996-2004 (20050222) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |