svn commit: r18173 - trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierPackageImportsListModel.java
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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]].