Java tutorial
// Copyright (c) 2009 by the projectusus.org contributors // This software is released under the terms and conditions // of the Eclipse Public License (EPL) 1.0. // See http://www.eclipse.org/legal/epl-v10.html for details. package org.projectusus.autotestsuite.ui.internal; import java.util.LinkedHashSet; import java.util.Set; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.ui.JavaElementLabelProvider; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.CheckboxTableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Table; import org.projectusus.autotestsuite.core.internal.AllJavaProjectsInWorkspace; import org.projectusus.autotestsuite.core.internal.IAllJavaProjects; import org.projectusus.autotestsuite.core.internal.RequiredJavaProjects; class CheckedProjectsViewer extends CheckboxTableViewer { CheckedProjectsViewer(Composite parent) { super(new Table(parent, SWT.CHECK | SWT.BORDER)); getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); setContentProvider(new ArrayContentProvider()); setLabelProvider(new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT)); setInput(new AllJavaProjectsInWorkspace().find()); } void updateCheckedProjects(IJavaProject root) { Object[] checked = getCheckedElements(); Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>(); if (root != null) { IAllJavaProjects allProjects = new AllJavaProjectsInWorkspace(); projects.addAll(new RequiredJavaProjects(allProjects).findFor(root)); } setInput(projects); setCheckedElements(checked); } }