Author: bobtarling Date: 2009-12-11 10:55:15-0800 New Revision: 17642 Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterDefaultElementComboBoxModel.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterParameterComboBoxModel.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterTemplateListModel.java
Log: Fields added to TemplateParameter panel Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterDefaultElementComboBoxModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterDefaultElementComboBoxModel.java?view=markup&pathrev=17642 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterDefaultElementComboBoxModel.java 2009-12-11 10:55:15-0800 @@ -0,0 +1,109 @@ +// $Id: UMLStructuralFeatureTypeComboBoxModel.java 16339 2008-12-11 23:31:22Z tfmorris $ +// 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 java.util.ArrayList; +import java.util.Collection; +import java.util.Set; +import java.util.TreeSet; + +import org.argouml.kernel.Project; +import org.argouml.kernel.ProjectManager; +import org.argouml.model.Model; +import org.argouml.model.UmlChangeEvent; +import org.argouml.uml.ui.UMLComboBoxModel2; +import org.argouml.uml.util.PathComparator; + +/** + * The combobox model for the default element belonging to some TemplateParameter. + */ +public class UMLTemplateParameterDefaultElementComboBoxModel extends UMLComboBoxModel { + + + /** + * Constructor for UMLStructuralFeatureTypeComboBoxModel. + */ + public UMLTemplateParameterDefaultElementComboBoxModel() { + super("parameter", true); // Allow null + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#isValidElement(Object) + */ + protected boolean isValidElement(Object element) { + return Model.getFacade().isAModelElement(element); + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#buildModelList() + */ + @SuppressWarnings("unchecked") + protected void buildModelList() { + Set<Object> elements = new TreeSet<Object>(new PathComparator()); + + Project p = ProjectManager.getManager().getCurrentProject(); + if (p == null) { + return; + } + + for (Object model : p.getUserDefinedModelList()) { + elements.addAll(Model.getModelManagementHelper() + .getAllModelElementsOfKind( + model, Model.getMetaTypes().getModelElement())); + } + + elements.addAll(p.getProfileConfiguration().findByMetaType( + Model.getMetaTypes().getClassifier())); + + setElements(elements); + } + + @SuppressWarnings("unchecked") + @Override + protected void buildMinimalModelList() { + Collection list = new ArrayList(1); + Object element = getSelectedModelElement(); + if (element != null) { + list.add(element); + } + setElements(list); + } + + @Override + protected boolean isLazy() { + return true; + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement() + */ + protected Object getSelectedModelElement() { + Object o = null; + if (getTarget() != null) { + o = Model.getFacade().getDefaultElement(getTarget()); + } + return o; + } +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterParameterComboBoxModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterParameterComboBoxModel.java?view=markup&pathrev=17642 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterParameterComboBoxModel.java 2009-12-11 10:55:15-0800 @@ -0,0 +1,117 @@ +// $Id: UMLStructuralFeatureTypeComboBoxModel.java 16339 2008-12-11 23:31:22Z tfmorris $ +// 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 java.util.ArrayList; +import java.util.Collection; +import java.util.Set; +import java.util.TreeSet; + +import org.apache.log4j.Logger; +import org.argouml.kernel.Project; +import org.argouml.kernel.ProjectManager; +import org.argouml.model.Model; +import org.argouml.uml.util.PathComparator; + +/** + * The combobox model for the parameter belonging to some TemplateParameter. + */ +public class UMLTemplateParameterParameterComboBoxModel + extends UMLComboBoxModel { + + private static final Logger LOG = + Logger.getLogger(UMLTemplateParameterParameterComboBoxModel.class); + + /** + * Constructor for UMLStructuralFeatureTypeComboBoxModel. + */ + public UMLTemplateParameterParameterComboBoxModel(Object target) { + super("parameter", true); // Allow null + setTarget(target); + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#isValidElement(Object) + */ + protected boolean isValidElement(Object element) { + return Model.getFacade().isAModelElement(element); + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#buildModelList() + */ + @SuppressWarnings("unchecked") + protected void buildModelList() { + Set<Object> elements = new TreeSet<Object>(new PathComparator()); + + Project p = ProjectManager.getManager().getCurrentProject(); + if (p == null) { + return; + } + + for (Object model : p.getUserDefinedModelList()) { + elements.addAll(Model.getModelManagementHelper() + .getAllModelElementsOfKind( + model, Model.getMetaTypes().getModelElement())); + } + + elements.addAll(p.getProfileConfiguration().findByMetaType( + Model.getMetaTypes().getClassifier())); + + setElements(elements); + } + + @SuppressWarnings("unchecked") + @Override + protected void buildMinimalModelList() { + Collection list = new ArrayList(1); + Object element = getSelectedModelElement(); + LOG.info("The selected element is " + element); + if (element != null) { + LOG.info("The selected element is " + + Model.getFacade().getName(element)); + } + if (element != null) { + list.add(element); + } + setElements(list); + } + + @Override + protected boolean isLazy() { + return true; + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement() + */ + protected Object getSelectedModelElement() { + Object o = null; + if (getTarget() != null) { + o = Model.getFacade().getParameter(getTarget()); + } + return o; + } +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterTemplateListModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterTemplateListModel.java?view=markup&pathrev=17642 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTemplateParameterTemplateListModel.java 2009-12-11 10:55:15-0800 @@ -0,0 +1,57 @@ +// $Id: UMLPartitionActivityGraphListModel.java 17617 2009-12-10 02:17:22Z bobtarling $ +// 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 UMLTemplateParameterTemplateListModel extends UMLModelElementListModel { + + /** + * Constructor for UMLStateVertexIncomingListModel. + */ + public UMLTemplateParameterTemplateListModel(Object target) { + super("template"); + setTarget(target); + } + + /* + * @see org.argouml.uml.ui.UMLModelElementListModel2#buildModelList() + */ + protected void buildModelList() { + removeAllElements(); + addElement(Model.getFacade().getTemplate(getTarget())); + } + + /* + * @see org.argouml.uml.ui.UMLModelElementListModel2#isValidElement(Object) + */ + protected boolean isValidElement(Object element) { + return Model.getFacade().getTemplate(getTarget()) == element; + } +} \ No newline at end of file ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2429844 To unsubscribe from this discussion, e-mail: [[email protected]].
