summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java77
1 files changed, 21 insertions, 56 deletions
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 cc37270b..1386b037 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
@@ -92,14 +92,14 @@ public class VolumeOptionsPage extends Composite {
setupPageLayout();
filterText = guiHelper.createFilterText(toolkit, this);
-
- createAddButtonOnTop();
+
+ addTopButton = createAddButton();
setupOptionsTableViewer(filterText);
- createAddButtonOnBottom();
+ addBottomButton = createAddButton();
if (defaultVolumeOptions.size() == volume.getOptions().size()) {
- enableOrDisableButtons(false);
+ setAddButtonsEnabled(false);
}
tableViewer.setInput(volume.getOptions().entrySet());
@@ -108,54 +108,14 @@ public class VolumeOptionsPage extends Composite {
registerListeners(parent);
}
- private void createAddButtonOnTop() {
- addTopButton = toolkit.createButton(this, "&Add", SWT.FLAT);
- addTopButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- // add an empty option to be filled up by user
- volume.setOption("", "");
-
- tableViewer.refresh();
- tableViewer.setSelection(new StructuredSelection(getEntry("")));
- keyColumn.getViewer().editElement(getEntry(""), 0); // edit newly created entry
-
- // disable the add button AND search filter textbox till user fills up the new option
- enableOrDisableButtons(false);
- filterText.setEnabled(false);
- }
-
- private Entry<String, String> getEntry(String key) {
- for (Entry<String, String> entry : volume.getOptions().entrySet()) {
- if (entry.getKey().equals(key)) {
- return entry;
- }
- }
- 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) {
- enableOrDisableButtons(false);
- } else {
- enableOrDisableButtons(true);
- }
- }
- });
- }
-
- private void enableOrDisableButtons(boolean flag) {
- addTopButton.setEnabled(flag);
- addBottomButton.setEnabled(flag);
+ private void setAddButtonsEnabled(boolean enable) {
+ addTopButton.setEnabled(enable);
+ addBottomButton.setEnabled(enable);
}
- private void createAddButtonOnBottom() {
- addBottomButton = toolkit.createButton(this, "&Add", SWT.FLAT);
- addBottomButton.addSelectionListener(new SelectionAdapter() {
+ private Button createAddButton() {
+ Button button = toolkit.createButton(this, "&Add", SWT.FLAT);
+ button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
// add an empty option to be filled up by user
@@ -166,7 +126,7 @@ public class VolumeOptionsPage extends Composite {
keyColumn.getViewer().editElement(getEntry(""), 0); // edit newly created entry
// disable the add button AND search filter textbox till user fills up the new option
- enableOrDisableButtons(false);
+ setAddButtonsEnabled(false);
filterText.setEnabled(false);
}
@@ -185,12 +145,17 @@ public class VolumeOptionsPage extends Composite {
@Override
public void modifyText(ModifyEvent e) {
if (filterText.getText().length() > 0) {
- enableOrDisableButtons(false);
+ setAddButtonsEnabled(false);
} else {
- enableOrDisableButtons(true);
+ if (defaultVolumeOptions.size() == volume.getOptions().size()) {
+ setAddButtonsEnabled(false);
+ } else {
+ setAddButtonsEnabled(true);
+ }
}
}
});
+ return button;
}
private void registerListeners(final Composite parent) {
@@ -248,12 +213,12 @@ public class VolumeOptionsPage extends Composite {
if (isNewOption(volume, eventEntry.getKey())) {
// option has been set successfully by the user. re-enable the add button and search filter
// textbox
- enableOrDisableButtons(true);
+ setAddButtonsEnabled(true);
filterText.setEnabled(true);
}
-
+
if (defaultVolumeOptions.size() == volume.getOptions().size()) {
- enableOrDisableButtons(false);
+ setAddButtonsEnabled(false);
}
if (tableViewer.getTable().getItemCount() < volume.getOptions().size()) {