Author: penyaskito
Date: 2008-08-21 07:21:24-0700
New Revision: 15598
Added:
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSParameter.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSState.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddPartitionContent.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddSignalsToSignalEvent.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionNewOFSParameter.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSParameter.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSState.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionList.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphPartitionListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox2.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLChangeExpressionModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLExpressionExpressionModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLOFSStateListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLObjectFlowStateParameterListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionActivityGraphListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionContentListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalList.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalListModel.java (contents, props changed)
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLTimeExpressionModel.java (contents, props changed)
Modified:
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml
Log:
Complete Activity diagrams panels. Closes Issue 5314.
Modified: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java?view=diff&rev=15598&p1=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java&p2=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java&r1=15597&r2=15598
==============================================================================
--- branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java (original)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/panel/XmlPropertyPanel.java 2008-08-21 07:21:24-0700
@@ -29,6 +29,7 @@
import org.apache.log4j.Logger;
import org.argouml.core.propertypanels.ui.SwingUIFactory;
+import org.argouml.i18n.Translator;
import org.argouml.model.Model;
import org.argouml.ui.TabFigTarget;
import org.argouml.uml.ui.PropPanel;
@@ -105,7 +106,43 @@
* @return the title of the panel, according to the target
*/
private String getPanelTitle(Object target) {
- return Model.getMetaTypes().getName(target);
+ String title = null;
+ // if is a pseudostate, we have to look for the pseudostate kind.
+ if (Model.getFacade().isAPseudostate(target)) {
+ Object kind = Model.getFacade().getKind(target);
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getFork())) {
+ title = Translator.localize("label.pseudostate.fork");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getJoin())) {
+ title = Translator.localize("label.pseudostate.join");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getChoice())) {
+ title = Translator.localize("label.pseudostate.choice");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getDeepHistory())) {
+ title = Translator.localize("label.pseudostate.deephistory");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getShallowHistory())) {
+ title = Translator.localize("label.pseudostate.shallowhistory");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getInitial())) {
+ title = Translator.localize("label.pseudostate.initial");
+ }
+ if (Model.getFacade().equalsPseudostateKind(kind,
+ Model.getPseudostateKind().getJunction())) {
+ title = Translator.localize("label.pseudostate.junction");
+ }
+ }
+ else {
+ title = Model.getMetaTypes().getName(target);
+ }
+ return title;
}
}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSParameter.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSParameter.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSParameter.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,105 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionAddModelElement2;
+
+/**
+ * @author mkl
+ */
+public class ActionAddOFSParameter extends AbstractActionAddModelElement2 {
+ private Object choiceClass = Model.getMetaTypes().getParameter();
+
+ /**
+ * The constructor.
+ */
+ public ActionAddOFSParameter() {
+ super();
+ setMultiSelect(true);
+ }
+
+
+ protected void doIt(Collection selected) {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Model.getActivityGraphsHelper().setParameters(t, selected);
+ }
+ }
+
+
+ protected List getChoices() {
+ List ret = new ArrayList();
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Object classifier = getType(t);
+ if (Model.getFacade().isAClassifier(classifier)) {
+ ret.addAll(Model.getModelManagementHelper()
+ .getAllModelElementsOfKindWithModel(classifier,
+ choiceClass));
+ }
+
+ // TODO: We may want to restrict the list to parameters which
+ // conform to the following WFR:
+// parameter.type = ofstype
+// or (parameter.kind = #in
+// and ofstype.allSupertypes->includes(type))
+// or ((parameter.kind = #out or parameter.kind = #return)
+// and type.allSupertypes->includes(ofstype))
+// or (parameter.kind = #inout
+// and ( ofstype.allSupertypes->includes(type)
+// or type.allSupertypes->includes(ofstype))))
+
+ }
+ return ret;
+ }
+
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-state");
+ }
+
+
+ protected List getSelected() {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ return new ArrayList(Model.getFacade().getParameters(t));
+ }
+ return new ArrayList();
+ }
+
+ private static Object getType(Object target) {
+ Object type = Model.getFacade().getType(target);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ type = Model.getFacade().getType(type);
+ }
+ return type;
+ }
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSState.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSState.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddOFSState.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,129 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionAddModelElement2;
+
+/**
+ * @author mkl
+ */
+public class ActionAddOFSState extends AbstractActionAddModelElement2 {
+ private Object choiceClass = Model.getMetaTypes().getState();
+
+
+ /**
+ * The constructor.
+ */
+ public ActionAddOFSState() {
+ super();
+ setMultiSelect(true);
+ }
+
+
+ protected void doIt(Collection selected) {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Object type = Model.getFacade().getType(t);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ Model.getActivityGraphsHelper().setInStates(type, selected);
+ } else if (Model.getFacade().isAClassifier(type)
+ && (selected != null)
+ && (selected.size() > 0)) {
+ /* So, we found a Classifier
+ * that is not a ClassifierInState.
+ * And at least one state has been selected.
+ * Well, let's correct that:
+ */
+ Object cis =
+ Model.getActivityGraphsFactory()
+ .buildClassifierInState(type, selected);
+ Model.getCoreHelper().setType(t, cis);
+ }
+ }
+ }
+
+
+ protected List getChoices() {
+ List ret = new ArrayList();
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Object classifier = getType(t);
+ if (Model.getFacade().isAClassifier(classifier)) {
+ ret.addAll(Model.getModelManagementHelper()
+ .getAllModelElementsOfKindWithModel(classifier,
+ choiceClass));
+ }
+ removeTopStateFrom(ret);
+ }
+ return ret;
+ }
+
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-state");
+ }
+
+
+ protected List getSelected() {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Object type = Model.getFacade().getType(t);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ return new ArrayList(Model.getFacade().getInStates(type));
+ }
+ }
+ return new ArrayList();
+ }
+
+ private static Object getType(Object target) {
+ Object type = Model.getFacade().getType(target);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ type = Model.getFacade().getType(type);
+ }
+ return type;
+ }
+ /**
+ * Utility function to remove the top states
+ * from a given collection of states.
+ *
+ * @param ret a collection of states
+ */
+ static void removeTopStateFrom(Collection ret) {
+ Collection tops = new ArrayList();
+ for (Object state : ret) {
+ if (Model.getFacade().isACompositeState(state)
+ && Model.getFacade().isTop(state)) {
+ tops.add(state);
+ }
+ }
+ ret.removeAll(tops);
+ }
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddPartitionContent.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddPartitionContent.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddPartitionContent.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,77 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionAddModelElement2;
+
+/**
+ * @author mkl
+ */
+public class ActionAddPartitionContent extends AbstractActionAddModelElement2 {
+
+ public ActionAddPartitionContent() {
+ super();
+ setMultiSelect(true);
+ }
+
+ @Override
+ protected void doIt(Collection selected) {
+ Object partition = getTarget();
+ if (Model.getFacade().isAPartition(partition)) {
+ Model.getActivityGraphsHelper().setContents(
+ partition, selected);
+ }
+ }
+
+ protected List getChoices() {
+ List ret = new ArrayList();
+ if (Model.getFacade().isAPartition(getTarget())) {
+ Object partition = getTarget();
+ Object ag = Model.getFacade().getActivityGraph(partition);
+ if (ag != null) {
+ Object top = Model.getFacade().getTop(ag);
+ /* There are no composite states, so this will work: */
+ ret.addAll(Model.getFacade().getSubvertices(top));
+ }
+ }
+ return ret;
+ }
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-contents");
+ }
+
+ protected List getSelected() {
+ List ret = new ArrayList();
+ ret.addAll(Model.getFacade().getContents(getTarget()));
+ return ret;
+ }
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddSignalsToSignalEvent.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddSignalsToSignalEvent.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionAddSignalsToSignalEvent.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,100 @@
+// $Id$
+// Copyright (c) 1996-2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionAddModelElement2;
+
+/**
+ * Provide a dialog which helps the user to select one event
+ * out of an existing list,
+ * which will be used as the trigger of the transition.
+ *
+ * @author MarkusK
+ *
+ */
+class ActionAddSignalsToSignalEvent extends AbstractActionAddModelElement2 {
+ /**
+ * The one and only instance of this class.
+ */
+ public static final ActionAddSignalsToSignalEvent SINGLETON =
+ new ActionAddSignalsToSignalEvent();
+
+ /**
+ * Constructor for ActionAddClassifierRoleBase.
+ */
+ protected ActionAddSignalsToSignalEvent() {
+ super();
+ setMultiSelect(false);
+ }
+
+
+ protected List getChoices() {
+ List vec = new ArrayList();
+
+ vec.addAll(Model.getModelManagementHelper().getAllModelElementsOfKind(
+ Model.getFacade().getModel(getTarget()),
+ Model.getMetaTypes().getSignal()));
+
+ return vec;
+ }
+
+
+ protected List getSelected() {
+ List vec = new ArrayList();
+ Object signal = Model.getFacade().getSignal(getTarget());
+ if (signal != null) {
+ vec.add(signal);
+ }
+ return vec;
+ }
+
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-signal");
+ }
+
+
+ @Override
+ protected void doIt(Collection selected) {
+ Object event = getTarget();
+ if (selected == null || selected.size() == 0) {
+ Model.getCommonBehaviorHelper().setSignal(event, null);
+ } else {
+ Model.getCommonBehaviorHelper().setSignal(event,
+ selected.iterator().next());
+ }
+ }
+
+ /**
+ * The UID.
+ */
+ private static final long serialVersionUID = 6890869588365483936L;
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionNewOFSParameter.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionNewOFSParameter.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionNewOFSParameter.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,52 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.awt.event.ActionEvent;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionNewModelElement;
+/**
+ * @author mkl
+ */
+public class ActionNewOFSParameter extends AbstractActionNewModelElement {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Object target = getTarget();
+ if (Model.getFacade().isAObjectFlowState(target)) {
+ Object type = getType(target);
+ Object parameter = Model.getCoreFactory().createParameter();
+ Model.getCoreHelper().setType(parameter, type);
+ Model.getActivityGraphsHelper().addParameter(target, parameter);
+ }
+ }
+ private static Object getType(Object target) {
+ Object type = Model.getFacade().getType(target);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ type = Model.getFacade().getType(type);
+ }
+ return type;
+ }
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSParameter.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSParameter.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSParameter.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,58 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.awt.event.ActionEvent;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionRemoveElement;
+
+/**
+ * @author mkl
+ */
+public class ActionRemoveOFSParameter extends AbstractActionRemoveElement {
+ /**
+ * Constructor.
+ */
+ public ActionRemoveOFSParameter() {
+ super(Translator.localize("menu.popup.remove"));
+ }
+
+ /*
+ * @see org.tigris.gef.undo.UndoableAction#actionPerformed(java.awt.event.ActionEvent)
+ */
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ super.actionPerformed(e);
+ Object param = getObjectToRemove();
+ if (param != null) {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Model.getActivityGraphsHelper().removeParameter(t, param);
+ }
+ }
+ }
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSState.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSState.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/ActionRemoveOFSState.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,69 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.awt.event.ActionEvent;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.argouml.i18n.Translator;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.AbstractActionRemoveElement;
+
+/**
+ * @author mkl
+ */
+public class ActionRemoveOFSState extends AbstractActionRemoveElement {
+
+ /**
+ * Constructor.
+ */
+ public ActionRemoveOFSState() {
+ super(Translator.localize("menu.popup.remove"));
+ }
+
+ /*
+ * @see org.tigris.gef.undo.UndoableAction#actionPerformed(java.awt.event.ActionEvent)
+ */
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ super.actionPerformed(e);
+ Object state = getObjectToRemove();
+ if (state != null) {
+ Object t = getTarget();
+ if (Model.getFacade().isAObjectFlowState(t)) {
+ Object type = Model.getFacade().getType(t);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ Collection states =
+ new ArrayList(
+ Model.getFacade().getInStates(type));
+ states.remove(state);
+ Model.getActivityGraphsHelper()
+ .setInStates(type, states);
+ }
+ }
+ }
+ }
+}
Modified: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&rev=15598&p1=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java&p2=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java&r1=15597&r2=15598
==============================================================================
--- branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java (original)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java 2008-08-21 07:21:24-0700
@@ -24,6 +24,8 @@
package org.argouml.core.propertypanels.ui;
+import org.argouml.uml.ui.behavior.state_machines.*;
+
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JComponent;
@@ -51,13 +53,15 @@
import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLModelElementListModel2;
import org.argouml.uml.ui.UMLMutableLinkedList;
-import org.argouml.uml.ui.foundation.core.UMLContainerResidentListModel;
import org.argouml.uml.ui.UMLPlainTextDocument;
import org.argouml.uml.ui.UMLRadioButtonPanel;
import org.argouml.uml.ui.UMLSearchableComboBox;
import org.argouml.uml.ui.UMLSingleRowSelector;
import org.argouml.uml.ui.UMLTextArea2;
import org.argouml.uml.ui.UMLTextField2;
+import org.argouml.uml.ui.behavior.activity_graphs.ActionSetObjectFlowStateClassifier;
+import org.argouml.uml.ui.behavior.activity_graphs.UMLActionSynchCheckBox;
+import org.argouml.uml.ui.behavior.activity_graphs.UMLObjectFlowStateClassifierComboBoxModel;
import org.argouml.uml.ui.behavior.collaborations.ActionAddClassifierRoleBase;
import org.argouml.uml.ui.behavior.collaborations.ActionAddMessagePredecessor;
import org.argouml.uml.ui.behavior.collaborations.ActionRemoveClassifierRoleBase;
@@ -83,11 +87,34 @@
import org.argouml.uml.ui.behavior.common_behavior.UMLInstanceReceiverStimulusListModel;
import org.argouml.uml.ui.behavior.common_behavior.UMLInstanceSenderStimulusListModel;
import org.argouml.uml.ui.behavior.common_behavior.UMLSignalContextListModel;
+import org.argouml.uml.ui.behavior.state_machines.ActionNewTransition;
import org.argouml.uml.ui.behavior.state_machines.ActionSetContextStateMachine;
+import org.argouml.uml.ui.behavior.state_machines.UMLCompositeStateSubvertexList;
+import org.argouml.uml.ui.behavior.state_machines.UMLCompositeStateSubvertexListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLGuardTransitionListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateDeferrableEventList;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateDeferrableEventListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateDoActivityList;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateDoActivityListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateEntryList;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateEntryListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateExitList;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateExitListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateInternalTransition;
import org.argouml.uml.ui.behavior.state_machines.UMLStateMachineContextComboBoxModel;
import org.argouml.uml.ui.behavior.state_machines.UMLStateMachineSubmachineStateListModel;
import org.argouml.uml.ui.behavior.state_machines.UMLStateMachineTopListModel;
import org.argouml.uml.ui.behavior.state_machines.UMLStateMachineTransitionListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateVertexContainerListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateVertexIncomingListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLStateVertexOutgoingListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionEffectListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionGuardListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionSourceListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionStateListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionStatemachineListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionTargetListModel;
+import org.argouml.uml.ui.behavior.state_machines.UMLTransitionTriggerListModel;
import org.argouml.uml.ui.behavior.use_cases.ActionAddExtendExtensionPoint;
import org.argouml.uml.ui.behavior.use_cases.ActionNewExtendExtensionPoint;
import org.argouml.uml.ui.behavior.use_cases.ActionNewUseCaseExtensionPoint;
@@ -127,6 +154,7 @@
import org.argouml.uml.ui.foundation.core.UMLClassifierParameterListModel;
import org.argouml.uml.ui.foundation.core.UMLCommentAnnotatedElementListModel;
import org.argouml.uml.ui.foundation.core.UMLComponentResidentListModel;
+import org.argouml.uml.ui.foundation.core.UMLContainerResidentListModel;
import org.argouml.uml.ui.foundation.core.UMLDependencyClientListModel;
import org.argouml.uml.ui.foundation.core.UMLDependencySupplierListModel;
import org.argouml.uml.ui.foundation.core.UMLDiscriminatorNameDocument;
@@ -283,6 +311,21 @@
p = new UMLExpressionPanel(recurrenceModel, prop.getName());
control = p;
}
+ else if ("expression".equals(prop.getName())) {
+ UMLExpressionModel3 model = new UMLExpressionExpressionModel();
+ p = new UMLExpressionPanel(model, prop.getName());
+ control = p;
+ }
+ else if ("changeExpression".equals(prop.getName())) {
+ UMLExpressionModel3 model = new UMLChangeExpressionModel();
+ p = new UMLExpressionPanel(model, prop.getName());
+ control = p;
+ }
+ else if ("when".equals(prop.getName())) {
+ UMLExpressionModel3 model = new UMLTimeExpressionModel();
+ p = new UMLExpressionPanel(model, prop.getName());
+ control = p;
+ }
if (control != null) {
// if the control is a panel, add it
if (control == p) {
@@ -407,6 +450,56 @@
model.setTarget(target);
pane = new UMLSingleRowSelector(model);
}
+ else if ("stateMachine".equals(prop.getName())) {
+ model = new UMLTransitionStatemachineListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("state".equals(prop.getName())) {
+ model = new UMLTransitionStateListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("source".equals(prop.getName())) {
+ model = new UMLTransitionSourceListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("target".equals(prop.getName())) {
+ model = new UMLTransitionTargetListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("guard".equals(prop.getName())) {
+ model = new UMLTransitionGuardListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("effect".equals(prop.getName())) {
+ model = new UMLTransitionEffectListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("trigger".equals(prop.getName())) {
+ model = new UMLTransitionTriggerListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("transition".equals(prop.getName())) {
+ model = new UMLGuardTransitionListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("container".equals(prop.getName())) {
+ model = new UMLStateVertexContainerListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
+ else if ("activityGraph".equals(prop.getName())) {
+ model = new UMLPartitionActivityGraphListModel();
+ model.setTarget(target);
+ pane = new UMLSingleRowSelector(model);
+ }
if (pane != null) {
JLabel label = new JLabel(prop.getName());
label.setLabelFor(pane);
@@ -486,10 +579,23 @@
true));
}
else if ("parameter".equals(prop.getName())) {
- model = new UMLClassifierParameterListModel();
- model.setTarget(target);
- list = new ScrollList(new UMLLinkedList(model,
- true, false));
+ if (Model.getFacade().isAObjectFlowState(target)) {
+ model = new UMLObjectFlowStateParameterListModel();
+ model.setTarget(target);
+ JList l = new UMLMutableLinkedList(model,
+ new ActionAddOFSParameter(),
+ new ActionNewOFSParameter(),
+ new ActionRemoveOFSParameter(),
+ true);
+ list = new ScrollList(l);
+
+ }
+ else {
+ model = new UMLClassifierParameterListModel();
+ model.setTarget(target);
+ list = new ScrollList(new UMLLinkedList(model,
+ true, false));
+ }
}
else if ("raisedSignal".equals(prop.getName())) {
model = new UMLOperationRaisedSignalsListModel();
@@ -688,6 +794,12 @@
JList l = new UMLLinkedList(model);
list = new ScrollList(l);
}
+ else if ("transition".equals(prop.getName())) {
+ model = new UMLEventTransitionListModel();
+ model.setTarget(target);
+ JList l = new UMLLinkedList(model);
+ list = new ScrollList(l);
+ }
else if ("submachineState".equals(prop.getName())) {
model = new UMLStateMachineSubmachineStateListModel();
model.setTarget(target);
@@ -727,6 +839,88 @@
JList l = new UMLLinkedList(model);
list = new ScrollList(l);
}
+ else if ("entry".equals(prop.getName())) {
+ model = new UMLStateEntryListModel();
+ model.setTarget(target);
+ JList l = new UMLStateEntryList(model);
+ list = new ScrollList(l);
+ }
+ else if ("exit".equals(prop.getName())) {
+ model = new UMLStateExitListModel();
+ model.setTarget(target);
+ JList l = new UMLStateExitList(model);
+ list = new ScrollList(l);
+ }
+ else if ("deferrableEvent".equals(prop.getName())) {
+ model = new UMLStateDeferrableEventListModel();
+ model.setTarget(target);
+ JList l = new UMLStateDeferrableEventList(model);
+ list = new ScrollList(l);
+ }
+ else if ("doActivity".equals(prop.getName())) {
+ model = new UMLStateDoActivityListModel();
+ model.setTarget(target);
+ JList l = new UMLStateDoActivityList(model);
+ list = new ScrollList(l);
+ }
+ else if ("outgoing".equals(prop.getName())) {
+ model = new UMLStateVertexOutgoingListModel();
+ model.setTarget(target);
+ JList l = new UMLLinkedList(model);
+ list = new ScrollList(l);
+ }
+ else if ("incoming".equals(prop.getName())) {
+ model = new UMLStateVertexIncomingListModel();
+ model.setTarget(target);
+ JList l = new UMLLinkedList(model);
+ list = new ScrollList(l);
+ }
+ else if ("classifierInState".equals(prop.getName())) {
+ model = new UMLOFSStateListModel();
+ model.setTarget(target);
+ JList l = new UMLMutableLinkedList(model,
+ new ActionAddOFSState(),
+ null,
+ new ActionRemoveOFSState(),
+ true);
+ list = new ScrollList(l);
+ }
+ else if ("internalTransition".equals(prop.getName())) {
+ model = new UMLStateInternalTransition();
+ model.setTarget(target);
+ JList l = new UMLMutableLinkedList(model, null,
+ new ActionNewTransition());
+ list = new ScrollList(l);
+ }
+ else if ("subvertex".equals(prop.getName())) {
+ model = new UMLCompositeStateSubvertexListModel();
+ model.setTarget(target);
+ JList l = new UMLCompositeStateSubvertexList(model);
+ list = new ScrollList(l);
+ }
+ else if ("contents".equals(prop.getName())) {
+ model = new UMLPartitionContentListModel();
+ model.setTarget(target);
+ JList l = new UMLMutableLinkedList(model,
+ new ActionAddPartitionContent(),
+ null);
+ list = new ScrollList(l);
+ }
+ else if ("partition".equals(prop.getName())) {
+ model = new UMLActivityGraphPartitionListModel();
+ model.setTarget(target);
+ list = new ScrollList(new UMLLinkedList(model));
+ }
+ else if ("signal".equals(prop.getName())) {
+ model = new UMLSignalEventSignalListModel();
+ model.setTarget(target);
+ list = new ScrollList(new UMLSignalEventSignalList(model));
+ }
+ else if ("action".equals(prop.getName())) {
+ // TODO: we need to set up the target.
+ // This creates a model without it.
+ list = new ScrollList(new UMLActionSequenceActionList());
+ }
if (list != null) {
String name = prop.getName();
@@ -857,6 +1051,9 @@
else if ("isAsynchronous".equals(p.getName())) {
checkbox = new UMLActionAsynchronousCheckBox();
}
+ else if ("isSynch".equals(p.getName())) {
+ checkbox = new UMLActionSynchCheckBox();
+ }
if (checkbox != null) {
checkbox.setTarget(target);
panel.add(checkbox);
@@ -886,15 +1083,28 @@
combo);
}
else if ("type".equals(prop.getName())) {
- final UMLComboBoxModel2 model =
- new UMLStructuralFeatureTypeComboBoxModel();
- model.setTarget(target);
- final JComboBox combo = new UMLComboBox2(
- model,
- // TODO: The action is different for
- // attributes and parameters. Issue #5222
- ActionSetStructuralFeatureType.getInstance());
- comp = combo;
+ if (Model.getFacade().isAObjectFlowState(target)) {
+ final UMLComboBoxModel2 model =
+ new UMLObjectFlowStateClassifierComboBoxModel();
+ model.setTarget(target);
+ final JComboBox combo = new UMLSearchableComboBox(
+ model,
+ new ActionSetObjectFlowStateClassifier(), true);
+ comp = new UMLComboBoxNavigator(Translator.localize(
+ "label.classifierinstate.navigate.tooltip"),
+ combo);
+ }
+ else {
+ final UMLComboBoxModel2 model =
+ new UMLStructuralFeatureTypeComboBoxModel();
+ model.setTarget(target);
+ final JComboBox combo = new UMLComboBox2(
+ model,
+ // TODO: The action is different for
+ // attributes and parameters. Issue #5222
+ ActionSetStructuralFeatureType.getInstance());
+ comp = combo;
+ }
}
else if ("powertype".equals(prop.getName())) {
final UMLComboBoxModel2 model =
@@ -918,14 +1128,25 @@
comp = combo;
}
else if ("operation".equals(prop.getName())) {
- final UMLComboBoxModel3 model =
- new UMLCallActionOperationComboBoxModel();
- model.setTarget(target);
- UMLComboBox3 operationComboBox =
- new UMLCallActionOperationComboBox2(model);
- comp = new UMLComboBoxNavigator(
- Translator.localize("label.operation.navigate.tooltip"),
- operationComboBox);
+ if (Model.getFacade().isACallEvent(target)) {
+ UMLComboBoxModel2 model =
+ new UMLCallEventOperationComboBoxModel();
+ model.setTarget(target);
+ JComboBox combo = new UMLCallEventOperationComboBox2(model);
+ comp = new UMLComboBoxNavigator(Translator.localize(
+ "label.operation.navigate.tooltip"),
+ combo);
+ }
+ else {
+ final UMLComboBoxModel3 model =
+ new UMLCallActionOperationComboBoxModel();
+ model.setTarget(target);
+ UMLComboBox3 operationComboBox =
+ new UMLCallActionOperationComboBox2(model);
+ comp = new UMLComboBoxNavigator(
+ Translator.localize("label.operation.navigate.tooltip"),
+ operationComboBox);
+ }
}
else if ("representedClassifier".equals(prop.getName())) {
final UMLComboBoxModel2 model =
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionList.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionList.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionList.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,50 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import javax.swing.JPopupMenu;
+
+import org.argouml.uml.ui.UMLMutableLinkedList;
+import org.argouml.uml.ui.behavior.common_behavior.ActionNewAction;
+import org.argouml.uml.ui.behavior.common_behavior.PopupMenuNewAction;
+
+class UMLActionSequenceActionList extends UMLMutableLinkedList {
+
+ /**
+ * Construct a default object with a new UMLActionSequenceActionListModel.
+ */
+ public UMLActionSequenceActionList() {
+ super(new UMLActionSequenceActionListModel());
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLMutableLinkedList#getPopupMenu()
+ */
+ @Override
+ public JPopupMenu getPopupMenu() {
+ return new PopupMenuNewAction(ActionNewAction.Roles.MEMBER, this);
+ }
+
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActionSequenceActionListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,102 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.List;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementOrderedListModel2;
+
+
+/**
+ * Model for ActionSequence's list of Actions.
+ */
+class UMLActionSequenceActionListModel
+ extends UMLModelElementOrderedListModel2 {
+
+ /**
+ * Constructor.
+ */
+ public UMLActionSequenceActionListModel() {
+ super("action");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ if (getTarget() != null) {
+ setAllElements(Model.getFacade().getActions(getTarget()));
+ }
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(java.lang.Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return Model.getFacade().isAAction(element);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementOrderedListModel2#moveDown(int)
+ */
+ protected void moveDown(int index) {
+ Object target = getTarget();
+ List c = Model.getFacade().getActions(target);
+ if (index < c.size() - 1) {
+ Object item = c.get(index);
+ Model.getCommonBehaviorHelper().removeAction(target, item);
+ Model.getCommonBehaviorHelper().addAction(target, index + 1, item);
+ }
+ }
+
+ /**
+ * @see org.argouml.uml.ui.UMLModelElementOrderedListModel2#moveToBottom(int)
+ */
+ @Override
+ protected void moveToBottom(int index) {
+ Object target = getTarget();
+ List c = Model.getFacade().getActions(target);
+ if (index < c.size() - 1) {
+ Object item = c.get(index);
+ Model.getCommonBehaviorHelper().removeAction(target, item);
+ Model.getCommonBehaviorHelper().addAction(target, c.size(), item);
+ }
+ }
+
+ /**
+ * @see org.argouml.uml.ui.UMLModelElementOrderedListModel2#moveToTop(int)
+ */
+ @Override
+ protected void moveToTop(int index) {
+ Object target = getTarget();
+ List c = Model.getFacade().getActions(target);
+ if (index > 0) {
+ Object item = c.get(index);
+ Model.getCommonBehaviorHelper().removeAction(target, item);
+ Model.getCommonBehaviorHelper().addAction(target, 0, item);
+ }
+ }
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,96 @@
+// $Id$
+// Copyright (c) 2006 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.beans.PropertyChangeEvent;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.argouml.kernel.Project;
+import org.argouml.kernel.ProjectManager;
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLComboBoxModel2;
+
+/**
+ * Listmodel for the Context of an ActivityGraph.
+ *
+ * @author Michiel
+ */
+class UMLActivityGraphContextComboBoxModel
+ extends UMLComboBoxModel2 {
+
+ /**
+ * Constructor for UMLStateMachineContextListModel.
+ */
+ public UMLActivityGraphContextComboBoxModel() {
+ super("context", false);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ Collection elements = new ArrayList();
+ Project p = ProjectManager.getManager().getCurrentProject();
+ for (Object model : p.getUserDefinedModelList()) {
+ elements.addAll(Model
+ .getModelManagementHelper().getAllModelElementsOfKind(
+ model, Model.getMetaTypes().getClassifier()));
+ elements.addAll(Model
+ .getModelManagementHelper().getAllModelElementsOfKind(
+ model,
+ Model.getMetaTypes().getBehavioralFeature()));
+ elements.addAll(Model
+ .getModelManagementHelper().getAllModelElementsOfKind(
+ model, Model.getMetaTypes().getPackage()));
+ }
+
+ setElements(elements);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#isValidElement(Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return Model.getFacade().isAClassifier(element)
+ || Model.getFacade().isABehavioralFeature(element)
+ || Model.getFacade().isAPackage(element);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement()
+ */
+ protected Object getSelectedModelElement() {
+ return Model.getFacade().getContext(getTarget());
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#propertyChange(java.beans.PropertyChangeEvent)
+ */
+ public void propertyChange(PropertyChangeEvent evt) {
+ /* Do nothing by design. */
+ }
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphPartitionListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphPartitionListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLActivityGraphPartitionListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,60 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ * The model for the partitions of a ActivityGraph.
+ *
+ * @author Michiel
+ */
+class UMLActivityGraphPartitionListModel
+ extends UMLModelElementListModel2 {
+
+ /**
+ * Constructor for UMLActivityGraphPartiitionListModel.
+ */
+ public UMLActivityGraphPartitionListModel() {
+ super("partition");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ setAllElements(Model.getFacade().getPartitions(getTarget()));
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return Model.getFacade().getPartitions(getTarget())
+ .contains(element);
+ }
+
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox2.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox2.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox2.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,68 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.awt.event.ActionEvent;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLComboBox2;
+import org.argouml.uml.ui.UMLComboBoxModel2;
+import org.argouml.uml.ui.UMLSearchableComboBox;
+
+
+/**
+ * @author [email protected]
+ */
+class UMLCallEventOperationComboBox2 extends UMLSearchableComboBox {
+ /**
+ * The constructor.
+ *
+ * @param arg0 the model
+ */
+ public UMLCallEventOperationComboBox2(UMLComboBoxModel2 arg0) {
+ super(arg0, null); // no external action; we do it ourselves
+ setEditable(false);
+ }
+
+ /*
+ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+ */
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ super.actionPerformed(e);
+ Object source = e.getSource();
+ if (source instanceof UMLComboBox2) {
+ Object selected = ((UMLComboBox2) source).getSelectedItem();
+ Object target = ((UMLComboBox2) source).getTarget();
+ if (Model.getFacade().isACallEvent(target)
+ && Model.getFacade().isAOperation(selected)) {
+ if (Model.getFacade().getOperation(target) != selected) {
+ Model.getCommonBehaviorHelper()
+ .setOperation(target, selected);
+ }
+ }
+ }
+ }
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,98 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.argouml.model.Model;
+import org.argouml.ui.targetmanager.TargetManager;
+import org.argouml.uml.ui.UMLComboBoxModel2;
+
+/**
+ *
+ * @author [email protected]
+ */
+public class UMLCallEventOperationComboBoxModel extends UMLComboBoxModel2 {
+ /**
+ * The constructor.
+ */
+ public UMLCallEventOperationComboBoxModel() {
+ super("operation", true);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ Object target = TargetManager.getInstance().getModelTarget();
+ Collection ops = new ArrayList();
+ if (Model.getFacade().isACallEvent(target)) {
+ Object ns = Model.getFacade().getNamespace(target);
+ if (Model.getFacade().isANamespace(ns)) {
+ Collection classifiers =
+ Model.getModelManagementHelper().getAllModelElementsOfKind(
+ ns,
+ Model.getMetaTypes().getClassifier());
+ for (Object classifier : classifiers) {
+ ops.addAll(Model.getFacade().getOperations(classifier));
+ }
+
+ // TODO: getAllModelElementsOfKind should probably do this
+ // processing of imported elements automatically
+ for (Object importedElem : Model.getModelManagementHelper()
+ .getAllImportedElements(ns)) {
+ if (Model.getFacade().isAClassifier(importedElem)) {
+ ops.addAll(Model.getFacade()
+ .getOperations(importedElem));
+ }
+ }
+ }
+ }
+ setElements(ops);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement()
+ */
+ protected Object getSelectedModelElement() {
+ Object target = TargetManager.getInstance().getModelTarget();
+ if (Model.getFacade().isACallEvent(target)) {
+ return Model.getFacade().getOperation(target);
+ }
+ return null;
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLComboBoxModel2#isValidElement(java.lang.Object)
+ */
+ protected boolean isValidElement(Object element) {
+ Object target = TargetManager.getInstance().getModelTarget();
+ if (Model.getFacade().isACallEvent(target)) {
+ return element == Model.getFacade().getOperation(target);
+ }
+ return false;
+ }
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLChangeExpressionModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLChangeExpressionModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLChangeExpressionModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,97 @@
+// $Id$
+// Copyright (c) 2006-2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.apache.log4j.Logger;
+import org.argouml.model.Model;
+import org.argouml.ui.targetmanager.TargetEvent;
+import org.argouml.ui.targetmanager.TargetManager;
+import org.argouml.uml.ui.UMLExpressionModel2;
+import org.argouml.uml.ui.UMLUserInterfaceContainer;
+
+/**
+ * The model for the boolean expression of a ChangeEvent.
+ *
+ * @author michiel
+ */
+class UMLChangeExpressionModel extends UMLExpressionModel3 {
+
+ private static final Logger LOG =
+ Logger.getLogger(UMLChangeExpressionModel.class);
+
+ /**
+ * The constructor.
+ *
+ * @param container the container of UML user interface components
+ * @param propertyName the name of the property
+ */
+ public UMLChangeExpressionModel() {
+ super("changeExpression");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#getExpression()
+ */
+ public Object getExpression() {
+ return Model.getFacade().getChangeExpression(
+ TargetManager.getInstance().getTarget());
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#setExpression(java.lang.Object)
+ */
+ public void setExpression(Object expression) {
+ Object target = TargetManager.getInstance().getTarget();
+
+ if (target == null) {
+ throw new IllegalStateException("There is no target");
+ }
+ Model.getStateMachinesHelper().setChangeExpression(target, expression);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#newExpression()
+ */
+ public Object newExpression() {
+ LOG.debug("new boolean expression");
+ return Model.getDataTypesFactory().createBooleanExpression("", "");
+ }
+
+ public void targetAdded(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetRemoved(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetSet(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLExpressionExpressionModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLExpressionExpressionModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLExpressionExpressionModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,85 @@
+// $Id$
+// Copyright (c) 2004-2006 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.ui.targetmanager.TargetEvent;
+import org.argouml.ui.targetmanager.TargetManager;
+
+/**
+ * The model for a UML Expression that is obtained from its "parent"
+ * by getExpression - hence: Guard, ChangeEvent, TimeEvent.
+ *
+ * @author Michiel
+ */
+public class UMLExpressionExpressionModel extends UMLExpressionModel3 {
+
+ /**
+ * The constructor.
+ *
+ */
+ public UMLExpressionExpressionModel() {
+ super("expression");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#getExpression()
+ */
+ public Object getExpression() {
+ return Model.getFacade().getExpression(
+ TargetManager.getInstance().getTarget());
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#setExpression(java.lang.Object)
+ */
+ public void setExpression(Object expr) {
+ Model.getStateMachinesHelper()
+ .setExpression(TargetManager.getInstance().getTarget(), expr);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#newExpression()
+ */
+ public Object newExpression() {
+ return Model.getDataTypesFactory().createBooleanExpression("", "");
+ }
+
+ public void targetAdded(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetRemoved(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetSet(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLOFSStateListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLOFSStateListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLOFSStateListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,78 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import java.util.Collection;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ * @author mkl
+ */
+class UMLOFSStateListModel extends UMLModelElementListModel2 {
+
+ /**
+ * Constructor for UMLOFSStateListModel.
+ */
+ public UMLOFSStateListModel() {
+ /* TODO: This needs work...
+ * We also need to listen to addition/removal
+ * of states to/from a ClassifierInState.
+ */
+ super("type");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ if (getTarget() != null) {
+ Object classifier = Model.getFacade().getType(getTarget());
+ if (Model.getFacade().isAClassifierInState(classifier)) {
+ Collection c = Model.getFacade().getInStates(classifier);
+ setAllElements(c);
+ }
+ }
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(java.lang.Object)
+ */
+ protected boolean isValidElement(Object elem) {
+ Object t = getTarget();
+ if (Model.getFacade().isAState(elem)
+ && Model.getFacade().isAObjectFlowState(t)) {
+ Object type = Model.getFacade().getType(t);
+ if (Model.getFacade().isAClassifierInState(type)) {
+ Collection c = Model.getFacade().getInStates(type);
+ if (c.contains(elem)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLObjectFlowStateParameterListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLObjectFlowStateParameterListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLObjectFlowStateParameterListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,59 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ * @author mkl
+ */
+public class UMLObjectFlowStateParameterListModel extends UMLModelElementListModel2 {
+
+ /**
+ * Constructor for UMLObjectFlowStateParameterListModel.
+ */
+ public UMLObjectFlowStateParameterListModel() {
+ super("parameter");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ if (getTarget() != null) {
+ setAllElements(Model.getFacade().getParameters(getTarget()));
+ }
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return Model.getFacade().getParameters(getTarget()).contains(
+ element);
+ }
+
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionActivityGraphListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionActivityGraphListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionActivityGraphListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,57 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ * @author mkl
+ */
+class UMLPartitionActivityGraphListModel extends UMLModelElementListModel2
+{
+
+ /**
+ * Constructor for UMLStateVertexIncomingListModel.
+ */
+ public UMLPartitionActivityGraphListModel() {
+ super("activityGraph");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ removeAllElements();
+ addElement(Model.getFacade().getActivityGraph(getTarget()));
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return Model.getFacade().getActivityGraph(getTarget()) == element;
+ }
+}
\ No newline at end of file
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionContentListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionContentListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLPartitionContentListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,52 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ * @author mkl
+ */
+class UMLPartitionContentListModel extends UMLModelElementListModel2 {
+
+ public UMLPartitionContentListModel() {
+ super("contents");
+ }
+
+ protected void buildModelList() {
+ Object partition = getTarget();
+ setAllElements(Model.getFacade().getContents(partition));
+ }
+
+ protected boolean isValidElement(Object element) {
+ if (!Model.getFacade().isAModelElement(element)) {
+ return false;
+ }
+ Object partition = getTarget();
+ return Model.getFacade().getContents(partition).contains(element);
+ }
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalList.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalList.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalList.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,64 @@
+// $Id$
+// Copyright (c) 1996-2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import javax.swing.JPopupMenu;
+
+import org.argouml.uml.ui.AbstractActionAddModelElement2;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+import org.argouml.uml.ui.UMLMutableLinkedList;
+import org.argouml.uml.ui.behavior.common_behavior.ActionNewSignal;
+
+/**
+ *
+ * @author MarkusK
+ *
+ */
+class UMLSignalEventSignalList extends UMLMutableLinkedList {
+
+ /**
+ * Constructor for UMLTransitionTriggerList.
+ * @param dataModel the model
+ */
+ public UMLSignalEventSignalList(UMLModelElementListModel2 dataModel) {
+ super(dataModel, (AbstractActionAddModelElement2) null, null, null,
+ true);
+ setDelete(false);
+ setDeleteAction(null);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLMutableLinkedList#getPopupMenu()
+ */
+ public JPopupMenu getPopupMenu() {
+ JPopupMenu menu = new JPopupMenu();
+ ActionAddSignalsToSignalEvent.SINGLETON.setTarget(getTarget());
+ menu.add(ActionAddSignalsToSignalEvent.SINGLETON);
+ menu.add(new ActionNewSignal());
+ return menu;
+ }
+
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalListModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLSignalEventSignalListModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,60 @@
+// $Id$
+// Copyright (c) 1996-2006 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+// $header$
+package org.argouml.core.propertypanels.ui;
+
+import org.argouml.model.Model;
+import org.argouml.uml.ui.UMLModelElementListModel2;
+
+/**
+ *
+ * @author MarkusK
+ *
+ */
+class UMLSignalEventSignalListModel extends UMLModelElementListModel2 {
+
+ /**
+ * Constructor for UMLTransitionTriggerListModel.
+ */
+ public UMLSignalEventSignalListModel() {
+ super("signal");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList()
+ */
+ protected void buildModelList() {
+ removeAllElements();
+ addElement(Model.getFacade().getSignal(getTarget()));
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(Object)
+ */
+ protected boolean isValidElement(Object element) {
+ return element == Model.getFacade().getSignal(getTarget());
+ }
+
+}
Added: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLTimeExpressionModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLTimeExpressionModel.java?view=auto&rev=15598
==============================================================================
--- (empty file)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/ui/UMLTimeExpressionModel.java 2008-08-21 07:21:24-0700
@@ -0,0 +1,93 @@
+// $Id$
+// Copyright (c) 2003-2006 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.core.propertypanels.ui;
+
+import org.apache.log4j.Logger;
+import org.argouml.model.Model;
+import org.argouml.ui.targetmanager.TargetEvent;
+import org.argouml.ui.targetmanager.TargetManager;
+
+/**
+ *
+ * @author mkl
+ *
+ */
+public class UMLTimeExpressionModel extends UMLExpressionModel3 {
+
+ private static final Logger LOG =
+ Logger.getLogger(UMLTimeExpressionModel.class);
+
+ /**
+ * The constructor.
+ *
+ */
+ public UMLTimeExpressionModel() {
+ super("when");
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#getExpression()
+ */
+ public Object getExpression() {
+ return Model.getFacade().getWhen(
+ TargetManager.getInstance().getTarget());
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#setExpression(java.lang.Object)
+ */
+ public void setExpression(Object expression) {
+ Object target = TargetManager.getInstance().getTarget();
+
+ if (target == null) {
+ throw new IllegalStateException("There is no target");
+ }
+ Model.getStateMachinesHelper().setWhen(target, expression);
+ }
+
+ /*
+ * @see org.argouml.uml.ui.UMLExpressionModel2#newExpression()
+ */
+ public Object newExpression() {
+ LOG.debug("new time expression");
+ return Model.getDataTypesFactory().createTimeExpression("", "");
+ }
+
+ public void targetAdded(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetRemoved(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+ public void targetSet(TargetEvent e) {
+ // TODO: Auto-generated method stub
+
+ }
+
+}
Modified: branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml
Url: http://argouml.tigris.org/source/browse/argouml/branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml?view=diff&rev=15598&p1=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml&p2=branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml&r1=15597&r2=15598
==============================================================================
--- branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml (original)
+++ branches/xmlpropertypanels-penyaskito-soc08/argouml-core-propertypanels-scratch/src/org/argouml/core/propertypanels/xml/panels.xml 2008-08-21 07:21:24-0700
@@ -1649,39 +1649,38 @@
</panel>
<panel name="UninterpretedAction">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
<checkgroup name="modifiers">
<checkbox name="isSpecification" type="Boolean" />
<checkbox name="isAsynchronous" type="Boolean" />
</checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="recurrence" type="IterationExpression" />
- <attribute name="target" type="ObjectSetExpression" />
- <attribute name="script" type="ActionExpression" />
+ <textarea name="script" type="ActionExpression" />
+ <textarea name="recurrence" type="IterationExpression" />
<separator />
<list name="actualArgument" type="Argument" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="target" type="ObjectSetExpression" />
<attribute name="actionSequence" type="ActionSequence" />
- <list name="stimulus" type="Action" />
+ <attribute name="stimulus" type="Action" />
<attribute name="state" type="Action" />
<attribute name="transition" type="Action" />
<attribute name="message" type="Action" />
@@ -1912,83 +1911,80 @@
</panel>
<panel name="SendAction">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
<checkgroup name="modifiers">
<checkbox name="isSpecification" type="Boolean" />
<checkbox name="isAsynchronous" type="Boolean" />
</checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="recurrence" type="IterationExpression" />
- <attribute name="target" type="ObjectSetExpression" />
- <attribute name="script" type="ActionExpression" />
+ <textarea name="script" type="ActionExpression" />
+ <textarea name="recurrence" type="IterationExpression" />
<separator />
+ <list name="signal" type="Signal" />
<list name="actualArgument" type="Argument" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="target" type="ObjectSetExpression" />
<attribute name="actionSequence" type="ActionSequence" />
- <list name="stimulus" type="Action" />
+ <attribute name="stimulus" type="Action" />
<attribute name="state" type="Action" />
<attribute name="transition" type="Action" />
- <attribute name="message" type="Action" />
- <attribute name="signal" type="Signal" />
+ <attribute name="message" type="Action" />
</panel>
<panel name="ActionSequence">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- <checkbox name="isAsynchronous" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
+ <list name="action" type="Action" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ <attribute name="isAsynchronous" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
<attribute name="recurrence" type="IterationExpression" />
<attribute name="target" type="ObjectSetExpression" />
<attribute name="script" type="ActionExpression" />
- <separator />
- <list name="actualArgument" type="Argument" />
+ <attribute name="actualArgument" type="Argument" />
<attribute name="actionSequence" type="ActionSequence" />
- <list name="stimulus" type="Action" />
+ <attribute name="stimulus" type="Action" />
<attribute name="state" type="Action" />
<attribute name="transition" type="Action" />
- <attribute name="message" type="Action" />
- <list name="action" type="Action" />
+ <attribute name="message" type="Action" />
</panel>
<panel name="Argument">
<text name="name" type="Name" />
@@ -2129,39 +2125,38 @@
</panel>
<panel name="TerminateAction">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
<checkgroup name="modifiers">
<checkbox name="isSpecification" type="Boolean" />
<checkbox name="isAsynchronous" type="Boolean" />
</checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="recurrence" type="IterationExpression" />
- <attribute name="target" type="ObjectSetExpression" />
- <attribute name="script" type="ActionExpression" />
+ <textarea name="script" type="ActionExpression" />
+ <textarea name="recurrence" type="IterationExpression" />
<separator />
<list name="actualArgument" type="Argument" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="target" type="ObjectSetExpression" />
<attribute name="actionSequence" type="ActionSequence" />
- <list name="stimulus" type="Action" />
+ <attribute name="stimulus" type="Action" />
<attribute name="state" type="Action" />
<attribute name="transition" type="Action" />
<attribute name="message" type="Action" />
@@ -2741,270 +2736,273 @@
</panel>
<panel name="TimeEvent">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
<combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
<list name="parameter" type="Parameter" />
- <list name="state" type="Event" />
- <list name="transition" type="Event" />
- <attribute name="when" type="TimeExpression" />
+ <list name="transition" type="Event" />
+ <separator />
+ <textarea name="when" type="TimeExpression" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="state" type="Event" />
</panel>
<panel name="CallEvent">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
<combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
<list name="parameter" type="Parameter" />
- <list name="state" type="Event" />
<list name="transition" type="Event" />
- <attribute name="operation" type="Operation" />
+ <separator />
+ <combo name="operation" type="Operation" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="state" type="Event" />
</panel>
<panel name="SignalEvent">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
<combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
<list name="parameter" type="Parameter" />
- <list name="state" type="Event" />
- <list name="transition" type="Event" />
- <attribute name="signal" type="Signal" />
+ <list name="transition" type="Event" />
+ <separator />
+ <list name="signal" type="Signal" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="state" type="Event" />
</panel>
<panel name="Transition">
- <text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="guard" type="Guard" />
- <attribute name="effect" type="Action" />
- <attribute name="trigger" type="Event" />
- <attribute name="source" type="StateVertex" />
+ <text name="name" type="Name" />
+ <singlerow name="stateMachine" type="StateMachine" />
+ <singlerow name="state" type="Transition" />
<separator />
- <attribute name="target" type="StateVertex" />
- <attribute name="stateMachine" type="StateMachine" />
- <attribute name="state" type="Transition" />
+ <singlerow name="source" type="StateVertex" />
+ <singlerow name="target" type="StateVertex" />
+ <singlerow name="guard" type="Guard" />
+ <singlerow name="effect" type="Action" />
+ <singlerow name="trigger" type="Event" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
</panel>
<panel name="CompositeState">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- <checkbox name="isConcurrent" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
+ <singlerow name="container" type="CompositeState" />
+ <list name="entry" type="Action" />
+ <list name="exit" type="Action" />
+ <list name="doActivity" type="Action" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <attribute name="entry" type="Action" />
- <separator />
- <attribute name="exit" type="Action" />
- <list name="deferrableEvent" type="Event" />
<list name="internalTransition" type="Transition" />
- <attribute name="doActivity" type="Action" />
- <attribute name="stateMachine" type="StateMachine" />
- <list name="classifierInState" type="State" />
+ <separator />
<list name="subvertex" type="StateVertex" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ <attribute name="isConcurrent" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="deferrableEvent" type="Event" />
+ <attribute name="stateMachine" type="StateMachine" />
+ <attribute name="classifierInState" type="State" />
</panel>
<panel name="ChangeEvent">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
<combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
<list name="parameter" type="Parameter" />
- <list name="state" type="Event" />
<list name="transition" type="Event" />
- <attribute name="changeExpression" type="BooleanExpression" />
+ <separator />
+ <textarea name="changeExpression" type="BooleanExpression" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="state" type="Event" />
</panel>
<panel name="Guard">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
+ <singlerow name="transition" type="Transition" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="expression" type="BooleanExpression" />
- <attribute name="transition" type="Transition" />
+ <textarea name="expression" type="BooleanExpression" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
</panel>
<panel name="Pseudostate">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
+ <singlerow name="container" type="CompositeState" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
<attribute name="kind" type="PseudostateKind" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
</panel>
<panel name="SimpleState">
<text name="name" type="Name" />
@@ -3153,42 +3151,41 @@
</panel>
<panel name="FinalState">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
+ <singlerow name="container" type="CompositeState" />
+ <list name="entry" type="Action" />
+ <list name="doActivity" type="Action" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
- <list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <attribute name="entry" type="Action" />
- <separator />
- <attribute name="exit" type="Action" />
- <list name="deferrableEvent" type="Event" />
<list name="internalTransition" type="Transition" />
- <attribute name="doActivity" type="Action" />
+
+ <attribute name="outgoing" type="Transition" />
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
+ <attribute name="exit" type="Action" />
+ <attribute name="deferrableEvent" type="Event" />
<attribute name="stateMachine" type="StateMachine" />
- <list name="classifierInState" type="State" />
+ <attribute name="classifierInState" type="State" />
</panel>
<panel name="Collaboration">
<text name="name" type="Name" />
@@ -3501,65 +3498,66 @@
</panel>
<panel name="ActivityGraph">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
<combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
+ <combo name="context" type="ModelElement" />
+ <list name="top" type="State" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="context" type="ModelElement" />
- <attribute name="top" type="State" />
<list name="transitions" type="Transition" />
<list name="submachineState" type="SubmachineState" />
+ <separator />
+ <list name="partition" type="ModelElement" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
</panel>
<panel name="Partition">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
+ <singlerow name="activityGraph" type="ActivityGraph" />
<separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
- <separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
<list name="contents" type="ModelElement" />
- <attribute name="activityGraph" type="ActivityGraph" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
</panel>
<panel name="SubactivityState">
<text name="name" type="Name" />
@@ -3609,129 +3607,126 @@
</panel>
<panel name="ActionState">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- <checkbox name="isDynamic" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
+ <singlerow name="container" type="CompositeState" />
+ <list name="entry" type="Action" />
+ <list name="deferrableEvent" type="Event" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <attribute name="entry" type="Action" />
- <separator />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ <attribute name="isDynamic" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
<attribute name="exit" type="Action" />
- <list name="deferrableEvent" type="Event" />
- <list name="internalTransition" type="Transition" />
+ <attribute name="internalTransition" type="Transition" />
<attribute name="doActivity" type="Action" />
<attribute name="stateMachine" type="StateMachine" />
- <list name="classifierInState" type="State" />
+ <attribute name="classifierInState" type="State" />
<attribute name="dynamicArguments" type="ArgListsExpression" />
<attribute name="dynamicMultiplicity" type="Multiplicity" />
</panel>
<panel name="CallState">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
- <checkgroup name="modifiers">
- <checkbox name="isSpecification" type="Boolean" />
- <checkbox name="isDynamic" type="Boolean" />
- </checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
+ <singlerow name="container" type="CompositeState" />
+ <list name="entry" type="Action" />
+ <list name="deferrableEvent" type="Event" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <attribute name="entry" type="Action" />
- <separator />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="modifiers">
+ <attribute name="isSpecification" type="Boolean" />
+ <attribute name="isDynamic" type="Boolean" />
+ </attribute>
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
<attribute name="exit" type="Action" />
- <list name="deferrableEvent" type="Event" />
- <list name="internalTransition" type="Transition" />
+ <attribute name="internalTransition" type="Transition" />
<attribute name="doActivity" type="Action" />
<attribute name="stateMachine" type="StateMachine" />
- <list name="classifierInState" type="State" />
+ <attribute name="classifierInState" type="State" />
<attribute name="dynamicArguments" type="ArgListsExpression" />
<attribute name="dynamicMultiplicity" type="Multiplicity" />
</panel>
<panel name="ObjectFlowState">
<text name="name" type="Name" />
- <optionbox name="visibility" type="VisibilityKind" />
+ <singlerow name="container" type="CompositeState" />
<checkgroup name="modifiers">
<checkbox name="isSpecification" type="Boolean" />
<checkbox name="isSynch" type="Boolean" />
</checkgroup>
- <combo name="namespace" type="Namespace" />
- <list name="clientDependency" type="Dependency" />
- <list name="targetFlow" type="Flow" />
- <list name="sourceFlow" type="Flow" />
- <list name="comment" type="Comment" />
- <separator />
- <list name="templateParameter" type="TemplateParameter" />
- <list name="supplierDependency" type="ModelElement" />
- <list name="presentation" type="ModelElement" />
- <list name="defaultedParameter" type="ModelElement" />
- <list name="elementResidence" type="ModelElement" />
- <attribute name="parameterTemplate" type="ModelElement" />
- <list name="referenceTag" type="ModelElement" />
- <list name="templateArgument" type="ModelElement" />
+ <combo name="type" type="Classifier" />
+ <list name="classifierInState" type="State" />
<separator />
- <list name="behavior" type="ModelElement" />
- <list name="classifierRole" type="ModelElement" />
- <list name="collaboration" type="ModelElement" />
- <list name="collaborationInstanceSet" type="ModelElement" />
- <list name="partition" type="ModelElement" />
- <list name="elementImport" type="ModelElement" />
- <attribute name="container" type="CompositeState" />
<list name="outgoing" type="Transition" />
<list name="incoming" type="Transition" />
- <attribute name="entry" type="Action" />
- <separator />
+ <list name="parameter" type="Parameter" />
+
+ <attribute name="visibility" type="VisibilityKind" />
+ <attribute name="namespace" type="Namespace" />
+ <attribute name="clientDependency" type="Dependency" />
+ <attribute name="targetFlow" type="Flow" />
+ <attribute name="sourceFlow" type="Flow" />
+ <attribute name="comment" type="Comment" />
+ <attribute name="templateParameter" type="TemplateParameter" />
+ <attribute name="supplierDependency" type="ModelElement" />
+ <attribute name="presentation" type="ModelElement" />
+ <attribute name="defaultedParameter" type="ModelElement" />
+ <attribute name="elementResidence" type="ModelElement" />
+ <attribute name="parameterTemplate" type="ModelElement" />
+ <attribute name="referenceTag" type="ModelElement" />
+ <attribute name="templateArgument" type="ModelElement" />
+ <attribute name="behavior" type="ModelElement" />
+ <attribute name="classifierRole" type="ModelElement" />
+ <attribute name="collaboration" type="ModelElement" />
+ <attribute name="collaborationInstanceSet" type="ModelElement" />
+ <attribute name="partition" type="ModelElement" />
+ <attribute name="elementImport" type="ModelElement" />
<attribute name="exit" type="Action" />
- <list name="deferrableEvent" type="Event" />
- <list name="internalTransition" type="Transition" />
+ <attribute name="deferrableEvent" type="Event" />
+ <attribute name="internalTransition" type="Transition" />
<attribute name="doActivity" type="Action" />
<attribute name="stateMachine" type="StateMachine" />
- <list name="classifierInState" type="State" />
- <list name="parameter" type="Parameter" />
- <attribute name="type" type="Classifier" />
+ <attribute name="entry" type="Action" />
</panel>
<panel name="ClassifierInState">
<text name="name" type="Name" />
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.