Author: bobtarling
Date: 2010-04-24 06:23:53-0700
New Revision: 18330

Removed:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java
Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java

Log:
Replace popup with toolbuttons

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=18330&r1=18329&r2=18330
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     2010-04-24 06:23:53-0700
@@ -30,6 +30,7 @@
 import org.argouml.i18n.Translator;
 import org.argouml.kernel.Command;
 import org.argouml.kernel.NonUndoableCommand;
+import org.argouml.kernel.Project;
 import org.argouml.kernel.ProjectManager;
 import org.argouml.model.Model;
 import org.argouml.ui.targetmanager.TargetManager;
@@ -98,6 +99,7 @@
         addGetterSetter("action", new ActionGetterSetter());
         addGetterSetter("subvertex", new SubvertexGetterSetter());
         addGetterSetter("internalTransition", new 
InternalTransitionGetterSetter());
+        addGetterSetter("classifier", new ClassifierGetterSetter());
         
         // UML2 only
         addGetterSetter("ownedOperation", new FeatureGetterSetter());
@@ -1772,4 +1774,101 @@
             return Model.getMetaTypes().getTransition();
         }
     }
+    
+
+    private class ClassifierGetterSetter extends ListGetterSetter implements 
Addable, Removeable {
+        
+        public Collection getOptions(Object modelElement, String type) {
+            return Model.getFacade().getClassifiers(modelElement);
+        }
+      
+        public Object get(Object modelElement, String type) {
+            // not needed
+            return null;
+        }
+      
+        public void set(Object element, Object x) {
+            // not needed
+        }
+
+        public boolean isValidElement(Object element, String type) {
+            return getOptions(element, type).contains(element);
+        }
+        
+        public Object getMetaType() {
+            return Model.getMetaTypes().getClassifier();
+        }
+
+        public Command getAddCommand(Object modelElement) {
+       return new AddCommand(modelElement);
+    }
+    
+    public Command getRemoveCommand(Object modelElement, Object 
objectToRemove) {
+       return new RemoveCommand(modelElement, objectToRemove);
+    }
+    
+    private class AddCommand extends AddModelElementCommand {
+
+        /**
+         * Constructor for ActionAddPackageImport.
+         */
+        public AddCommand(Object target) {
+            super(target);
+        }
+
+
+        protected List getChoices() {
+            List list = new ArrayList();
+            
+            Project p = ProjectManager.getManager().getCurrentProject();
+            Object model = p.getRoot();
+            list.addAll(Model.getModelManagementHelper()
+                    .getAllModelElementsOfKindWithModel(model, 
Model.getMetaTypes().getClassifier()));
+            
+            return list;
+        }
+
+
+        protected List getSelected() {
+            List list = new ArrayList();
+            list.addAll(Model.getFacade().getClassifiers(getTarget()));
+            return list;
+        }
+
+
+        protected String getDialogTitle() {
+            return Translator.localize("dialog.title.add-specifications");
+        }
+
+
+        @Override
+        protected void doIt(Collection selected) {
+                   Model.getCommonBehaviorHelper().setClassifiers(getTarget(), 
selected);
+        }
+    }
+    
+    private class RemoveCommand
+           extends NonUndoableCommand {
+       
+       private final Object target;
+       private final Object objectToRemove;
+       
+           /**
+            * Constructor for ActionRemovePackageImport.
+            */
+           public RemoveCommand(final Object target, final Object 
objectToRemove) {
+               this.target = target;
+               this.objectToRemove = objectToRemove;
+           }
+           
+           /*
+            * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+            */
+           public Object execute() {
+               Model.getCommonBehaviorHelper()
+                   .removeClassifier(target, objectToRemove);
+               return null;
+           }
+       }
+    }
 }

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=18330&r1=18329&r2=18330
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
    (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
    2010-04-24 06:23:53-0700
@@ -73,8 +73,6 @@
             model = new UMLClassifierRoleBaseListModel(modelElement);
         } else if ("baseClass".equals(propName)) {
             model = new UMLStereotypeBaseClassListModel(modelElement);
-        } else if ("classifier".equals(propName)) {
-            model = new UMLInstanceClassifierListModel(modelElement);
         } else if ("classifierInState".equals(propName)) {
             model = new UMLOFSStateListModel(modelElement);
         } else if ("client".equals(propName)) {

Removed: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java?view=markup&pathrev=18329

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

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

Reply via email to