Author: bobtarling
Date: 2008-06-01 17:42:16-0700
New Revision: 14857
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/FigLifeLine.java
Log:
FigLifeLine should reposition its activations so that FigClassifierRole doesn't have to rebuild them
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&rev=14857&p1=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&p2=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&r1=14856&r2=14857
==============================================================================
--- 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-06-01 17:42:16-0700
@@ -116,29 +116,19 @@
return NotationProviderFactory2.TYPE_CLASSIFIERROLE;
}
- protected void setBoundsImpl(final int x, final int y,
+ @Override
+ protected void setBoundsImpl(
+ final int x, final int y,
final int w, final int h) {
- Rectangle oldBounds = getBounds();
-
- int ww = w;
- if (ww < headFig.getMinimumSize().width)
- ww = headFig.getMinimumSize().width;
+ final Rectangle oldBounds = getBounds();
+ final int ww = Math.max(w, headFig.getMinimumSize().width);
updateHeadOffset();
emptyFig.setBounds(x, y, ww, offset);
headFig.setBounds(x, y + offset, ww, headFig.getMinimumHeight());
lifeLineFig.setBounds(x, y + offset + headFig.getHeight(),
ww, h - offset - headFig.getHeight());
- // TODO: createActivations must be called here otherwise activations
- // don't reposition correctly when Fig is first placed. We must
- // determine a better way of doing this. Why don't the child Figs
- // reposition themselves?
- // Once we can get rid of this line we may need to replace with
- // something to just resize the last activation only.
- createActivations();
-
- // set bounds of big box
getBigPort().setBounds(x, y, ww, h);
calcBounds();
Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java?view=diff&rev=14857&p1=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java&p2=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java&r1=14856&r2=14857
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java (original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigLifeLine.java 2008-06-01 17:42:16-0700
@@ -259,13 +259,17 @@
final Rectangle oldBounds = getBounds();
rectFig.setBounds(x, y, w, h);
- lineFig.setBounds(x + w / 2, y,
- w, h);
+ lineFig.setBounds(x + w / 2, y, w, h);
+
+ final int yDiff = oldBounds.y - y;
// we don't recalculate activations, just move them
for (FigActivation act : activations) {
+ // TODO: why do we need to remove then add the Fig?
removeFig(act);
- act.setX(lineFig.getX() - FigActivation.DEFAULT_WIDTH / 2);
+ act.setLocation(
+ lineFig.getX() - FigActivation.DEFAULT_WIDTH / 2,
+ act.getY() - yDiff);
if (activations.size() == 1
&& act.getHeight() == oldBounds.height) {
act.setHeight(getHeight());
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.