diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tm.te.ui.terminals.process/src/org/eclipse/tm/te/ui/terminals/process/ProcessSettingsPage.java')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tm.te.ui.terminals.process/src/org/eclipse/tm/te/ui/terminals/process/ProcessSettingsPage.java | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.ui.terminals.process/src/org/eclipse/tm/te/ui/terminals/process/ProcessSettingsPage.java b/target_explorer/plugins/org.eclipse.tm.te.ui.terminals.process/src/org/eclipse/tm/te/ui/terminals/process/ProcessSettingsPage.java deleted file mode 100644 index af7a4e60b..000000000 --- a/target_explorer/plugins/org.eclipse.tm.te.ui.terminals.process/src/org/eclipse/tm/te/ui/terminals/process/ProcessSettingsPage.java +++ /dev/null @@ -1,187 +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.terminals.process; - -import org.eclipse.cdt.utils.pty.PTY; -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.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -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.FileDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.te.ui.swt.SWTControlUtil; -import org.eclipse.tm.te.ui.terminals.nls.Messages; -import org.eclipse.ui.PlatformUI; -import org.osgi.framework.Bundle; - -/** - * Process connector settings page implementation. - */ -@SuppressWarnings("restriction") -public class ProcessSettingsPage implements ISettingsPage { - private Text processImageSelectorControl; - private Button processImageSelectorControlButton; - private Text processArgumentsControl; - private Button localEchoSelectorControl; - - private final ProcessSettings settings; - - /** - * Constructor. - * - * @param settings - */ - public ProcessSettingsPage(ProcessSettings settings) { - super(); - - Assert.isNotNull(settings); - this.settings = settings; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#createControl(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout()); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - // The entry fields shall be properly aligned - Composite panel = new Composite(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; layout.marginHeight = 0; - panel.setLayout(layout); - panel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // Create the process image selector control - Label label = new Label(panel, SWT.HORIZONTAL); - label.setText(Messages.ProcessSettingsPage_processImagePathSelectorControl_label); - - // Text field and browse button are aligned it their own panel - Composite innerPanel = new Composite(panel, SWT.NONE); - layout = new GridLayout(2, false); - layout.marginWidth = 0; layout.marginHeight = 0; - innerPanel.setLayout(layout); - innerPanel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - processImageSelectorControl = new Text(innerPanel, SWT.SINGLE | SWT.BORDER); - processImageSelectorControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - processImageSelectorControlButton = new Button(innerPanel, SWT.PUSH); - processImageSelectorControlButton.setText(Messages.ProcessSettingsPage_processImagePathSelectorControl_button); - processImageSelectorControlButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - onBrowseButtonSelected(e); - } - }); - - // Create the process arguments control - label = new Label(panel, SWT.HORIZONTAL); - label.setText(Messages.ProcessSettingsPage_processArgumentsControl_label); - - processArgumentsControl = new Text(panel, SWT.SINGLE | SWT.BORDER); - processArgumentsControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // Create the local echo check box - localEchoSelectorControl = new Button(composite, SWT.CHECK); - localEchoSelectorControl.setText(Messages.ProcessSettingsPage_localEchoSelectorControl_label); - localEchoSelectorControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - localEchoSelectorControl.setSelection(!PTY.isSupported()); - - // Initialize the control content - loadSettings(); - } - - /** - * Called once the user pressed the browse button. - * - * @param e The selection event or <code>null</code>. - */ - protected void onBrowseButtonSelected(SelectionEvent e) { - // Determine the shell - Shell shell = e != null ? e.widget.getDisplay().getActiveShell() : PlatformUI.getWorkbench().getDisplay().getActiveShell(); - - // create a standard file dialog - FileDialog dialog = new FileDialog(shell, SWT.OPEN); - dialog.setText(Messages.ProcessSettingsPage_dialogTitle); - - // 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 = SWTControlUtil.getText(processImageSelectorControl); - 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()) { - dialog.setFilterPath(filterPath.toString()); - } - if (filterFileName != null) { - dialog.setFileName(filterFileName); - } - } else { - Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { - dialog.setFilterPath(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); - } - } - - // Open the dialog - selectedFile = dialog.open(); - if (selectedFile != null) { - SWTControlUtil.setText(processImageSelectorControl, selectedFile); - } - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#saveSettings() - */ - @Override - public void saveSettings() { - settings.setImage(SWTControlUtil.getText(processImageSelectorControl)); - settings.setArguments(SWTControlUtil.getText(processArgumentsControl)); - settings.setLocalEcho(SWTControlUtil.getSelection(localEchoSelectorControl)); - settings.setProcess(null); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#loadSettings() - */ - @Override - public void loadSettings() { - SWTControlUtil.setText(processImageSelectorControl, settings.getImage()); - SWTControlUtil.setText(processArgumentsControl, settings.getArguments()); - SWTControlUtil.setSelection(localEchoSelectorControl, settings.isLocalEcho()); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#validateSettings() - */ - @Override - public boolean validateSettings() { - // The settings are considered valid if the selected process image can be read. - String selectedFile = SWTControlUtil.getText(processImageSelectorControl); - return selectedFile != null && !"".equals(selectedFile.trim()) && new Path(selectedFile).toFile().canRead(); //$NON-NLS-1$ - } -} |