diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-04-21 12:53:52 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-04-21 12:53:52 +0530 |
| commit | 1bf13c069eff1230f768bb8611a3e643ff4334f5 (patch) | |
| tree | 4577ce74d7061adffb716da6ef66a4e89299422d /src | |
| parent | f73a94f87bab4088d7b95ee54f98f29b2dd72876 (diff) | |
Bug 2822 - "Add" button gets disabled when search string is entered
Diffstat (limited to 'src')
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()) { |
