94353 InstallWizard1 should be a checkbox list, not tree
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
index 2ddbfa9..78e7a65 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
@@ -15,13 +15,14 @@
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
 import org.eclipse.jface.viewers.ICheckStateListener;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
-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.custom.BusyIndicator;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -33,7 +34,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.forms.HyperlinkSettings;
 import org.eclipse.ui.forms.widgets.ScrolledFormText;
@@ -45,7 +46,6 @@
 import org.eclipse.update.internal.ui.model.SiteBookmark;
 import org.eclipse.update.internal.ui.model.SiteCategory;
 import org.eclipse.update.internal.ui.model.UpdateModel;
-import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
 import org.eclipse.update.internal.ui.parts.SWTUtil;
 import org.eclipse.update.operations.IUpdateModelChangedListener;
 import org.eclipse.update.search.EnvironmentFilter;
@@ -54,56 +54,12 @@
 
 public class SitePage extends BannerPage implements ISearchProvider {
 
-	class TreeContentProvider
-		extends DefaultContentProvider
-		implements ITreeContentProvider {
-
-		public Object[] getElements(Object parent) {
-			return getAllSiteBookmarks();
-		}
-
-		public Object[] getChildren(final Object parent) {
-//			if (parent instanceof SiteBookmark) {
-//				final SiteBookmark bookmark = (SiteBookmark) parent;
-//				if (bookmark.isUnavailable())
-//					return new Object[0];
-//				final Object[] children =
-//					getSiteCatalogWithIndicator(
-//						bookmark,
-//						!bookmark.isSiteConnected());
-//				treeViewer.getControl().getDisplay().asyncExec(new Runnable() {
-//					public void run() {
-//						if (children.length > 0)
-//							handleSiteExpanded(bookmark, children);
-//					}
-//				});
-//				return children;
-//			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object element) {
-//			if (element instanceof SiteCategory)
-//				return ((SiteCategory) element).getBookmark();
-			return null;
-		}
-
-		public boolean hasChildren(Object element) {
-            return false;
-//			return (element instanceof SiteBookmark);
-		}
-
-	}
-
-	class TreeLabelProvider extends LabelProvider {
+	class SitesLabelProvider extends LabelProvider {
 
 		public Image getImage(Object obj) {
 			if (obj instanceof SiteBookmark)
 				return UpdateUI.getDefault().getLabelProvider().get(
 					UpdateUIImages.DESC_SITE_OBJ);
-			if (obj instanceof SiteCategory)
-				return UpdateUI.getDefault().getLabelProvider().get(
-					UpdateUIImages.DESC_CATEGORY_OBJ);
 			return super.getImage(obj);
 		}
 
@@ -117,23 +73,23 @@
 
 	class ModelListener implements IUpdateModelChangedListener {
 		public void objectChanged(Object object, String property) {
-			treeViewer.refresh();
+			viewer.refresh();
 			checkItems();
 		}
 
 		public void objectsAdded(Object parent, Object[] children) {
-            treeViewer.refresh();
+            viewer.refresh();
 			checkItems();
 		}
 
 		public void objectsRemoved(Object parent, Object[] children) {
-			treeViewer.refresh();
+			viewer.refresh();
 			checkItems();
 		}
 	}
 
 	private static DiscoveryFolder discoveryFolder = new DiscoveryFolder();
-	private CheckboxTreeViewer treeViewer;
+	private CheckboxTableViewer viewer;
 	private ScrolledFormText descLabel;
 	private Button addSiteButton;
 	private Button addLocalButton;
@@ -193,7 +149,7 @@
 		gd.horizontalSpan = 2;
 		label.setLayoutData(gd);
 
-		createTreeViewer(client);
+		createViewer(client);
 
 		Composite buttonContainer = new Composite(client, SWT.NULL);
 		buttonContainer.setLayoutData(new GridData(GridData.FILL_VERTICAL));
@@ -317,32 +273,38 @@
 		return client;
 	}
 
-	private void createTreeViewer(Composite parent) {
-		treeViewer =
-			new CheckboxTreeViewer(
+	private void createViewer(Composite parent) {
+		viewer =
+			CheckboxTableViewer.newCheckList(
 				parent,
 				SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-		treeViewer.setContentProvider(new TreeContentProvider());
-		treeViewer.setLabelProvider(new TreeLabelProvider());
-		treeViewer.setInput(UpdateUI.getDefault().getUpdateModel());
+		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
+		viewer.setContentProvider(new IStructuredContentProvider() {
+			public Object[] getElements(Object parent) {
+				return getAllSiteBookmarks();
+			}
 
+			public void dispose() {
+			}
+
+			public void inputChanged(Viewer viewer, Object oldInput,
+					Object newInput) {
+			}
+		});
+		viewer.setLabelProvider(new SitesLabelProvider());
+		viewer.setInput(UpdateUI.getDefault().getUpdateModel());
+		
 		initializeItems();
 
-		treeViewer.addCheckStateListener(new ICheckStateListener() {
+		viewer.addCheckStateListener(new ICheckStateListener() {
 			public void checkStateChanged(CheckStateChangedEvent e) {
 				Object element = e.getElement();
 				if (element instanceof SiteBookmark)
 					handleSiteChecked((SiteBookmark) element, e.getChecked());
-//				else if (element instanceof SiteCategory) {
-//					handleCategoryChecked(
-//						(SiteCategory) element,
-//						e.getChecked());
-//				}
 			}
 		});
 
-		treeViewer
+		viewer
 			.addSelectionChangedListener(new ISelectionChangedListener() {
 			public void selectionChanged(SelectionChangedEvent e) {
 				handleSelectionChanged((IStructuredSelection) e.getSelection());
@@ -357,13 +319,10 @@
 	}
 
 	private void checkItems() {
-		TreeItem[] items = treeViewer.getTree().getItems();
+		TableItem[] items = viewer.getTable().getItems();
 		for (int i = 0; i < items.length; i++) {
 			SiteBookmark bookmark = (SiteBookmark) items[i].getData();
-			treeViewer.setChecked(bookmark, bookmark.isSelected());
-//			String[] ignoredCats = bookmark.getIgnoredCategories();
-//			treeViewer.setGrayed(bookmark, ignoredCats.length > 0
-//					&& bookmark.isSelected());
+			viewer.setChecked(bookmark, bookmark.isSelected());
 		}
 	}
 
@@ -406,12 +365,12 @@
 
 	private void handleRemove() {
 		BusyIndicator
-			.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
+			.showWhile(viewer.getControl().getDisplay(), new Runnable() {
 			public void run() {
 				UpdateModel updateModel =
 					UpdateUI.getDefault().getUpdateModel();
 				IStructuredSelection ssel =
-					(IStructuredSelection) treeViewer.getSelection();
+					(IStructuredSelection) viewer.getSelection();
 				SiteBookmark bookmark = (SiteBookmark) ssel.getFirstElement();
 				String selName = bookmark.getLabel();
 				boolean answer = MessageDialog
@@ -431,7 +390,7 @@
 
 	private void handleEdit() {
 		IStructuredSelection ssel =
-			(IStructuredSelection) treeViewer.getSelection();
+			(IStructuredSelection) viewer.getSelection();
 		SiteBookmark bookmark = (SiteBookmark) ssel.getFirstElement();
 		URL oldURL = bookmark.getURL();
 		EditSiteDialog dialog = new EditSiteDialog(getShell(), bookmark, getAllSiteBookmarks());
@@ -485,7 +444,7 @@
 	private void handleSiteChecked(SiteBookmark bookmark, boolean checked) {
 		if (bookmark.isUnavailable()) {
 			bookmark.setSelected(false);
-			treeViewer.setChecked(bookmark, false);
+			viewer.setChecked(bookmark, false);
 			return;
 		}
 		
@@ -515,7 +474,7 @@
 	}
 
 	private void updateSearchRequest() {
-		Object[] checked = treeViewer.getCheckedElements();
+		Object[] checked = viewer.getCheckedElements();
 
 		UpdateSearchScope scope = new UpdateSearchScope();
 		int nsites = 0;
@@ -567,6 +526,6 @@
 	}
 
 	public boolean isPageComplete() {
-		return treeViewer.getCheckedElements().length != 0;
+		return viewer.getCheckedElements().length != 0;
 	}
 }