svn commit: r16629 - trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java
Tom Morris <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: tfmorris
Date: 2009-01-15 15:13:39-0800
New Revision: 16629
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java
Log:
Issue 5625: Make sure fig for discriminator has an owner (this was the underlying cause of the PGML parser crash). Also add model listener so that discriminator gets updated.
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java?view=diff&pathrev=16629&r1=16628&r2=16629
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigGeneralization.java 2009-01-15 15:13:39-0800
@@ -26,13 +26,13 @@
import java.awt.Font;
import java.awt.Graphics;
+import java.awt.Rectangle;
import java.beans.PropertyChangeEvent;
import org.argouml.model.AttributeChangeEvent;
import org.argouml.model.Model;
import org.argouml.uml.diagram.DiagramSettings;
import org.tigris.gef.base.Layer;
-import org.tigris.gef.base.PathConvPercent;
import org.tigris.gef.presentation.ArrowHeadTriangle;
import org.tigris.gef.presentation.Fig;
import org.tigris.gef.presentation.FigText;
@@ -44,6 +44,10 @@
*/
public class FigGeneralization extends FigEdgeModelElement {
+ private static final int TEXT_HEIGHT = 20;
+
+ private static final int DISCRIMINATOR_WIDTH = 90;
+
/*
* The serialVersionUID (generated by Eclipse)
*/
@@ -52,7 +56,7 @@
/**
* Text box for discriminator.
*/
- private FigText discriminator = new FigText(X0, Y0 + 20, 90, 20);
+ private FigText discriminator;
private ArrowHeadTriangle endArrow;
@@ -64,6 +68,8 @@
@SuppressWarnings("deprecation")
@Deprecated
public FigGeneralization() {
+ discriminator = new ArgoFigText(null, new Rectangle(X0, Y0,
+ DISCRIMINATOR_WIDTH, TEXT_HEIGHT), getSettings(), false);
initialize();
}
@@ -108,8 +114,11 @@
*/
public FigGeneralization(Object owner, DiagramSettings settings) {
super(owner, settings);
+ discriminator = new ArgoFigText(owner, new Rectangle(X0, Y0,
+ DISCRIMINATOR_WIDTH, TEXT_HEIGHT), settings, false);
initialize();
fixup(owner);
+ addListener(owner);
}
/*
@@ -143,11 +152,14 @@
removeElementListener(oldOwner);
}
if (newOwner != null) {
- addElementListener(newOwner,
- new String[] {"remove", "discriminator"});
+ addListener(newOwner);
}
}
+ private void addListener(Object owner) {
+ addElementListener(owner, new String[] {"remove", "discriminator"});
+ }
+
/**
* Updates the discriminator text. Called if the model is changed
* and on construction time.
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=1027294
To unsubscribe from this discussion, e-mail: [[email protected]].