summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-04-21 12:53:52 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-04-21 12:53:52 +0530
commit1bf13c069eff1230f768bb8611a3e643ff4334f5 (patch)
tree4577ce74d7061adffb716da6ef66a4e89299422d /src
parentf73a94f87bab4088d7b95ee54f98f29b2dd72876 (diff)
Bug 2822 - "Add" button gets disabled when search string is entered
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java3
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java24
2 files changed, 24 insertions, 3 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
index 6a22bf5f..eb6ef3a0 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
@@ -41,6 +41,7 @@ public class DiscoveredServersClient extends AbstractClient {
return RESOURCE_NAME;
}
+ @SuppressWarnings("rawtypes")
private Object getDiscoveredServers(Boolean getDetails, Class responseClass) {
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.putSingle("details", getDetails.toString());
@@ -48,10 +49,12 @@ public class DiscoveredServersClient extends AbstractClient {
return ((Response) fetchResource(queryParams, responseClass)).getData();
}
+ @SuppressWarnings("unchecked")
public List<String> getDiscoveredServerNames() {
return (List<String>) getDiscoveredServers(Boolean.FALSE, StringListResponse.class);
}
+ @SuppressWarnings("unchecked")
public List<Server> getDiscoveredServerDetails() {
return (List<Server>) getDiscoveredServers(Boolean.TRUE, ServerListResponse.class);
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
index 543671d6..3dadb947 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
@@ -33,6 +33,8 @@ import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
@@ -65,6 +67,7 @@ public class VolumeOptionsPage extends Composite {
private GUIHelper guiHelper = GUIHelper.getInstance();
private Volume volume;
private DefaultClusterListener clusterListener;
+ private Text filterText;
public enum OPTIONS_TABLE_COLUMN_INDICES {
OPTION_KEY, OPTION_VALUE
@@ -84,7 +87,8 @@ public class VolumeOptionsPage extends Composite {
toolkit.paintBordersFor(this);
setupPageLayout();
- setupOptionsTableViewer(guiHelper.createFilterText(toolkit, this));
+ filterText = guiHelper.createFilterText(toolkit, this);
+ setupOptionsTableViewer(filterText);
createAddButton();
@@ -106,8 +110,9 @@ public class VolumeOptionsPage extends Composite {
tableViewer.setSelection(new StructuredSelection(getEntry("")));
keyColumn.getViewer().editElement(getEntry(""), 0); // edit newly created entry
- // disable the add button till user fills up the new option
+ // disable the add button AND search filter textbox till user fills up the new option
addButton.setEnabled(false);
+ filterText.setEnabled(false);
}
private Entry<String, String> getEntry(String key) {
@@ -119,6 +124,18 @@ public class VolumeOptionsPage extends Composite {
return null;
}
});
+
+ // Make sure that add button is enabled only when search filter textbox is empty
+ filterText.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ if(filterText.getText().length() > 0) {
+ addButton.setEnabled(false);
+ } else {
+ addButton.setEnabled(true);
+ }
+ }
+ });
}
private void registerListeners(final Composite parent) {
@@ -175,8 +192,9 @@ public class VolumeOptionsPage extends Composite {
if(event.getEventType() == EVENT_TYPE.VOLUME_OPTION_SET) {
Entry<String, String> eventEntry = (Entry<String, String>)event.getEventData();
if (eventEntry.getKey().equals(volume.getOptions().keySet().toArray()[volume.getOptions().size()-1])) {
- // option has been set successfully by the user. re-enable the add button
+ // option has been set successfully by the user. re-enable the add button and search filter textbox
addButton.setEnabled(true);
+ filterText.setEnabled(true);
}
if(tableViewer.getTable().getItemCount() < volume.getOptions().size()) {