Author: bobtarling
Date: 2011-05-11 05:53:12-0700
New Revision: 19399

Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/metamodel2.xml

Log:
Panel and control for Regions

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=19399&r1=19398&r2=19399
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     2011-05-11 05:53:12-0700
@@ -103,6 +103,7 @@
         addGetterSetter("raisedSignal", new RaisedExceptionGetterSetter());
         addGetterSetter("receiver", new ReceiverGetterSetter());
         addGetterSetter("reception", new ReceptionGetterSetter());
+        addGetterSetter("region", new RegionGetterSetter());
         addGetterSetter("residentElement", new ResidentElementGetterSetter());
         addGetterSetter("sender", new SenderGetterSetter());
         addGetterSetter("subvertex", new SubvertexGetterSetter());
@@ -1651,6 +1652,32 @@
        }
     }
     
+    private class RegionGetterSetter extends ListGetterSetter {
+        
+        public Collection getOptions(
+               final Object modelElement,
+               final Collection<Class<?>> types) {
+            return Model.getStateMachinesHelper().getRegions(modelElement);
+        }
+      
+        public Object get(Object modelElement, Class<?> type) {
+            // not needed
+            return null;
+        }
+      
+        public void set(Object element, Object x) {
+            // not needed
+        }
+
+        public boolean isValidElement(Object element, Collection<Class<?>> 
types) {
+            return getOptions(element, types).contains(element);
+        }
+        
+        public Object getMetaType() {
+            return Model.getMetaTypes().getRegion();
+        }
+    }
+    
     private class ResidentElementGetterSetter extends ListGetterSetter 
implements Addable, Removeable {
         
         public Collection getOptions(Object modelElement, Collection<Class<?>> 
types) {

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/metamodel2.xml
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/metamodel2.xml?view=diff&pathrev=19399&r1=19398&r2=19399
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/metamodel2.xml
   (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/metamodel2.xml
   2011-05-11 05:53:12-0700
@@ -23,13 +23,15 @@
   <class 
name="DestroyObjectAction">org.eclipse.uml2.uml.DestroyObjectAction</class>
   <class name="Element">org.eclipse.uml2.uml.Element</class>
   <class name="Expression">org.eclipse.uml2.uml.Expression</class>
+  <class name="Feature">org.eclipse.uml2.uml.Feature</class>
+  <class name="Interface">org.eclipse.uml2.uml.Interface</class>
   <class name="Namespace">org.eclipse.uml2.uml.Namespace</class>
   <class name="ObjectFlow">org.eclipse.uml2.uml.ObjectFlow</class>
+  <class name="Region">org.eclipse.uml2.uml.Region</class>
   <class name="SendSignalAction">org.eclipse.uml2.uml.SendSignalAction</class>
   <class name="TimeExpression">org.eclipse.uml2.uml.TimeExpression</class>
-  <class name="Feature">org.eclipse.uml2.uml.Feature</class>
+  <class name="State">org.eclipse.uml2.uml.State</class>
   <class 
name="StructuralFeature">org.eclipse.uml2.uml.StructuralFeature</class>
-  <class name="Interface">org.eclipse.uml2.uml.Interface</class>
   <class name="Constraint">org.eclipse.uml2.uml.Constraint</class>
   <class name="Relationship">org.eclipse.uml2.uml.Relationship</class>
   <class name="Association">org.eclipse.uml2.uml.Association</class>
@@ -58,7 +60,6 @@
   <class name="ExtensionPoint">org.eclipse.uml2.uml.ExtensionPoint</class>
   <class name="StateMachine">org.eclipse.uml2.uml.StateMachine</class>
   <class name="Event">org.eclipse.uml2.uml.Event</class>
-  <class name="State">org.eclipse.uml2.uml.State</class>
   <class name="TimeEvent">org.eclipse.uml2.uml.TimeEvent</class>
   <class name="CallEvent">org.eclipse.uml2.uml.CallEvent</class>
   <class name="SignalEvent">org.eclipse.uml2.uml.SignalEvent</class>
@@ -75,6 +76,9 @@
   <class name="String">java.lang.String</class>
 </classes>
 <panels>
+  <panel name="Region">
+    <text name="name" type="Name" />    
+  </panel>
   <panel name="Multiplicity">
     <list name="range" type="MultiplicityRange" />
   </panel>
@@ -2626,7 +2630,7 @@
     <text name="name" type="Name" />
     <combo name="namespace" type="Namespace" />
        <combo name="context" type="ModelElement" />
-    <list name="top" type="State" label="label.top-state" />
+    <list name="region" type="Region" />
     <list name="templateParameter" type="TemplateParameter" new="true" 
label="label.template-parameters" />
     <separator />
     <list name="transitions" type="Transition" />
@@ -2725,6 +2729,7 @@
     <list name="targetFlow" type="Flow" label="label.target-flows" />
     <list name="sourceFlow" type="Flow" label="label.source-flows" />
     <list name="comment" type="Comment" />
+    <list name="region" type="Region" />
     <separator />
     <list name="clientDependency" type="Dependency" 
label="label.client-dependencies" />
     <list name="supplierDependency" type="ModelElement" 
label="label.supplier-dependencies" />

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

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

Reply via email to