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]].
