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