+++ /dev/null
-package net.sourceforge.phpdt.externaltools.variable;
-
-/**********************************************************************
-Copyright (c) 2002 IBM Corp. and others. All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-**********************************************************************/
-
-import net.sourceforge.phpdt.externaltools.internal.model.ExternalToolsModelMessages;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Visual component to edit the resource type variable
- * value for the working directory. Variable is limited to a specific
- * <code>IContainer</code> resource.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- */
-public class SpecificFolderResourceComponent extends ResourceComponent {
-
- /**
- * Creates an instance
- */
- public SpecificFolderResourceComponent() {
- super();
- }
-
- /* (non-Javadoc)
- * Method declared on ResourceComponent.
- */
- protected void createSelectedResourceOption() {
- // Do not present this option...
- }
-
- /* (non-Javadoc)
- * Method declared on ResourceComponent.
- */
- protected void createResourceList() {
- super.createResourceList();
- if (resourceList != null)
- resourceList.addFilter(new FileFilter());
- }
-
- /* (non-Javadoc)
- * Method declared on ResourceComponent.
- */
- protected void createSpecificResourceOption() {
- Label label = new Label(mainGroup, SWT.NONE);
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- label.setLayoutData(data);
- label.setFont(mainGroup.getFont());
- label.setText(ExternalToolsModelMessages.getString("ResourceComponent.specificResLabel")); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * Method declared on ResourceComponent.
- */
- protected boolean validateResourceListSelection() {
- if (resourceList == null)
- return true;
-
- IStructuredSelection sel = (IStructuredSelection) resourceList.getSelection();
- IResource resource = (IResource) sel.getFirstElement();
- if (resource == null || resource.getType() == IResource.FILE) {
- getPage().setMessage(ExternalToolsModelMessages.getString("ResourceComponent.selectionRequired"), IMessageProvider.WARNING); //$NON-NLS-1$
- setIsValid(false);
- return false;
- }
-
- return true;
- }
-
-
- /**
- * Filter to remove any IFile resources.
- */
- private static final class FileFilter extends ViewerFilter {
- /* (non-Javadoc)
- * Method declared on ViewerFilter.
- */
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- IResource resource = null;
- if (element instanceof IResource) {
- resource = (IResource) element;
- } else {
- if (element instanceof IAdaptable) {
- IAdaptable adaptable = (IAdaptable) element;
- resource = (IResource) adaptable.getAdapter(IResource.class);
- }
- }
-
- if (resource != null)
- return resource.getType() != IResource.FILE;
- else
- return false;
- }
- }
-}