Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java')
-rw-r--r--plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java400
1 files changed, 0 insertions, 400 deletions
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
deleted file mode 100644
index b63c50680..000000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-
-
-public class SelectSingleFileView
-{
- protected Composite composite;
- protected IStructuredSelection selection;
- protected boolean isFileMandatory;
- protected TreeViewer sourceFileViewer;
- protected Button importButton;
- protected Vector fFilters;
- protected IFile selectedFile;
- protected ISelection defaultSelection;
- protected Listener listener;
-
- public static interface Listener
- {
- public void setControlComplete(boolean isComplete);
- }
-
- public SelectSingleFileView(IStructuredSelection selection, boolean isFileMandatory)
- {
- this.selection = selection;
- this.isFileMandatory = isFileMandatory;
- this.selectedFile= null;
- this.defaultSelection = null;
- }
-
- public Composite createControl(Composite parent)
- {
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- Label label = new Label(composite, SWT.NONE);
- label.setText(UIPlugin.getResourceString("_UI_LABEL_SOURCE_FILES"));
- createSourceViewer(composite);
- createFilterControl(composite);
- createImportButton(composite);
- return composite;
- }
-
-
- protected void createFilterControl(Composite composite)
- {
- }
-
-public void setListener(Listener listener)
- {
- this.listener = listener;
- }
-
- protected void createSourceViewer(Composite parent)
- {
- sourceFileViewer = new TreeViewer(new Tree(parent, SWT.SINGLE | SWT.BORDER));
- sourceFileViewer.setContentProvider(new WorkbenchContentProvider());
- sourceFileViewer.setLabelProvider(new WorkbenchLabelProvider());
- sourceFileViewer.addSelectionChangedListener(new ISelectionChangedListener()
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- boolean isComplete = true;
- java.util.List list;
- ISelection selection = event.getSelection();
- if (selection instanceof IStructuredSelection)
- {
- list = ((IStructuredSelection)selection).toList();
- for (Iterator i = list.iterator(); i.hasNext();)
- {
- IResource resource = (IResource) i.next();
- if (resource instanceof IFile)
- {
- selectedFile = (IFile) resource;
- if (isFileMandatory)
- {
- isComplete = true;
- break;
- }
- }
- else
- {
- selectedFile = null;
- if (isFileMandatory)
- {
- isComplete = false;
- }
- }
- }
-
- if (listener != null)
- {
- listener.setControlComplete(isComplete);
- }
- }
- }
- });
- Control treeWidget = sourceFileViewer.getTree();
- GridData gd = new GridData(GridData.FILL_BOTH);
- treeWidget.setLayoutData(gd);
- }
-
-
- protected void createImportButton(Composite parent)
- {
- importButton = new Button(parent, SWT.NONE);
- importButton.setText(UIPlugin.getResourceString("_UI_IMPORT_BUTTON"));
-
- GridData gridData = new GridData();
- gridData.horizontalAlignment = GridData.CENTER;
- importButton.setLayoutData(gridData);
- importButton.addSelectionListener(new SelectionListener()
- {
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- // This listener is if the Import Wizard adds a new few, we want
- // it to be selected when we come back from it
- ImportAddResourceListener importAddResourceListener= new ImportAddResourceListener();
-
- ResourcesPlugin.getWorkspace().addResourceChangeListener(importAddResourceListener);
-
- FileSystemImportWizard importWizard = new FileSystemImportWizard();
- IWorkbench workbench = UIPlugin.getDefault().getWorkbench();
- selection = (IStructuredSelection) sourceFileViewer.getSelection();
- importWizard.init(workbench, selection != null ? selection : new StructuredSelection());
- Shell shell = Display.getCurrent().getActiveShell();
- WizardDialog wizardDialog = new WizardDialog(shell, importWizard);
- wizardDialog.create();
- wizardDialog.open();
- sourceFileViewer.refresh();
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(importAddResourceListener);
- IFile importedFile = importAddResourceListener.getImportedFile();
- if (importedFile != null)
- {
- StructuredSelection structuredSelection = new StructuredSelection(importedFile);
- sourceFileViewer.setSelection(structuredSelection);
- }
- }
- });
- importButton.setToolTipText(UIPlugin.getResourceString("_UI_IMPORT_BUTTON_TOOL_TIP"));
- }
-
- public IFile getFile()
- {
- return selectedFile;
- }
-
- public void setDefaultSelection(ISelection selection)
- {
- this.defaultSelection = selection;
- }
-
- public void resetFilters()
- {
- fFilters=null;
- }
-
- public void addFilter(ViewerFilter filter)
- {
- if (fFilters == null)
- {
- fFilters= new Vector();
- }
- fFilters.add(filter);
- }
-
- // This is a convenience method that allows filtering of the given file
- // exensions. It internally creates a ResourceFilter so that users of this
- // class don't have to construct one.
- // If the extensions provided don't have '.', one will be added.
- public void addFilterExtensions(String[] filterExtensions)
- {
- // First add the '.' to the filterExtensions if they don't already have one
- String[] correctedFilterExtensions = new String[filterExtensions.length];
- for (int i=0; i < filterExtensions.length; i++)
- {
- // If the extension doesn't start with a '.', then add one.
- if (filterExtensions[i].startsWith("."))
- {
- correctedFilterExtensions[i] = filterExtensions[i];
- }
- else
- {
- correctedFilterExtensions[i] = "." + filterExtensions[i];
- }
- }
-
- ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
- addFilter(filter);
- }
-
-// This is a convenience method that allows filtering of the given file
-// exensions. It internally creates a ResourceFilter so that users of this
-// class don't have to construct one.
-// If the extensions provided don't have '.', one will be added.
- public void addFilterExtensions(String[] filterExtensions, IFile [] excludedFiles)
- {
- // First add the '.' to the filterExtensions if they don't already have one
- String[] correctedFilterExtensions = new String[filterExtensions.length];
- for (int i=0; i < filterExtensions.length; i++)
- {
- // If the extension doesn't start with a '.', then add one.
- if (filterExtensions[i].startsWith("."))
- {
- correctedFilterExtensions[i] = filterExtensions[i];
- }
- else
- {
- correctedFilterExtensions[i] = "." + filterExtensions[i];
- }
- }
- ViewerFilter filter;
- if (excludedFiles != null)
- {
- filter = new ResourceFilter(correctedFilterExtensions, excludedFiles, null);
- }
- else
- {
- filter = new ResourceFilter(correctedFilterExtensions, null);
- }
- addFilter(filter);
- }
-
- // This is a convenience method that allows filtering of the given file
- // exensions. It internally creates a ResourceFilter so that users of this
- // class don't have to construct one.
- // If the extensions provided don't have '.', one will be added.
- public void setFilterExtensions(String[] filterExtensions)
- {
- // First add the '.' to the filterExtensions if they don't already have one
- String[] correctedFilterExtensions = new String[filterExtensions.length];
- for (int i=0; i < filterExtensions.length; i++)
- {
- // If the extension doesn't start with a '.', then add one.
- if (filterExtensions[i].startsWith("."))
- {
- correctedFilterExtensions[i] = filterExtensions[i];
- }
- else
- {
- correctedFilterExtensions[i] = "." + filterExtensions[i];
- }
- }
- ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
- fFilters= new Vector();
- fFilters.add(filter);
- if (sourceFileViewer != null)
- {
- sourceFileViewer.getTree().setRedraw(false);
- sourceFileViewer.resetFilters();
- for (Iterator i=fFilters.iterator(); i.hasNext();)
- {
- sourceFileViewer.addFilter((ViewerFilter)i.next());
- }
- sourceFileViewer.getTree().setRedraw(true);
- sourceFileViewer.getTree().redraw();
- }
- }
-
- // this method should be called by a Wizard page or Dialog when it becomes visible
- public void setVisibleHelper(boolean visible)
- {
- if (visible == true)
- {
- if (fFilters != null)
- {
- sourceFileViewer.resetFilters();
- for (Iterator i=fFilters.iterator(); i.hasNext();)
- sourceFileViewer.addFilter((ViewerFilter)i.next());
- }
- sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
- sourceFileViewer.expandToLevel(2);
-
- if (defaultSelection != null)
- {
- sourceFileViewer.setSelection(defaultSelection, true);
- }
- else if (!sourceFileViewer.getSelection().isEmpty())
- {
- sourceFileViewer.setSelection(sourceFileViewer.getSelection());
- }
- else
- {
- if (isFileMandatory && listener != null)
- {
- listener.setControlComplete(false);
- }
- }
- }
- }
-
- class ImportAddResourceListener implements IResourceChangeListener, IResourceDeltaVisitor
- {
- Vector importedFiles;
-
- ImportAddResourceListener()
- {
- importedFiles = new Vector();
- }
-
- public void resourceChanged(IResourceChangeEvent event)
- {
- IResourceDelta resourceDelta = event.getDelta();
-
- try
- {
- if (resourceDelta != null)
- {
- resourceDelta.accept(this);
- }
- }
- catch (Exception e)
- {
- //TODO... log exception
- //UIPlugin.getMsgLogger().write("Exception caught during resource change" + e);
- //UIPlugin.getMsgLogger().writeCurrentThread();
- }
- }
-
- public boolean visit(IResourceDelta delta)
- {
- if (delta.getKind() == IResourceDelta.ADDED)
- {
- if (delta.getResource() instanceof IFile)
- importedFiles.add(delta.getResource());
- }
- return true;
- }
-
- public Collection getImportedFiles()
- {
- return importedFiles;
- }
-
- // This returns the first imported file in the list of imported files
- public IFile getImportedFile()
- {
- if (importedFiles.isEmpty() == false)
- return (IFile)importedFiles.firstElement();
-
- return null;
- }
- }
-
- public void addSelectionChangedTreeListener(ISelectionChangedListener treeListener) {
- sourceFileViewer.addSelectionChangedListener(treeListener);
- }
-}
-

Back to the top