svn commit: r16371 - trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2008-12-17 17:51:49-0800
New Revision: 16371
Modified:
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/SelectionMessage.java
Log:
Centralize some common code
Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java?view=diff&pathrev=16371&r1=16370&r2=16371
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java (original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java 2008-12-17 17:51:49-0800
@@ -254,20 +254,11 @@
public void removeFigEdge(FigEdge edge) {
super.removeFigEdge(edge);
- if (! (edge instanceof FigMessage)) {
- return;
- }
- final FigMessage figMessage = (FigMessage) edge;
-
- // if the removed edge is a Create Message it will affect the position
- // of the ClassifierRole so it should be repositioned
- if (figMessage.isCreateAction()
- && equals(figMessage.getDestFigNode())
- && !equals(figMessage.getSourceFigNode())) {
- relocate();
+ if (edge instanceof FigMessage) {
+ final FigMessage figMessage = (FigMessage) edge;
+ positionHead(figMessage);
+ createActivations();
}
-
- createActivations();
}
@Override
@@ -275,31 +266,28 @@
super.addFigEdge(edge);
if (edge instanceof FigMessage) {
-
FigMessage mess = (FigMessage) edge;
if (mess.isSelfMessage()) {
mess.convertToArc();
}
-
- // if the removed edge is a Create Message it will affect the position
- // of the ClassifierRole so it should be repositioned
- if (equals(mess.getDestFigNode())
- && !equals(mess.getSourceFigNode())
- && Model.getFacade().isACreateAction(mess.getAction())) {
-
- LOG.info("Added a create message");
- relocate();
- }
+ positionHead(mess);
}
- }
-
+ }
+
/**
- * Updates the position of the classifier role.
- * Called when a create message is added, moved or removed.
+ * Position the head at the top of the lifeline so that it is at the top
+ * of the FigClassifierRole or where the create message enters the
+ * FigClassifierRole
*/
- void relocate() {
- updateHeadOffset();
- setBounds(getX(), getY(), getWidth(), getHeight());
+ void positionHead(final FigMessage message) {
+ // if the added edge is a Create Message it will affect the position
+ // of the ClassifierRole so it should be repositioned
+ if (message.isCreateAction()
+ && equals(message.getDestFigNode())
+ && !equals(message.getSourceFigNode())) {
+ updateHeadOffset();
+ setBounds(getX(), getY(), getWidth(), getHeight());
+ }
}
/**
Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/SelectionMessage.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/SelectionMessage.java?view=diff&pathrev=16371&r1=16370&r2=16371
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/SelectionMessage.java (original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/SelectionMessage.java 2008-12-17 17:51:49-0800
@@ -107,10 +107,7 @@
}
}
- // if it is a create action, relocate its dest node.
- if (figMessage.isCreateAction()) {
- dest.relocate();
- }
+ dest.positionHead(figMessage);
// we recalculate all the activations
source.createActivations();
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=986224
To unsubscribe from this discussion, e-mail: [[email protected]].