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