Author: bobtarling Date: 2010-03-26 12:29:01-0700 New Revision: 18173 Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java
Log: Provide add/remove actions Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java?view=diff&pathrev=18173&r1=18172&r2=18173 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java 2010-03-26 12:29:01-0700 @@ -38,9 +38,16 @@ package org.argouml.core.propertypanels.ui; +import java.awt.event.ActionEvent; import java.beans.PropertyChangeEvent; +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; +import org.argouml.uml.ui.AbstractActionRemoveElement; /** * Shows the ModelElements imported in a Package. @@ -53,7 +60,7 @@ * Constructor for UMLClassifierRoleBaseListModel. */ public UMLClassifierPackageImportsListModel(Object modelElement) { - super("elementImport"); // This is the right event. + super("elementImport", modelElement, new ActionAddPackageImport(), null, new ActionRemovePackageImport()); // This is the right event. setTarget(modelElement); } @@ -89,4 +96,64 @@ } } } + + private static class ActionAddPackageImport extends AbstractActionAddModelElement2 { + + /** + * Constructor for ActionAddPackageImport. + */ + public ActionAddPackageImport() { + super(); + } + + + protected List getChoices() { + List vec = new ArrayList(); + /* TODO: correctly implement next function + * in the model subsystem for + * issue 1942: */ + vec.addAll(Model.getModelManagementHelper() + .getAllPossibleImports(getTarget())); + return vec; + } + + + protected List getSelected() { + List vec = new ArrayList(); + vec.addAll(Model.getFacade().getImportedElements(getTarget())); + return vec; + } + + + protected String getDialogTitle() { + return Translator.localize("dialog.title.add-imported-elements"); + } + + + @Override + protected void doIt(Collection selected) { + Object pack = getTarget(); + Model.getModelManagementHelper().setImportedElements(pack, selected); + } + } + + private static class ActionRemovePackageImport + extends AbstractActionRemoveElement { + + /** + * Constructor for ActionRemovePackageImport. + */ + public ActionRemovePackageImport() { + super(Translator.localize("menu.popup.remove")); + } + + /* + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); + Model.getModelManagementHelper() + .removeImportedElement(getTarget(), getObjectToRemove()); + } + } } ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2465637 To unsubscribe from this discussion, e-mail: [[email protected]].
