[Yanel-commits] rev 47312 -
public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client
michi at wyona.com
michi at wyona.com
Thu Jan 28 13:34:30 CET 2010
Author: michi
Date: 2010-01-28 13:34:30 +0100 (Thu, 28 Jan 2010)
New Revision: 47312
Modified:
public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AddRemoveIdentitiesWidget.java
Log:
allow moving multiple items
Modified: public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AddRemoveIdentitiesWidget.java
===================================================================
--- public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AddRemoveIdentitiesWidget.java 2010-01-28 10:59:29 UTC (rev 47311)
+++ public/yanel/contributions/ajax-components/src/access-policy-editor/java/org/wyona/security/gwt/accesspolicyeditor/client/AddRemoveIdentitiesWidget.java 2010-01-28 12:34:30 UTC (rev 47312)
@@ -63,27 +63,36 @@
* Move item from one list to the other
*/
public void onClick(Widget sender) {
- // TODO: Allow multiple selection
if (sender == addButton) {
- int i = identitiesLB.getSelectedIndex();
- if (i >= 0) {
- String selectedIdentity = identitiesLB.getValue(i);
- //Window.alert("Add selected identity " + selectedIdentity + " to policy");
- identitiesLB.removeItem(i);
- policyLBW.addItem(selectedIdentity.substring(0, 1), selectedIdentity.substring(2).trim());
- } else {
- Window.alert("No identity selected yet! Please select an identity.");
+ boolean noItemSelected = true;
+ for (int i = identitiesLB.getItemCount() - 1; i >= 0; i--) { // INFO: One needs to step backwards, because the size of the list decreases, because items are being removed if selected
+ if (identitiesLB.isItemSelected(i)) {
+ String selectedIdentity = identitiesLB.getValue(i);
+ //Window.alert("Add selected identity " + selectedIdentity + " to policy");
+ identitiesLB.removeItem(i);
+ policyLBW.addItem(selectedIdentity.substring(0, 1), selectedIdentity.substring(2).trim());
+ noItemSelected = false;
+ }
}
+
+ if (noItemSelected) {
+ Window.alert("No identity selected yet! Please select an identity within 'Identities' list.");
+ }
} else if (sender == removeButton) {
- int i = policyLB.getSelectedIndex();
- if (i >= 0) {
- String selectedIdentity = policyLB.getValue(i);
- //Window.alert("Remove selected identity " + selectedIdentity + " from policy");
- policyLB.removeItem(i);
- identitiesLB.addItem(removeRights(selectedIdentity));
- } else {
- Window.alert("No identity selected yet! Please select an identity.");
+ boolean noItemSelected = true;
+ for (int i = policyLB.getItemCount() - 1; i >= 0; i--) { // INFO: One needs to step backwards, because the size of the list decreases, because items are being removed if selected
+ if (policyLB.isItemSelected(i)) {
+ String selectedIdentity = policyLB.getValue(i);
+ //Window.alert("Remove selected identity " + selectedIdentity + " from policy");
+ policyLB.removeItem(i);
+ identitiesLB.addItem(removeRights(selectedIdentity));
+ noItemSelected = false;
+ }
}
+
+ if (noItemSelected) {
+ Window.alert("No identity selected yet! Please select an identity within 'Policy' list.");
+ }
}
}
More information about the Yanel-commits
mailing list