Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java187
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$
- }
-}

Back to the top