svn commit: r16904 - trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram

Thomas Neustupny <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: thn
Date: 2009-03-19 13:57:25-0700
New Revision: 16904

Modified:
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigClassifierRole.java
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigHead.java
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigLifeLine.java

Log:
Bobs fix for issue 5728: colors get lost (fillcolor) in the pgml file for seq diagrams

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigClassifierRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigClassifierRole.java?view=diff&pathrev=16904&r1=16903&r2=16904
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigClassifierRole.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigClassifierRole.java	2009-03-19 13:57:25-0700
@@ -368,6 +368,11 @@
     }
     
     @Override
+    public Color getFillColor() {
+        return headFig.getFillColor();
+    }
+    
+    @Override
     public void setFilled(boolean filled) {
         headFig.setFilled(filled);
     }

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigHead.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigHead.java?view=diff&pathrev=16904&r1=16903&r2=16904
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigHead.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigHead.java	2009-03-19 13:57:25-0700
@@ -33,7 +33,10 @@
 import org.tigris.gef.presentation.FigRect;
 import org.tigris.gef.presentation.FigText;
 
-class FigHead extends ArgoFigGroup  {
+// TODO: We really want this class to have package scope however the reflection
+// used to process PGML.tee forces this to be public. I don't understand why.
+// Is there a way around this?
+public class FigHead extends ArgoFigGroup  {
     
     private FigText nameFig;
     private Fig stereotypeFig;
@@ -141,10 +144,17 @@
         rectFig.setLineWidth(w);
     }
     
+    @Override
     public void setFillColor(Color c) {
         rectFig.setFillColor(c);
     }
     
+    @Override
+    public Color getFillColor() {
+        return rectFig.getFillColor();
+    }
+    
+    @Override
     public void setLineColor(Color c) {
         rectFig.setLineColor(c);
     }

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigLifeLine.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigLifeLine.java?view=diff&pathrev=16904&r1=16903&r2=16904
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigLifeLine.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigLifeLine.java	2009-03-19 13:57:25-0700
@@ -25,12 +25,14 @@
 package org.argouml.sequence2.diagram;
 
 import java.awt.Rectangle;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 
 import org.argouml.uml.diagram.DiagramSettings;
 import org.argouml.uml.diagram.ui.ArgoFigGroup;
+import org.tigris.gef.presentation.Fig;
 import org.tigris.gef.presentation.FigLine;
 import org.tigris.gef.presentation.FigRect;
 
@@ -95,16 +97,26 @@
         activations = createStandardActivations(messages);
         stackedActivations = createStackedActivations(messages);
         
-        for (FigActivation figAct : activations) {
-            addFig(figAct);
-        }
-        for (FigActivation figAct : stackedActivations) {
-            addFig(figAct);
-        }       
+        addActivations(activations);
+        addActivations(stackedActivations);
+
         // TODO: Do we need this?
         calcBounds();
     }
-
+    
+    /**
+     * Add the given list of activation Figs to the lifeline. The fill colour
+     * is forced to the lifeline colour in the process.
+     * @param activationFigs
+     */
+    private void addActivations(
+            final List<FigActivation> activationFigs) {
+        for (final FigActivation figAct : activationFigs) {
+            figAct.setFillColor(getFillColor());
+            addFig(figAct);
+        }
+    }
+    
     private List<FigActivation> createStandardActivations(
                 final List<FigMessage> figMessages) {

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=1357861

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.