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;
});
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;
for (Object treeItem : items) {
fTreeViewer.setChecked(treeItem, true);
}
+
+ updateOKButtonEnablement();
}
});
for (Object treeItem : items) {
fTreeViewer.setChecked(treeItem, false);
}
+
+ updateOKButtonEnablement();
}
});
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);