Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/FileSelectionControl.java')
-rw-r--r--target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/FileSelectionControl.java196
1 files changed, 0 insertions, 196 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/FileSelectionControl.java b/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/FileSelectionControl.java
deleted file mode 100644
index b5e236898..000000000
--- a/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/FileSelectionControl.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Wind River Systems, Inc. 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:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tm.te.ui.controls;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Dialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.tm.te.ui.controls.nls.Messages;
-import org.eclipse.tm.te.ui.controls.validator.FileNameValidator;
-import org.eclipse.tm.te.ui.controls.validator.Validator;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Base implementation of a simple file selection control.
- * <p>
- * The control supports direct editing by the user or browsing for the file. By
- * default, the control has a history of recently selected files.
- */
-public class FileSelectionControl extends BaseDialogSelectionControl {
- private String[] filterExtensions;
- private String[] filterNames;
-
- /**
- * Constructor.
- *
- * @param parentPage The parent dialog page this control is embedded in.
- * Might be <code>null</code> if the control is not associated with a page.
- */
- public FileSelectionControl(IDialogPage parentPage) {
- super(parentPage);
- setDialogTitle(Messages.FileSelectionControl_title_open);
- setGroupLabel(Messages.FileSelectionControl_group_label);
- setEditFieldLabel(Messages.FileSelectionControl_editfield_label);
- }
-
- /**
- * Set the filter extensions string array used by the standard file dialog. If set
- * to <code>null</code>, not filter extensions will be given to the file dialog.
- *
- * @param filterExtensions The filter extensions string array to use or <code>null</code>.
- */
- public void setFilterExtensions(String[] filterExtensions) {
- this.filterExtensions = filterExtensions;
- if (getEditFieldValidator() != null && filterExtensions != null) {
- ((FileNameValidator)getEditFieldValidator()).setFileExtensions(filterExtensions);
- }
- }
-
- /**
- * Returns the filter extensions string array used by the standard file dialog.
- *
- * @return The filter extensions string array or <code>null</code>.
- */
- public String[] getFilterExtensions() {
- return filterExtensions;
- }
-
-
- /**
- * Set the filter names string array used by the standard file dialog. If set
- * to <code>null</code>, not filter names will be given to the file dialog.
- *
- * @param filterExtensions The filter names string array to use or <code>null</code>.
- */
- public void setFilterNames(String[] filterNames) {
- this.filterNames = filterNames;
- }
-
- /**
- * Returns the filter names string array used by the standard file dialog.
- *
- * @return The filter names string array or <code>null</code>.
- */
- public String[] getFilterNames() {
- return filterNames;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.te.ui.controls.BaseDialogSelectionControl#doCreateDialogControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Dialog doCreateDialogControl(Composite parent) {
- Assert.isNotNull(parent);
-
- // create a standard file dialog
- FileDialog dialog = new FileDialog(parent.getShell(), SWT.OPEN);
- return dialog;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.te.ui.controls.BaseDialogSelectionControl#configureDialogControl(org.eclipse.swt.widgets.Dialog)
- */
- @Override
- protected void configureDialogControl(Dialog dialog) {
- super.configureDialogControl(dialog);
-
- // we do expect a FileDialog here
- if (dialog instanceof FileDialog) {
- FileDialog fileDialog = (FileDialog)dialog;
-
- // set the file dialog filter extensions if available.
- if (getFilterExtensions() != null) {
- fileDialog.setFilterExtensions(getFilterExtensions());
- }
-
- // set the file dialog filter names if available.
- if (getFilterNames() != null) {
- fileDialog.setFilterNames(getFilterNames());
- }
-
- // the dialog should open within the directory of the currently selected
- // file. If no file has been currently selected, it should open within the
- // last browsed directory.
- String selectedFile = doGetSelectedFile();
- if (selectedFile != null && selectedFile.trim().length() > 0) {
- IPath filePath = new Path(selectedFile);
- // If the selected file points to an directory, use the directory as is
- IPath filterPath = filePath.toFile().isDirectory() ? filePath : filePath.removeLastSegments(1);
- String filterFileName = filePath.toFile().isDirectory() || !filePath.toFile().exists() ? null : filePath.lastSegment();
-
- if (!filterPath.isEmpty()) fileDialog.setFilterPath(filterPath.toString());
- if (filterFileName != null) fileDialog.setFileName(filterFileName);
- } else if (Platform.getBundle("org.eclipse.core.resources") != null //$NON-NLS-1$
- && Platform.getBundle("org.eclipse.core.resources").getState() == Bundle.ACTIVE) { //$NON-NLS-1$
- fileDialog.setFilterPath(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString());
- }
- }
- }
-
- /**
- * Returns the file from which to set the initial directory. This method
- * is called from {@link #configureDialogControl(Dialog)} in case the dialog
- * is a {@link FileDialog}.
- * <p>
- * <b>Note:</b> The method may return a directory to use as initial directory
- * in case the selected file cannot be determined.
- *
- * @return The file to set the initial directory to the file dialog or <code>null</code> if none.
- */
- protected String doGetSelectedFile() {
- return getEditFieldControlText();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.te.ui.controls.BaseEditBrowseTextControl#doCreateEditFieldValidator()
- */
- @Override
- protected Validator doCreateEditFieldValidator() {
- return new FileNameValidator(Validator.ATTR_MANDATORY |
- FileNameValidator.ATTR_MUST_EXIST |
- FileNameValidator.ATTR_CAN_READ |
- FileNameValidator.ATTR_CAN_WRITE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.te.ui.controls.BaseEditBrowseTextControl#configureEditFieldValidator(org.eclipse.tm.te.ui.controls.validator.Validator)
- */
- @Override
- protected void configureEditFieldValidator(Validator editFieldValidator) {
- if (editFieldValidator instanceof FileNameValidator) {
- if (getFilterExtensions() != null) {
- ((FileNameValidator)editFieldValidator).setFileExtensions(getFilterExtensions());
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.te.ui.controls.BaseDialogSelectionControl#doOpenDialogControl(org.eclipse.swt.widgets.Dialog)
- */
- @Override
- protected String doOpenDialogControl(Dialog dialog) {
- Assert.isNotNull(dialog);
-
- // We do expect a file dialog here.
- if (dialog instanceof FileDialog) {
- FileDialog fileDialog = (FileDialog)dialog;
- return fileDialog.open();
- }
-
- return null;
- }
-}

Back to the top