|
|||||||||||
| 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.FigClassifierBox
org.argouml.uml.diagram.static_structure.ui.FigClass
Class to display graphics for a UML Class in a diagram.
| Field Summary |
| Fields inherited from class org.argouml.uml.diagram.static_structure.ui.FigClassifierBox |
borderFig, highlightedFigText, operationsFig |
| Fields inherited from class org.argouml.uml.diagram.ui.FigNodeModelElement |
ABSTRACT, ACTIVE, invisibleAllowed, LEAF, notationProviderName, 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.Fig |
_allowsSaving, _context, _dashes, _dashPeriod, _dashStyle, _filled, _h, _w, _x, _y, an, annotationOwner, annotationStatus, BORDER, MIN_SIZE, plotter |
| Constructor Summary | |
FigClass(GraphModel gm,
Object node)
Constructor for a FigClass by diagram interaction. |
|
FigClass(Object modelElement,
int x,
int y,
int w,
int h)
Constructor for a FigClass during file load. |
|
| 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. |
Rectangle |
getAttributesBounds()
|
int |
getLineWidth()
|
Dimension |
getMinimumSize()
Gets the minimum size permitted for a class on the diagram. |
protected FigText |
getNextVisibleFeature(FigGroup fgVec,
FigText ft,
int i)
|
Vector |
getPopUpActions(MouseEvent me)
Build a collection of menu items relevant for a right-click popup menu on a Class. |
protected FigText |
getPreviousVisibleFeature(FigGroup fgVec,
FigText ft,
int i)
|
boolean |
isAttributesVisible()
Returns the status of the attribute field. |
Selection |
makeSelection()
|
protected void |
modelChanged(PropertyChangeEvent mee)
Handles changes to the model. |
void |
renderingChanged()
Rerenders the fig. |
void |
setAttributesVisible(boolean isVisible)
Set the visibility of the attributes compartment. |
protected void |
setBoundsImpl(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(Fig encloser)
Updates the modelelement container if the fig is moved in or out another fig. |
void |
setLineWidth(int w)
|
void |
setOperationsVisible(boolean isVisible)
Set the visibility of the operations compartment. |
protected void |
textEdited(FigText ft)
This method is called after the user finishes editing a text field that is in the FigNodeModelElement. |
protected void |
textEditStarted(FigText ft)
This method is called when the user doubleclicked on the text field, and starts editing. |
void |
translate(int dx,
int dy)
|
protected void |
updateAbstract()
Updates the name if modelchanged receives an "isAbstract" event. |
protected void |
updateAttributes()
Updates the attributes in the fig. |
protected void |
updateListeners(Object oldOwner,
Object newOwner)
Implementations of this method should register/unregister the fig for all (model)events. |
protected void |
updateNameText()
Updates the text of the name FigText. |
protected void |
updateOperations()
Updates the operations box. |
protected void |
updateStereotypeText()
Updates the text of the sterotype FigText. |
| Methods inherited from class org.argouml.uml.diagram.static_structure.ui.FigClassifierBox |
createFeatureIn, getOperationsBounds, getOperationsFig, isOperationsVisible, mouseClicked, mouseExited, unhighlight, unhighlight |
| Methods inherited from class org.tigris.gef.presentation.FigNode |
addFigEdge, bindPort, cleanUp, contains, deepHitPort, dispose, endTrans, getFigEdges, getFigEdges, getHighlight, getPortFig, getPortFigs, getPortSector, hidePorts, hitPort, hitPort, isBlinkPorts, mouseEntered, mousePressed, mouseReleased, paint, removeFigEdge, removePort, setBlinkPorts, setHighlight, showPorts, superTranslate, translateImpl, updateEdges |
| Methods inherited from class org.tigris.gef.presentation.FigGroup |
addFig, addFigs, deepSelect, elements, getDisplayedFigs, getExtraFrameSpace, getFigAt, getFigCount, getFigPosn, getFigs, getFont, getFontFamily, getFontSize, getPrivateData, getSubFigBounds, getTextColor, getTextFillColor, getTextFilled, hitFig, isReshapable, isRotatable, iterator, parseDynObjects, removeAll, removeFig, setExtraFrameSpace, setFigs, setFigs, setFillColor, setFilled, setFont, setFontFamily, setFontSize, setLineColor, setPrivateData, setTextColor, setTextFillColor, setTextFilled |
| 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.argouml.cognitive.Highlightable |
getHighlight, setHighlight |
| Methods inherited from interface org.tigris.gef.di.GraphicElement |
getId, getOwner, routingRect |
| Constructor Detail |
public FigClass(Object modelElement,
int x,
int y,
int w,
int h)
FigClass during file load.
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 attributes and operations.
The properties of all these graphic elements are adjusted appropriately. The main boxes are all filled and have outlines.
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 attribute and operations boxes
are created at 19 pixels, 2 more than FigNodeModelElement.ROWHEIGHT.
public FigClass(GraphModel gm,
Object node)
FigClass by diagram interaction.
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 attributes and operations.
The properties of all these graphic elements are adjusted appropriately. The main boxes are all filled and have outlines.
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 attribute and operations boxes
are created at 19 pixels, 2 more than FigNodeModelElement.ROWHEIGHT.
gm - Not actually used in the current implementationnode - The UML object being placed.| Method Detail |
public Object clone()
FigNodeModelElementThe clone function is used by Copy/Paste operations.
clone in class FigClassifierBoxObject.clone()public Selection makeSelection()
makeSelection in class FigNodeModelElementFig.makeSelection()public Vector getPopUpActions(MouseEvent me)
getPopUpActions in interface PopupGeneratorgetPopUpActions in class FigNodeModelElementme - a mouse event
PopupGenerator.getPopUpActions(java.awt.event.MouseEvent)public Rectangle getAttributesBounds()
getAttributesBounds in interface AttributesCompartmentContainerpublic boolean isAttributesVisible()
isAttributesVisible in interface AttributesCompartmentContainerAttributesCompartmentContainer.isAttributesVisible()public void setAttributesVisible(boolean isVisible)
AttributesCompartmentContainer
setAttributesVisible in interface AttributesCompartmentContainerisVisible - true if the attribute compartment is visibleAttributesCompartmentContainer.setAttributesVisible(boolean)public void setOperationsVisible(boolean isVisible)
OperationsCompartmentContainer
setOperationsVisible in interface OperationsCompartmentContainerisVisible - true if the operation compartment is visibleOperationsCompartmentContainer.setOperationsVisible(boolean)public void setLineWidth(int w)
Fig.setLineWidth(int)public int getLineWidth()
Fig.getLineWidth()public String classNameAndBounds()
classNameAndBounds in class FigNodeModelElementpublic Dimension getMinimumSize()
Parts of this are hardcoded, notably the fact that the name compartment has a minimum height of 21 pixels.
public void translate(int dx,
int dy)
translate in class FigClassifierBoxFig.translate(int, int)
protected void textEdited(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 void textEditStarted(FigText ft)
FigNodeModelElement
It is also possible to alter the text to be edited
already here, e.g. by adding the stereotype in front of the name,
by calling
notationProviderName.putValue("fullyHandleStereotypes",
true);, but that seems not user-friendly. See issue 3838.
textEditStarted in class FigNodeModelElementft - the FigText that will be edited and contains the start-textFigNodeModelElement.textEditStarted(org.tigris.gef.presentation.FigText)
protected FigText getPreviousVisibleFeature(FigGroup fgVec,
FigText ft,
int i)
fgVec - the FigGroupft - the Figtexti - get the fig before fig i
protected FigText getNextVisibleFeature(FigGroup fgVec,
FigText ft,
int i)
fgVec - the FigGroupft - the Figtexti - get the fig after fig i
public void renderingChanged()
FigNodeModelElementThis functionality was originally the functionality of modelChanged but modelChanged takes the event now into account.
renderingChanged in class FigNodeModelElementFigNodeModelElement.renderingChanged()protected void modelChanged(PropertyChangeEvent mee)
modelChanged in class FigNodeModelElementmee - the ModelElementEvent that caused the changeFigNodeModelElement.modelChanged(java.beans.PropertyChangeEvent)protected void updateStereotypeText()
FigNodeModelElement
updateStereotypeText in class FigNodeModelElementTODO: Refactor into FigClassifierBoxpublic void setEnclosingFig(Fig encloser)
FigNodeModelElement
setEnclosingFig in class FigNodeModelElementFig.setEnclosingFig(org.tigris.gef.presentation.Fig)
protected void setBoundsImpl(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 FigClassh - Desired height of the FigClassFig.setBoundsImpl(int, int, int, int)protected void updateAttributes()
protected void updateOperations()
updateOperations in class FigClassifierBoxprotected void updateNameText()
FigNodeModelElement
updateNameText in class FigNodeModelElementFigNodeModelElement.updateNameText()protected void updateAbstract()
protected void updateListeners(Object oldOwner,
Object newOwner)
FigNodeModelElementAn explanation of the original purpose of this method is given in issue 1321.
This function is used in UMLDiagram, which removes all listeners to all Figs when a diagram is not displayed, and restore them when it becomes visible again.
In this case, it is imperative that indeed ALL listeners are updated, since they are ALL removed by the call to removeElementListener.
Additionally, this function may be used by the modelChanged() function.
In this case, it is also imperative that all listeners get removed / added.
updateListeners in class FigNodeModelElementnewOwner - null, or the owner of this.
The former means that listeners have to be removed,
the latter that they have to be set.
TODO: Should this not be boolean, to clarify?org.argouml.uml.diagram.ui.FigNodeModelElement#updateListeners(java.lang.Object)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
| ArgoUML © 1996-2006 | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |