+++ /dev/null
-package net.sourceforge.phpeclipse.preferences;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import net.sourceforge.phpdt.internal.core.JavaProject;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.ui.WebUI;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.ide.IDE.SharedImages;
-
-public class PHPProjectLibraryPage {
- protected JavaProject workingProject;
-
- protected PHPProjectLibraryPage(JavaProject theWorkingProject) {
- super();
- workingProject = theWorkingProject;
- }
-
- protected Control getControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(new FillLayout());
-
- Table projectsTable = new Table(composite, SWT.CHECK | SWT.BORDER
- | SWT.MULTI | SWT.FULL_SELECTION);
- projectsTable.setHeaderVisible(false);
- projectsTable.setLinesVisible(false);
- projectsTable.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
- TableColumn tableColumn = new TableColumn(projectsTable, SWT.NONE);
- tableColumn.setWidth(200);
- tableColumn.setText(PHPPreferencesMessages
- .getString("PHPEditorPreferencePageLibraryPage.project")); //$NON-NLS-1$
-
- CheckboxTableViewer projectsTableViewer = new CheckboxTableViewer(
- projectsTable);
- projectsTableViewer.addCheckStateListener(new ICheckStateListener() {
- public void checkStateChanged(CheckStateChangedEvent event) {
- projectCheckedUnchecked(event);
- }
- });
-
- projectsTableViewer.setContentProvider(getContentProvider());
- projectsTableViewer.setLabelProvider(getLabelProvider());
-
- projectsTableViewer.setInput(getWorkspaceProjects());
- projectsTableViewer.setCheckedElements(workingProject
- .getReferencedProjects().toArray());
-
- return composite;
- }
-
- protected void projectCheckedUnchecked(CheckStateChangedEvent event) {
- IProject checkEventProject = (IProject) event.getElement();
- if (event.getChecked())
- getWorkingProject().addLoadPathEntry(checkEventProject);
- else
- getWorkingProject().removeLoadPathEntry(checkEventProject);
- }
-
- protected JavaProject getWorkingProject() {
- return workingProject;
- }
-
- protected List getWorkspaceProjects() {
- IWorkspaceRoot root = PHPeclipsePlugin.getWorkspace().getRoot();
- return Arrays.asList(root.getProjects());
- }
-
- protected ITableLabelProvider getLabelProvider() {
- ITableLabelProvider labelProvider = new ITableLabelProvider() {
- public Image getColumnImage(Object element, int columnIndex) {
- IWorkbench workbench = WebUI.getDefault()
- .getWorkbench();
- return workbench.getSharedImages().getImage(
- SharedImages.IMG_OBJ_PROJECT);
- }
-
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof IProject)
- return ((IProject) element).getName();
-
- return PHPPreferencesMessages
- .getString("PHPEditorPreferencePageLibraryPage.elementNotIProject"); //$NON-NLS-1$
- }
-
- public void addListener(ILabelProviderListener listener) {
- }
-
- public void dispose() {
- }
-
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener) {
- }
- };
-
- return labelProvider;
- }
-
- protected IContentProvider getContentProvider() {
- IStructuredContentProvider contentProvider = new IStructuredContentProvider() {
- protected List PHPEditorPreferencePages;
-
- public Object[] getElements(Object inputElement) {
- return PHPEditorPreferencePages.toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput,
- Object newInput) {
- PHPEditorPreferencePages = new ArrayList();
-
- if (!(newInput instanceof List))
- return;
-
- Iterator workspaceProjectsIterator = ((List) newInput)
- .iterator();
- while (workspaceProjectsIterator.hasNext()) {
- Object anObject = workspaceProjectsIterator.next();
- if (anObject instanceof IProject) {
- IProject project = (IProject) anObject;
- if (project.getName() != workingProject.getProject()
- .getName()) {
- try {
- if (project
- .hasNature(PHPeclipsePlugin.PHP_NATURE_ID))
- PHPEditorPreferencePages.add(project);
- } catch (CoreException e) {
- }
- }
- }
- }
- }
- };
-
- return contentProvider;
- }
-}
\ No newline at end of file