[TMF] Don't enable OK button in delete supp files dialog unless something is selected
authorMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Thu, 24 Oct 2013 20:28:43 +0000 (16:28 -0400)
committerMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Fri, 25 Oct 2013 14:33:05 +0000 (10:33 -0400)
Bug: 420332

Change-Id: I66b4ab6e5b6529251db4657bf8ab21646e59de2d
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/17748
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/SelectSupplementaryResourcesDialog.java

index 793b7b003f62116af5bc672301b2e54683bf1ba3..622d817e6109b878df7489a2bb2069b6cc8cf80d 100644 (file)
@@ -20,8 +20,10 @@ import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -158,6 +160,14 @@ public class SelectSupplementaryResourcesDialog extends Dialog {
       });
         fTreeViewer.setInput(fAvailableResources);
 
+        fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+            @Override
+            public void selectionChanged(SelectionChangedEvent event) {
+                updateOKButtonEnablement();
+            }
+        });
+
         Composite btComp = new Composite(contextGroup, SWT.NONE);
         FillLayout layout = new FillLayout(SWT.VERTICAL);
         layout.spacing = 4;
@@ -176,6 +186,8 @@ public class SelectSupplementaryResourcesDialog extends Dialog {
                 for (Object treeItem : items) {
                     fTreeViewer.setChecked(treeItem, true);
                 }
+
+                updateOKButtonEnablement();
             }
         });
 
@@ -188,6 +200,8 @@ public class SelectSupplementaryResourcesDialog extends Dialog {
                 for (Object treeItem : items) {
                     fTreeViewer.setChecked(treeItem, false);
                 }
+
+                updateOKButtonEnablement();
             }
         });
 
@@ -196,6 +210,18 @@ public class SelectSupplementaryResourcesDialog extends Dialog {
         return composite;
     }
 
+    private void updateOKButtonEnablement() {
+        Object[] checked = fTreeViewer.getCheckedElements();
+        getButton(IDialogConstants.OK_ID).setEnabled(checked.length > 0);
+    }
+
+    @Override
+    protected Control createButtonBar(Composite parent) {
+        Control control = super.createButtonBar(parent);
+        updateOKButtonEnablement();
+        return control;
+    }
+
     @Override
     protected void createButtonsForButtonBar(Composite parent) {
         createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
This page took 0.043505 seconds and 5 git commands to generate.