Author: bobtarling
Date: 2011-04-27 04:21:44-0700
New Revision: 19290

Added:
   
trunk/src/argouml-core-notation/src/org/argouml/notation2/StereotypeUmlNotation.java
Modified:
   
trunk/src/argouml-core-notation/src/org/argouml/notation2/UmlNotationLanguage.java

Log:
Work started on stereotype notation

Added: 
trunk/src/argouml-core-notation/src/org/argouml/notation2/StereotypeUmlNotation.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-notation/src/org/argouml/notation2/StereotypeUmlNotation.java?view=markup&pathrev=19290
==============================================================================
--- (empty file)
+++ 
trunk/src/argouml-core-notation/src/org/argouml/notation2/StereotypeUmlNotation.java
        2011-04-27 04:21:44-0700
@@ -0,0 +1,61 @@
+/* $Id$
+ 
*******************************************************************************
+ * Copyright (c) 2011 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.notation2;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.SwingUtilities;
+
+import org.argouml.model.InvalidElementException;
+import org.argouml.model.Model;
+
+public class StereotypeUmlNotation implements NotationText,
+        PropertyChangeListener {
+
+    final private NotatedItem notatedItem;
+
+    StereotypeUmlNotation(NotatedItem item) {
+        notatedItem = item;
+    }
+    
+    public Object getMetaType() {
+        return notatedItem.getMetaType();
+    }
+
+    public NotationType getNotationType() {
+        return notatedItem.getNotationType();
+    }
+
+    public void propertyChange(PropertyChangeEvent arg0) {
+        try {
+            final Object owner = notatedItem.getOwner();
+            final String name = Model.getFacade().getName(owner);
+            
+            Runnable doWorkRunnable = new Runnable() {
+                public void run() {
+                        NotationTextEvent event = new UmlNotationTextEvent(
+                                "<<" + name + ">>", 
+                                false, 
+                                false, 
+                                false);
+                        notatedItem.notationTextChanged(event);
+                }  
+            };
+            SwingUtilities.invokeLater(doWorkRunnable);
+        } catch (InvalidElementException e) {
+        }
+    }
+
+}

Modified: 
trunk/src/argouml-core-notation/src/org/argouml/notation2/UmlNotationLanguage.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-notation/src/org/argouml/notation2/UmlNotationLanguage.java?view=diff&pathrev=19290&r1=19289&r2=19290
==============================================================================
--- 
trunk/src/argouml-core-notation/src/org/argouml/notation2/UmlNotationLanguage.java
  (original)
+++ 
trunk/src/argouml-core-notation/src/org/argouml/notation2/UmlNotationLanguage.java
  2011-04-27 04:21:44-0700
@@ -13,6 +13,8 @@
 
 package org.argouml.notation2;
 
+import java.beans.PropertyChangeListener;
+
 import org.argouml.model.Model;
 
 class UmlNotationLanguage implements NotationLanguage {
@@ -23,9 +25,14 @@
 
     public NotationText createNotationText(NotatedItem item) {
         
-        NameUmlNotation nt = new NameUmlNotation(item);
+        final NotationText nt;
+        if (Model.getMetaTypes().getStereotype().equals(item.getMetaType())) {
+            nt = new StereotypeUmlNotation(item);
+        } else {
+            nt = new NameUmlNotation(item);
+        }
         Model.getPump().addModelEventListener(
-                nt, item.getOwner());
+                (PropertyChangeListener) nt, item.getOwner());
         
         return nt;
     }

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to