Index: ResourceWorkingSetPage.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java,v retrieving revision 1.7 diff -u -r1.7 ResourceWorkingSetPage.java --- ResourceWorkingSetPage.java 7 Mar 2005 19:17:39 -0000 1.7 +++ ResourceWorkingSetPage.java 4 May 2005 18:47:06 -0000 @@ -28,6 +28,7 @@ import org.eclipse.jface.viewers.CheckboxTreeViewer; import org.eclipse.jface.viewers.DecoratingLabelProvider; import org.eclipse.jface.viewers.ICheckStateListener; +import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.ITreeViewerListener; import org.eclipse.jface.viewers.TreeExpansionEvent; import org.eclipse.jface.wizard.WizardPage; @@ -35,9 +36,12 @@ import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; @@ -159,7 +163,8 @@ tree = new CheckboxTreeViewer(composite); tree.setUseHashlookup(true); - tree.setContentProvider(new WorkbenchContentProvider()); + final ITreeContentProvider treeContentProvider = new WorkbenchContentProvider(); + tree.setContentProvider(treeContentProvider); tree.setLabelProvider(new DecoratingLabelProvider( new WorkbenchLabelProvider(), IDEWorkbenchPlugin.getDefault() .getWorkbench().getDecoratorManager() @@ -195,7 +200,33 @@ }); } }); - initializeCheckedState(); + + // Add select / deselect all buttons for bug 46669 + Composite buttonComposite = new Composite(composite, SWT.NONE); + buttonComposite.setLayout(new GridLayout(2, false)); + buttonComposite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); + + Button selectAllButton = new Button(buttonComposite, SWT.PUSH); + selectAllButton.setText(IDEWorkbenchMessages.ResourceWorkingSetPage_selectAll_label); + selectAllButton.setToolTipText(IDEWorkbenchMessages.ResourceWorkingSetPage_selectAll_toolTip); + selectAllButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent selectionEvent) { + tree.setCheckedElements(treeContentProvider.getElements(tree.getInput())); + validateInput(); + } + }); + + Button deselectAllButton = new Button(buttonComposite, SWT.PUSH); + deselectAllButton.setText(IDEWorkbenchMessages.ResourceWorkingSetPage_deselectAll_label); + deselectAllButton.setToolTipText(IDEWorkbenchMessages.ResourceWorkingSetPage_deselectAll_toolTip); + deselectAllButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent selectionEvent) { + tree.setCheckedElements(new Object[0]); + validateInput(); + } + }); + + initializeCheckedState(); if (workingSet != null) { text.setText(workingSet.getName()); }