Author: bobtarling
Date: 2009-12-11 09:46:34-0800
New Revision: 17641

Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java

Log:
Fields added to TemplateParameter panel

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml?view=diff&pathrev=17641&r1=17640&r2=17641
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
        (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
        2009-12-11 09:46:34-0800
@@ -1127,9 +1127,9 @@
     <attribute name="container" type="Component" />
   </panel>
   <panel name="TemplateParameter">
-    <attribute name="template" type="ModelElement" />
-    <attribute name="parameter" type="ModelElement" />
-    <attribute name="defaultElement" type="ModelElement" />
+    <singlerow name="template" type="ModelElement" />
+    <combo name="parameter" type="ModelElement" />
+    <combo name="defaultElement" type="ModelElement" />
   </panel>
   <panel name="Primitive">
     <text name="name" type="Name" />

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java?view=diff&pathrev=17641&r1=17640&r2=17641
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
      (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
      2009-12-11 09:46:34-0800
@@ -107,6 +107,8 @@
             model = new UMLStateVertexContainerListModel(modelElement);
         } else if ("activityGraph".equals(propName)) {
             model = new UMLPartitionActivityGraphListModel(modelElement);
+        } else if ("template".equals(propName)) {
+            model = new UMLTemplateParameterTemplateListModel(modelElement);
         }
         
         if (model != null) {

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&pathrev=17641&r1=17640&r2=17641
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
 (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
 2009-12-11 09:46:34-0800
@@ -521,7 +521,18 @@
                    typeComboBox);
             // TODO: Why is this disabled always?
             comp.setEnabled(false);
-       }
+        } else if ("parameter".equals(prop.getName())) {
+            final UMLComboBoxModel model =
+                new UMLTemplateParameterParameterComboBoxModel(target);
+            final JComboBox combo = new UMLComboBox(model, null);
+            comp = combo;
+        } else if ("defaultElement".equals(prop.getName())) {
+            final UMLComboBoxModel model =
+                new UMLTemplateParameterDefaultElementComboBoxModel();
+            model.setTarget(target);           
+            final JComboBox combo = new UMLComboBox(model, null);
+            comp = combo;
+        }
         
         if (comp != null) {
             addControl(panel, prop.getName(), comp);

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java?view=diff&pathrev=17641&r1=17640&r2=17641
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java
       (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java
       2009-12-11 09:46:34-0800
@@ -358,61 +358,37 @@
             return;
         }
         LOG.debug("setTarget target :  " + theNewTarget);
-        if (Model.getFacade().isAModelElement(theNewTarget) 
-                || theNewTarget instanceof ArgoDiagram) {
+        if (Model.getFacade().isAElement(theNewTarget) 
+                || Model.getFacade().isATemplateParameter(theNewTarget)) {
             
-            /* Remove old listeners: */
-            if (Model.getFacade().isAModelElement(comboBoxTarget)) {
-                Model.getPump().removeModelEventListener(this, comboBoxTarget,
-                        propertySetName);
-                // Allow listening to other elements:
-                removeOtherModelEventListeners(comboBoxTarget);
-            } else if (comboBoxTarget instanceof ArgoDiagram) {
-                ((ArgoDiagram) comboBoxTarget).removePropertyChangeListener(
-                        ArgoDiagram.NAMESPACE_KEY, this);
-            }
+            Model.getPump().removeModelEventListener(this, comboBoxTarget,
+                    propertySetName);
+            // Allow listening to other elements:
+            removeOtherModelEventListeners(comboBoxTarget);
 
             /* Add new listeners: */
-            if (Model.getFacade().isAModelElement(theNewTarget)) {
-                comboBoxTarget = theNewTarget;
-                Model.getPump().addModelEventListener(this, comboBoxTarget,
-                        propertySetName);
-                // Allow listening to other elements:
-                addOtherModelEventListeners(comboBoxTarget);
-                
-                buildingModel = true;
-                try {
-                    LOG.info("Building the combo box model for " + this);
-                    buildMinimalModelList();
-                    // Do not set buildingModel = false here, 
-                    // otherwise the action for selection is performed.
-                    setSelectedItem(getSelectedModelElement());
-                } catch (InvalidElementException e) {
-                    LOG.warn("buildModelList attempted to operate on " 
-                            + "deleted element");
-                } finally {
-                    buildingModel = false;
-                }
-                
-                if (getSize() > 0) {
-                    fireIntervalAdded(this, 0, getSize() - 1);
-                }
-            } else if (theNewTarget instanceof ArgoDiagram) {
-                comboBoxTarget = theNewTarget;
-                ArgoDiagram diagram = (ArgoDiagram) theNewTarget;
-                diagram.addPropertyChangeListener(
-                        ArgoDiagram.NAMESPACE_KEY, this);
-                buildingModel = true;
+            comboBoxTarget = theNewTarget;
+            Model.getPump().addModelEventListener(this, comboBoxTarget,
+                    propertySetName);
+            // Allow listening to other elements:
+            addOtherModelEventListeners(comboBoxTarget);
+            
+            buildingModel = true;
+            try {
                 LOG.info("Building the combo box model for " + this);
-                buildModelList();
+                buildMinimalModelList();
+                // Do not set buildingModel = false here, 
+                // otherwise the action for selection is performed.
                 setSelectedItem(getSelectedModelElement());
+            } catch (InvalidElementException e) {
+                LOG.warn("buildModelList attempted to operate on " 
+                        + "deleted element");
+            } finally {
                 buildingModel = false;
-                if (getSize() > 0) {
-                    fireIntervalAdded(this, 0, getSize() - 1);
-                }
-            } else { /*  MVW: This can never happen, isn't it? */
-                comboBoxTarget = null;
-                removeAllElements();
+            }
+            
+            if (getSize() > 0) {
+                fireIntervalAdded(this, 0, getSize() - 1);
             }
             if (getSelectedItem() != null && isClearable) {
                 addElement(""); // makes sure we can select 'none'

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2429826

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to