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]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.