Author: bobtarling
Date: 2011-04-12 10:47:19-0700
New Revision: 19223
Added:
trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigNotation.java
Log:
First commit of FigNotation to listen for and display notation changes
Added: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigNotation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigNotation.java?view=markup&pathrev=19223
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/FigNotation.java 2011-04-12 10:47:19-0700
@@ -0,0 +1,94 @@
+/* $Id: FigNotation.java $
+ *****************************************************************************
+ * Copyright (c) 20011 Contributors - see below
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bob Tarling
+ *****************************************************************************
+ */
+
+package org.argouml.activity2.diagram;
+
+import java.awt.Dimension;
+import java.awt.FontMetrics;
+import java.awt.Rectangle;
+
+import org.argouml.notation2.NotatedItem;
+import org.argouml.notation2.NotationLanguage;
+import org.argouml.notation2.NotationTextEvent;
+import org.argouml.notation2.NotationType;
+import org.argouml.uml.diagram.DiagramSettings;
+import org.tigris.gef.presentation.FigText;
+
+/**
+ * @author Bob Tarling
+ */
+public class FigNotation extends FigText implements NotatedItem {
+
+ private final NotationType notationType;
+
+ /**
+ * Construct the notation fig
+ *
+ * @param owner owning UML element
+ * @param bounds position and size
+ * @param settings diagram settings
+ * @param notationType the notation type to show
+ */
+ public FigNotation(
+ final Object owner,
+ final Rectangle bounds,
+ final DiagramSettings settings,
+ final NotationType notationType) {
+ super(bounds.x, bounds.y, bounds.width, bounds.height , true);
+ this.notationType = notationType;
+ setTabAction(FigText.END_EDITING);
+ setReturnAction(FigText.END_EDITING);
+ setLineWidth(0);
+ super.setFilled(false);
+ }
+
+ /**
+ * Notation is always transparent
+ */
+ public void setFilled(boolean filled) {
+ }
+
+ @Override
+ public Dimension getMinimumSize() {
+ final FontMetrics fontMetrics = getFontMetrics();
+
+ final int minWidth =
+ fontMetrics.stringWidth(getText())
+ + getLeftMargin()
+ + getRightMargin()
+ + 2 * getLineWidth();
+ final int minHeight =
+ fontMetrics.getHeight()
+ + getTopMargin()
+ + getBotMargin()
+ + 2 * getLineWidth();
+ return new Dimension(minWidth, minHeight);
+ }
+
+ public Object getMetaType() {
+ return getOwner().getClass();
+ }
+
+ public NotationLanguage getNotationLanguage() {
+ return null;
+ }
+
+ public NotationType getNotationType() {
+ return notationType;
+ }
+
+ public void notationTextChanged(NotationTextEvent event) {
+ this.setText(event.getText());
+ this.setUnderline(event.isUnderlined());
+ }
+}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2719163
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.