svn commit: r18218 - trunk/src: argouml-core-model-mdr/src/org/argouml/model/mdr argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui
[email protected] Thu, 8 Apr 2010 10:33:25 -0700 (PDT)
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: bobtarling
Date: 2010-04-08 10:33:24-0700
New Revision: 18218
Removed:
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateInternalTransitionListModel.java
Modified:
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Log:
Provide buttons to create internal transitions
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=18218&r1=18217&r2=18218
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java 2010-04-08 10:33:24-0700
@@ -563,13 +563,21 @@
// specifies valid elements for an SimpleState to contain
validContainmentMap.put(SimpleState.class,
new Class<?>[] {
+ Transition.class,
CallAction.class, CreateAction.class, DestroyAction.class, ReturnAction.class, SendAction.class, TerminateAction.class, UninterpretedAction.class, ActionSequence.class,
CallEvent.class, ChangeEvent.class, SignalEvent.class, TimeEvent.class
});
+ // specifies valid elements for an SimpleState to contain
+ validContainmentMap.put(FinalState.class,
+ new Class<?>[] {
+ Transition.class,
+ });
+
// specifies valid elements for an SubactivityState to contain
validContainmentMap.put(SubactivityState.class,
new Class<?>[] {
+ Transition.class,
CallAction.class, CreateAction.class, DestroyAction.class, ReturnAction.class, SendAction.class, TerminateAction.class, UninterpretedAction.class, ActionSequence.class,
CallEvent.class, ChangeEvent.class, SignalEvent.class, TimeEvent.class
});
@@ -584,6 +592,7 @@
// specifies valid elements for an ActionState to contain
validContainmentMap.put(CompositeState.class,
new Class<?>[] {
+ Transition.class,
Pseudostate.class, SynchState.class, StubState.class, CompositeState.class, SimpleState.class, FinalState.class, SubmachineState.class,
CallAction.class, CreateAction.class, DestroyAction.class, ReturnAction.class, SendAction.class, TerminateAction.class, UninterpretedAction.class, ActionSequence.class
});
@@ -879,6 +888,8 @@
element = Model.getStateMachinesFactory().buildFinalState(container);
} else if (elementType == metaTypes.getSubmachineState() && container instanceof CompositeState) {
element = Model.getStateMachinesFactory().buildSubmachineState(container);
+ } else if (elementType == metaTypes.getTransition() && container instanceof State) {
+ element = Model.getStateMachinesFactory().buildInternalTransition(container);
} else {
// build all other elements using existing buildNode
element = buildNode(elementType);
Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml?view=diff&pathrev=18218&r1=18217&r2=18218
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml (original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml 2010-04-08 10:33:24-0700
@@ -2746,7 +2746,7 @@
<separator />
<attribute name="exit" type="Action" />
<list name="deferrableEvent" type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent" label="label.deferrable" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<attribute name="doActivity" type="Action" />
<attribute name="stateMachine" type="StateMachine" />
<list name="classifierInState" type="State" label="label.instate" />
@@ -2897,7 +2897,7 @@
<separator />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<separator />
<list name="subvertex" type="org.omg.uml.behavioralelements.statemachines.SynchState,org.omg.uml.behavioralelements.statemachines.StubState,org.omg.uml.behavioralelements.statemachines.CompositeState,org.omg.uml.behavioralelements.statemachines.SimpleState,org.omg.uml.behavioralelements.statemachines.FinalState,org.omg.uml.behavioralelements.statemachines.SubmachineState" />
<debug />
@@ -3035,7 +3035,7 @@
<singlerow name="doActivity" type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence" label="label.do-activity" />
<separator />
<list name="deferrableEvent" type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent" label="label.deferrable" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<separator />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
@@ -3077,7 +3077,7 @@
<separator />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<separator />
<list name="subvertex" type="org.omg.uml.behavioralelements.statemachines.SynchState,org.omg.uml.behavioralelements.statemachines.StubState,org.omg.uml.behavioralelements.statemachines.CompositeState,org.omg.uml.behavioralelements.statemachines.SimpleState,org.omg.uml.behavioralelements.statemachines.FinalState,org.omg.uml.behavioralelements.statemachines.SubmachineState" />
@@ -3183,7 +3183,7 @@
<list name="doActivity" type="Action" label="label.do-activity" />
<separator />
<list name="incoming" type="Transition" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<debug />
<attribute name="outgoing" type="Transition" />
@@ -3617,7 +3617,7 @@
<separator />
<attribute name="exit" type="Action" />
<list name="deferrableEvent" type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent" label="label.deferrable" />
- <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+ <list name="internalTransition" type="org.omg.uml.behavioralelements.statemachines.Transition" label="label.internal-transitions" />
<attribute name="doActivity" type="Action" />
<attribute name="stateMachine" type="StateMachine" />
<list name="classifierInState" type="State" label="label.classifier-in-state" />
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=18218&r1=18217&r2=18218
==============================================================================
--- 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 2010-04-08 10:33:24-0700
@@ -96,6 +96,7 @@
addGetterSetter("entry", new EntryActionGetterSetter());
addGetterSetter("action", new ActionGetterSetter());
addGetterSetter("subvertex", new SubvertexGetterSetter());
+ addGetterSetter("internalTransition", new InternalTransitionGetterSetter());
// UML2 only
addGetterSetter("ownedOperation", new FeatureGetterSetter());
@@ -1721,4 +1722,28 @@
return Model.getMetaTypes().getAttribute();
}
}
+ private class InternalTransitionGetterSetter extends ListGetterSetter {
+
+ public Collection getOptions(Object modelElement, String type) {
+ return Model.getFacade().getInternalTransitions(modelElement);
+ }
+
+ public Object get(Object modelElement, String type) {
+ // not needed
+ return null;
+ }
+
+ public void set(Object element, Object x) {
+ // not needed
+ }
+
+ public boolean isValidElement(Object element, String type) {
+
+ return getOptions(element, type).contains(element);
+ }
+
+ public Object getMetaType() {
+ return Model.getMetaTypes().getTransition();
+ }
+ }
}
Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=18218&r1=18217&r2=18218
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java (original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java 2010-04-08 10:33:24-0700
@@ -105,8 +105,6 @@
model = new UMLStateVertexIncomingListModel(modelElement);
} else if ("instantiation".equals(propName)) {
model = new UMLCreateActionClassifierListModel(modelElement);
- } else if ("internalTransition".equals(propName)) {
- model = new UMLStateInternalTransitionListModel(modelElement);
} else if ("link".equals(propName)) {
model = new UMLAssociationLinkListModel(modelElement);
} else if ("literal".equals(propName)) {
Removed: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateInternalTransitionListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateInternalTransitionListModel.java?view=markup&pathrev=18217
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2523865
To unsubscribe from this discussion, e-mail: [[email protected] ].