svn commit: r18206 - 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
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2010-03-31 17:17:05-0700
New Revision: 18206
Removed:
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.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 button for new entry actions
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=18206&r1=18205&r2=18206
==============================================================================
--- 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-03-31 17:17:05-0700
@@ -549,27 +549,37 @@
// specifies valid elements for an CallState to contain
validContainmentMap.put(CallState.class,
new Class<?>[] {
+ CallAction.class,
CallEvent.class, ChangeEvent.class, SignalEvent.class, TimeEvent.class
});
// specifies valid elements for an SimpleState to contain
validContainmentMap.put(SimpleState.class,
new 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 SubactivityState to contain
validContainmentMap.put(SubactivityState.class,
new 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 ActionState to contain
validContainmentMap.put(ActionState.class,
new 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 ActionState to contain
+ validContainmentMap.put(CompositeState.class,
+ new Class<?>[] {
+ CallAction.class, CreateAction.class, DestroyAction.class, ReturnAction.class, SendAction.class, TerminateAction.class, UninterpretedAction.class, ActionSequence.class
+ });
+
}
public Object buildConnection(Object elementType, Object fromElement,
@@ -795,28 +805,28 @@
element = Model.getStateMachinesFactory().buildGuard(container);
} else if (elementType == metaTypes.getCreateAction()) {
element = Model.getCommonBehaviorFactory().createCreateAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getCallAction()) {
element = Model.getCommonBehaviorFactory().createCallAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getReturnAction()) {
element = Model.getCommonBehaviorFactory().createReturnAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getDestroyAction()) {
element = Model.getCommonBehaviorFactory().createDestroyAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getSendAction()) {
element = Model.getCommonBehaviorFactory().createSendAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getTerminateAction()) {
element = Model.getCommonBehaviorFactory().createTerminateAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getUninterpretedAction()) {
element = Model.getCommonBehaviorFactory().createUninterpretedAction();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getActionSequence()) {
element = Model.getCommonBehaviorFactory().createActionSequence();
- ((Transition) container).setEffect((Action) element);
+ setNewAction(container, (Action) element);
} else if (elementType == metaTypes.getCallEvent()) {
element = Model.getStateMachinesFactory().createCallEvent();
if (container instanceof Transition) {
@@ -861,6 +871,14 @@
return element;
}
+ private void setNewAction(Object container, Action action) {
+ if (container instanceof Transition) {
+ ((Transition) container).setEffect((Action) action);
+ } else {
+ ((State) container).setEntry((Action) action);
+ }
+ }
+
/**
* Add a newly created event to a trigger
* @param transition
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=18206&r1=18205&r2=18206
==============================================================================
--- 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-03-31 17:17:05-0700
@@ -2892,7 +2892,7 @@
<panel name="CompositeState">
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" 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" />
<list name="exit" type="Action" />
<list name="doActivity" type="Action" label="label.do-activity" />
<separator />
@@ -3032,7 +3032,7 @@
<panel name="SimpleState">
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" 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" />
<list name="exit" type="Action" />
<list name="doActivity" type="Action" label="label.do-activity" />
<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" />
@@ -3071,7 +3071,7 @@
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
<combo name="submachine" type="StateMachine" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" 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" />
<list name="exit" type="Action" />
<list name="doActivity" type="Action" label="label.do-activity" />
<separator />
@@ -3179,7 +3179,7 @@
<panel name="FinalState">
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" 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" />
<list name="doActivity" type="Action" label="label.do-activity" />
<separator />
<list name="incoming" type="Transition" />
@@ -3630,7 +3630,7 @@
<panel name="ActionState">
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" 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" />
<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" />
<separator />
<list name="outgoing" type="Transition" />
@@ -3672,7 +3672,7 @@
<panel name="CallState">
<text name="name" type="Name" />
<singlerow name="container" type="CompositeState" />
- <list name="entry" type="Action" />
+ <singlerow name="entry" type="org.omg.uml.behavioralelements.commonbehavior.CallAction" />
<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" />
<separator />
<list name="outgoing" type="Transition" />
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=18206&r1=18205&r2=18206
==============================================================================
--- 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-03-31 17:17:05-0700
@@ -88,6 +88,7 @@
addGetterSetter("templateParameter", new TemplateParameterGetterSetter());
addGetterSetter("reception", new ReceptionGetterSetter());
addGetterSetter("deferrableEvent", new DeferrableEventGetterSetter());
+ addGetterSetter("entry", new EntryActionGetterSetter());
// UML2 only
addGetterSetter("ownedOperation", new FeatureGetterSetter());
@@ -1033,6 +1034,32 @@
}
}
+ private class EntryActionGetterSetter extends ListGetterSetter {
+
+ public Collection getOptions(Object modelElement, String type) {
+ final ArrayList list = new ArrayList(1);
+ list.add(Model.getFacade().getEntry(modelElement));
+ return list;
+ }
+
+ 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().getAction();
+ }
+ }
+
private class TemplateParameterGetterSetter extends ListGetterSetter {
public Collection getOptions(Object modelElement, String type) {
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=18206&r1=18205&r2=18206
==============================================================================
--- 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-03-31 17:17:05-0700
@@ -101,10 +101,6 @@
model = new UMLStateDoActivityListModel(modelElement);
JList l = new UMLStateDoActivityList((UMLModelElementListModel) model);
list = new OldScrollList(l);
- } else if ("entry".equals(propName)) {
- model = new UMLStateEntryListModel(modelElement);
- JList l = new UMLStateEntryList((UMLModelElementListModel) model);
- list = new OldScrollList(l);
} else if ("exit".equals(propName)) {
model = new UMLStateExitListModel(modelElement);
JList l = new UMLStateExitList((UMLModelElementListModel) model);
Removed: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java?view=markup&pathrev=18205
Removed: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.java?view=markup&pathrev=18205
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2468018
To unsubscribe from this discussion, e-mail: [[email protected]].