svn commit: r18281 - trunk/src/argouml-app/src/org/argouml/ui

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2010-04-17 14:32:02-0700
New Revision: 18281

Modified:
   trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java
   trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java

Log:
STARTED - task 5408: Multiple selection doesn't work in profile selection dialog 
http://argouml.tigris.org/issues/show_bug.cgi?id=5408

Modified: trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java?view=diff&pathrev=18281&r1=18280&r2=18281
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java	2010-04-17 14:32:02-0700
@@ -1,12 +1,13 @@
 /* $Id$
  *****************************************************************************
- * Copyright (c) 2009-2010 Contributors - see below
+ * Copyright (c) 2007-2010 Contributors - see below
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
+ *    Marcos Aurelio - design and initial implementation
  *    thn
  *    euluis
  *****************************************************************************
@@ -48,6 +49,7 @@
 import java.awt.event.ItemListener;
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 import javax.swing.BoxLayout;
@@ -244,6 +246,7 @@
     private JList createProfileList() {
         JList list = new JList();
         list.setMinimumSize(new Dimension(50, 50));
+        // TODO: Add double click listener 
         return list;
     }
     private void refreshLists() {
@@ -282,9 +285,9 @@
             ((MutableComboBoxModel) usedList.getModel());
 
         if (arg0.getSource() == addButton) {
-            if (availableList.getSelectedIndex() != -1) {
-                Profile selected = (Profile) modelAvailable
-                        .getElementAt(availableList.getSelectedIndex());
+            Object[] selections = availableList.getSelectedValues();
+            for (Object s : selections) {
+                Profile selected = (Profile) s;
                 modelUsed.addElement(selected);
                 modelAvailable.removeElement(selected);
 
@@ -294,11 +297,10 @@
                 }
             }
         } else if (arg0.getSource() == removeButton) {
-            if (usedList.getSelectedIndex() != -1) {
-                Profile selected = (Profile) modelUsed.getElementAt(usedList
-                        .getSelectedIndex());
-
-                List<Profile> dependents = getActiveDependents(selected);
+            Object[] selections = usedList.getSelectedValues();
+            for (Object s : selections) {
+                Profile selected = (Profile) s;
+                Collection<Profile> dependents = getActiveDependents(selected);
                 boolean remove = true;
 
                 if (!dependents.isEmpty()) {
@@ -340,9 +342,9 @@
                 }
             }
         } else if (arg0.getSource() == unregisterProfile) {
-            if (availableList.getSelectedIndex() != -1) {
-                Profile selected = (Profile) modelAvailable
-                        .getElementAt(availableList.getSelectedIndex());
+            Object[] selections = availableList.getSelectedValues();
+            for (Object s : selections) {
+                Profile selected = (Profile) s;
                 if (selected instanceof UserDefinedProfile) {
                     ProfileFacade.getManager().removeProfile(selected);
                     modelAvailable.removeElement(selected);

Modified: trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java?view=diff&pathrev=18281&r1=18280&r2=18281
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java	2010-04-17 14:32:02-0700
@@ -1,12 +1,13 @@
 /* $Id$
  *****************************************************************************
- * Copyright (c) 2009-2010 Contributors - see below
+ * Copyright (c) 2007-2010 Contributors - see below
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
+ *    Marcos Aur�lio - Design and initial implementation
  *    thn
  *    euluis
  *****************************************************************************
@@ -344,17 +345,16 @@
                 .getModel());
 
         if (arg0.getSource() == addButton) {
-            if (availableList.getSelectedIndex() != -1) {
-                Profile selected = (Profile) modelAvl
-                        .getElementAt(availableList.getSelectedIndex());
+            Object[] selections = availableList.getSelectedValues();
+            for (Object s : selections) {
+                Profile selected = (Profile) s;
                 modelUsd.addElement(selected);
                 modelAvl.removeElement(selected);
             }
         } else if (arg0.getSource() == removeButton) {
-            if (defaultList.getSelectedIndex() != -1) {
-                Profile selected = (Profile) modelUsd.getElementAt(defaultList
-                        .getSelectedIndex());
-                
+            Object[] selections = defaultList.getSelectedValues();
+            for (Object s : selections) {
+                Profile selected = (Profile) s;
                 if (selected == ProfileFacade.getManager().getUMLProfile()
                         && Model.getFacade().getUmlVersion().charAt(0) != '1') {
                     JOptionPane.showMessageDialog(this, Translator
@@ -392,10 +392,9 @@
         } else if (arg0.getSource() == removeDirectory) {
             MutableComboBoxModel model = 
                 ((MutableComboBoxModel) directoryList.getModel()); 
-            int[] indices = directoryList.getSelectedIndices(); 
-            for (int i = indices.length-1; i >=0; i--) {
-                int idx = indices[i];
-                model.removeElementAt(idx);
+            Object[] selections = directoryList.getSelectedValues();
+            for (Object o : selections) {
+                model.removeElement(o);
             }
         } else if (arg0.getSource() == refreshProfiles) {
             boolean refresh = JOptionPane.showConfirmDialog(this, Translator

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

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.