Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2015-03-12 07:25:34 +0000
committerUwe Stieber2015-03-12 07:26:01 +0000
commite4f67a956653b80205aa0c556a90007b043de917 (patch)
tree51eaf695098e3076f70a9e10a1fce2a9996792aa
parentb5b2c229aa77b6e3874b319fa5789c6aeb7db7ef (diff)
downloadorg.eclipse.tm-e4f67a956653b80205aa0c556a90007b043de917.tar.gz
org.eclipse.tm-e4f67a956653b80205aa0c556a90007b043de917.tar.xz
org.eclipse.tm-e4f67a956653b80205aa0c556a90007b043de917.zip
Releng: Fix the build
-rw-r--r--admin/pom-config.xml6
-rw-r--r--pom.xml5
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project17
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties19
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties171
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml57
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml30
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/.project17
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties13
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties170
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml53
-rw-r--r--terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml30
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath7
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore1
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.project34
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs74
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs3
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml26
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF16
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml19
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.html29
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini27
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings6
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties25
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties33
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css1
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html46
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html82
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html101
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html64
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html30
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gifbin0 -> 385 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gifbin0 -> 139 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gifbin0 -> 146 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gifbin0 -> 626 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gifbin0 -> 351 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gifbin0 -> 118 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gifbin0 -> 938 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gifbin0 -> 239 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gifbin0 -> 874 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gifbin0 -> 90 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gifbin0 -> 588 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gifbin0 -> 351 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gifbin0 -> 90 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gifbin0 -> 159 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gifbin0 -> 239 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gifbin0 -> 890 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gifbin0 -> 118 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gifbin0 -> 626 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gifbin0 -> 351 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gifbin0 -> 118 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gifbin0 -> 163 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gifbin0 -> 938 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties21
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml58
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml15
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java43
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties33
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java83
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java75
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java39
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java42
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java83
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java40
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java41
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java106
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java39
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java36
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java48
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java88
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java83
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java52
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java34
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java35
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java111
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java423
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java709
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java237
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java181
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java172
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java128
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java51
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties42
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.pngbin0 -> 2275 bytes
-rw-r--r--terminal/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml21
85 files changed, 4375 insertions, 6 deletions
diff --git a/admin/pom-config.xml b/admin/pom-config.xml
index d1220c94b..2fc3d98dc 100644
--- a/admin/pom-config.xml
+++ b/admin/pom-config.xml
@@ -65,7 +65,6 @@
<remote-site>http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones</remote-site>
<swtbot-site>http://download.eclipse.org/technology/swtbot/releases/latest/</swtbot-site>
<rxtx-site>http://archive.eclipse.org/tm/updates/rxtx</rxtx-site>
- <tm-luna-site>http://download.eclipse.org/tm/builds/luna/nightly</tm-luna-site>
</properties>
<repositories>
@@ -104,11 +103,6 @@
<url>${rxtx-site}</url>
<layout>p2</layout>
</repository>
- <repository>
- <id>tm-luna</id>
- <url>${tm-luna-site}</url>
- <layout>p2</layout>
- </repository>
</repositories>
<pluginRepositories>
diff --git a/pom.xml b/pom.xml
index 4d73193a7..9cc1b45a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -116,6 +116,11 @@
<module>terminal/features/org.eclipse.tm.terminal.remote.feature</module>
<module>terminal/features/org.eclipse.tm.terminal.remote.sdk.feature</module>
+ <!-- Deprecated features and plug-ins. Keep them building until removed -->
+ <module>terminal/deprecated/plugins/org.eclipse.tm.terminal.view</module>
+ <module>terminal/deprecated/features/org.eclipse.tm.terminal.view-feature</module>
+ <module>terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature</module>
+
<module>releng/org.eclipse.tm.repo</module>
</modules>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project
new file mode 100644
index 000000000..92158332e
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tm.terminal.sdk-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties
new file mode 100644
index 000000000..3f525e489
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties
@@ -0,0 +1,19 @@
+################################################################################
+# Copyright (c) 2006, 2015 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:
+# Martin Oberhuber (Wind River) - initial API and implementation
+# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license
+################################################################################
+bin.includes = feature.properties,\
+ feature.xml
+
+generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal
+generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial
+generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh
+generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet
+generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties
new file mode 100644
index 000000000..4d52ee3a8
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties
@@ -0,0 +1,171 @@
+###############################################################################
+# Copyright (c) 2006, 2014 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:
+# Martin Oberhuber (Wind River) - initial API and implementation
+###############################################################################
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName=Target Management Terminal (Deprecated)
+
+# "description" property - description of the feature
+description=An ANSI (vt102) compatible Terminal including \
+plug-ins for Serial, SSH and Telnet connections. Includes Source Code.\n\
+\n\
+Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead.
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse TM Project
+
+# "tmUpdateSiteName" property - label for the update site
+tmUpdateSiteName=Target Management 3.7 Updates
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2003, 2014 Wind River Systems, Inc. and others.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+ 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+ the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+ extending or updating the functionality of an Eclipse-based product.\n\
+ 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+ Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+ 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+ govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+ Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+ with the Specification. Such Installable Software Agreement must inform the user of the\n\
+ terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+ the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+ indication of agreement by the user, the provisioning Technology will complete installation\n\
+ of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml
new file mode 100644
index 000000000..d1d437578
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2006, 2014 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 - initial API and implementation
+ Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point
+ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license
+ -->
+<feature
+ id="org.eclipse.tm.terminal.sdk"
+ label="%featureName"
+ version="4.0.0.qualifier"
+ provider-name="%providerName"
+ license-feature="org.eclipse.license"
+ license-feature-version="1.0.1.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <url>
+ <update label="%tmUpdateSiteName" url="http://download.eclipse.org/tm/updates/4.0"/>
+ <discovery label="%tmUpdateSiteName" url="http://download.eclipse.org/tm/updates/3.7"/>
+ </url>
+
+ <includes
+ id="org.eclipse.tm.terminal.view"
+ version="0.0.0"/>
+
+ <requires>
+ <import feature="org.eclipse.tm.terminal.serial.sdk.feature" version="4.0.0" match="compatible"/>
+ <import feature="org.eclipse.tm.terminal.ssh.sdk.feature" version="4.0.0" match="compatible"/>
+ <import feature="org.eclipse.tm.terminal.telnet.sdk.feature" version="4.0.0" match="compatible"/>
+ <import feature="org.eclipse.tm.terminal.sdk.feature" version="4.0.0" match="compatible"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.tm.terminal.view.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml
new file mode 100644
index 000000000..eb957301c
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.tm.maven-build</artifactId>
+ <groupId>org.eclipse.tm</groupId>
+ <version>4.0.0-SNAPSHOT</version>
+ <relativePath>../../../../admin/pom-build.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.tm.features</groupId>
+ <artifactId>org.eclipse.tm.terminal.sdk</artifactId>
+ <version>4.0.0.qualifier</version>
+ <packaging>eclipse-feature</packaging>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <timestampProvider>default</timestampProvider>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/.project b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/.project
new file mode 100644
index 000000000..57ff3d8e6
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tm.terminal.view-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties
new file mode 100644
index 000000000..400f7fd68
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties
@@ -0,0 +1,13 @@
+################################################################################
+# Copyright (c) 2006, 2015 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:
+# Michael Scharf (Wind River) - initial API and implementation
+# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license
+################################################################################
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties
new file mode 100644
index 000000000..0a6e4bdc5
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties
@@ -0,0 +1,170 @@
+###############################################################################
+# Copyright (c) 2006, 2014 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:
+# Martin Oberhuber (Wind River) - initial API and implementation
+###############################################################################
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName=Target Management Terminal View (Deprecated)
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse TM Project
+
+# "tmUpdateSiteName" property - label for the update site
+tmUpdateSiteName=Target Management 3.7 Updates
+
+# "description" property - description of the feature
+description=An Eclipse Workbench standalone view for the Terminal widget.\n\
+\n\
+Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead.
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+ 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+ the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+ extending or updating the functionality of an Eclipse-based product.\n\
+ 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+ Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+ 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+ govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+ Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+ with the Specification. Such Installable Software Agreement must inform the user of the\n\
+ terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+ the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+ indication of agreement by the user, the provisioning Technology will complete installation\n\
+ of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml
new file mode 100644
index 000000000..c1984a216
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2006, 2014 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 - initial API and implementation
+ Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point
+ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license
+ -->
+<feature
+ id="org.eclipse.tm.terminal.view"
+ label="%featureName"
+ version="4.0.0.qualifier"
+ provider-name="%providerName"
+ license-feature="org.eclipse.license"
+ license-feature-version="1.0.1.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <url>
+ <update label="%tmUpdateSiteName" url="http://download.eclipse.org/tm/updates/4.0"/>
+ <discovery label="%tmUpdateSiteName" url="http://download.eclipse.org/tm/updates/3.7"/>
+ </url>
+
+ <requires>
+ <import plugin="org.eclipse.ui"/>
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.tm.terminal" version="3.3.0" match="equivalent"/>
+ <import feature="org.eclipse.tm.terminal.feature" version="4.0.0" match="compatible"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.tm.terminal.view"
+ download-size="48"
+ install-size="48"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml
new file mode 100644
index 000000000..27352ba80
--- /dev/null
+++ b/terminal/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.tm.maven-build</artifactId>
+ <groupId>org.eclipse.tm</groupId>
+ <version>4.0.0-SNAPSHOT</version>
+ <relativePath>../../../../admin/pom-build.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.tm.features</groupId>
+ <artifactId>org.eclipse.tm.terminal.view</artifactId>
+ <version>4.0.0.qualifier</version>
+ <packaging>eclipse-feature</packaging>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <timestampProvider>default</timestampProvider>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath
new file mode 100644
index 000000000..ad32c83a7
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.project b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.project
new file mode 100644
index 000000000..b54e2fe95
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tm.terminal.view</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..c2dc3aa2f
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,74 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..9a20fca52
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 31 14:55:17 CEST 2006
+eclipse.preferences.version=1
+internal.default.compliance=user
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml
new file mode 100644
index 000000000..5ba920568
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.contexts"?>
+<!--
+Copyright (c) 2008 Wind River Systems, Inc.
+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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<contexts>
+ <context id="terminal_page">
+ <description>The Terminal View supports direct connections to remote systems via serial or network connections.
+ </description>
+ <topic label="Terminal View" href="doc/html/01_terminalview.html" />
+ <topic label="Terminal Emulation" href="doc/html/04_terminal_emulation.html" />
+ </context>
+ <context id="terminal_settings">
+ <description>The Terminal Settings Dialog provides the controls for making terminal connections.
+ </description>
+ <topic label="Terminal Settings Dialog" href="doc/html/03_terminal_settings.html#terminal_settings"/>
+ <topic label="Terminal View Quick Reference" href="doc/html/02_terminal_page.html#terminal_page"/>
+ </context>
+</contexts> \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..eb076cf1e
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true
+Bundle-Version: 2.4.200.qualifier
+Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)"
+Bundle-ActivationPolicy: lazy
+Eclipse-LazyStart: true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: %providerName
+Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true,
+ org.eclipse.tm.internal.terminal.view;x-internal:=true
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml
new file mode 100644
index 000000000..387756f5c
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.contexts"?>
+<!--
+Copyright (c) 2008 Wind River Systems, Inc.
+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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<contexts>
+ <context id="terminal_view">
+ <topic label="Terminal View" href="doc/html/01_terminalview.html" />
+ <topic label="Terminal Emulation" href="doc/html/04_terminal_emulation.html" />
+ <topic label="Terminal View Quick Reference" href="doc/html/02_terminal_page.html#terminal_page"/>
+ </context>
+</contexts> \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.html
new file mode 100644
index 000000000..a603d19ab
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini
new file mode 100644
index 000000000..3adc27ab5
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini
@@ -0,0 +1,27 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%blurb
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=tm32.png
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+# optional
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings
new file mode 100644
index 000000000..bddaab431
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=@build@ \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties
new file mode 100644
index 000000000..10075af54
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties
@@ -0,0 +1,25 @@
+################################################################################
+# Copyright (c) 2006, 2015 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:
+# Martin Oberhuber - initial API and implementation
+################################################################################
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+#
+# Do not translate any values surrounded by {}
+
+blurb=Target Management Terminal View (Deprecated)\n\
+\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Wind River Systems, Inc. and others 2003, 2014. All rights reserved.\n\
+Visit http://www.eclipse.org/tm
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties
new file mode 100644
index 000000000..51984c145
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties
@@ -0,0 +1,33 @@
+################################################################################
+# Copyright (c) 2003, 2015 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
+#
+# Initial Contributors:
+# The following Wind River employees contributed to the Terminal component
+# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+# Helmut Haigermoser and Ted Williams.
+#
+# Contributors:
+# Michael Scharf (Wind River) - split into core, view and connector plugins
+# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+################################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ plugin.properties,\
+ about.html,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ tm32.png,\
+ HelpContexts.xml,\
+ doc/,\
+ toc.xml,\
+ TerminalContexts.xml
+src.includes = about.html
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css
new file mode 100644
index 000000000..faa4199fe
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css
@@ -0,0 +1 @@
+@import "../../PRODUCT_PLUGIN/book.css";
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html
new file mode 100644
index 000000000..c423cbf8b
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta name="copyright" content="Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
+<link rel="stylesheet" type="text/css" href="../book.css" />
+<title>Terminal View</title>
+</head>
+<!--
+Copyright (c) 2004, 2008 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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<body id="terminalview"><a name="terminalview"><!-- --></a>
+
+<h1 class="topictitle1">Terminal View</h1>
+<div class="p">
+<p>
+The <b>Terminal</b> view provides a raw serial or network connection to your target board.
+This view is useful for monitoring output on a target's serial port or making a telnet
+connection to a device.
+</p><p>
+The Terminal view is activated by choosing <b>Window &gt; Show View &gt; Other &gt; Terminal &gt; Terminal</b>.
+</p></div>
+<ul>
+ <li><a href="02_terminal_page.html">Terminal View Quick Reference</a></li>
+ <li><a href="03_terminal_settings.html">Terminal Settings Dialog</a></li>
+ <li><a href="04_terminal_emulation.html">Terminal Emulation</a></li>
+ <li><a href="notice.html">Legal Notice</a></li>
+</ul>
+
+Multiple <b>Terminal</b> view instances can be active at the same time, connected
+to a number of remote systems or disconnected and just holding their settings
+ready for re-connect.
+
+<p></p>
+<div class="p">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| <a href="02_terminal_page.html">Next &gt;</a></div>
+ </body>
+</html>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html
new file mode 100644
index 000000000..1442ac022
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta name="copyright" content="Copyright (c) 2004, 2010 Wind River Systems, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
+<link rel="stylesheet" type="text/css" href="../book.css" />
+<title>Terminal View Quick Reference</title>
+</head>
+<!--
+Copyright (c) 2004, 2010 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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<body><a name="terminal_page"><!-- --></a>
+<h2 class="topictitle2">Terminal View Quick Reference</h2>
+<div align="left">
+<table border="0" cellspacing="6">
+ <caption></caption>
+ <tr align="left" valign="top">
+ <td><p><b>Button</b></p></td>
+ <td><p><b>Description</b></p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/connect_co.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Connect to selected target.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/disconnect_co.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Disconnect from selected connection.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/properties_tsk.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Open the <a href="03_terminal_settings.html"><b>Terminal Settings</b></a> dialog.
+ While connected, only the connection's title can be changed.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/command_input_field.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Toggle the <a href="04_terminal_emulation.html"><b>Command Input</b></a> field,
+ for editing complex command lines on dumb terminals.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/lock_co.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Toggle <b>Scroll Lock</b> in the current terminal connection.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/cview16/terminal_view.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Select a Terminal connection to show in this view instance.
+ Only available when multiple connections have been defined in this view.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/clcl16/newterminal.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Open another Terminal connection in the current view, or in a new <b>Terminal</b> view instance.</p></td>
+ </tr>
+ <tr align="left" valign="top">
+ <td><p><img src="../../icons/dlcl16/rem_co.gif" border="0" hspace="0" vspace="0"/></p></td>
+ <td><p>Remove the currently selected Terminal Connection from this view.
+ Only available when multiple connections have been defined in this view.</p></td>
+ </tr>
+</table>
+</div>
+<p>
+</p>
+
+<table class="steptable"><tr><td>
+ Each instance of the <b>Terminal</b> view can hold multiple connections, each of which can in
+ turn be connected to a different remote endpoint
+ (either serial or network). Of course, the number of serial connections is limited by the
+ number of serial ports.
+</td></tr></table>
+
+<p></p>
+<div class="p"><a href="01_terminalview.html">&lt; Prev</a> | <a href="03_terminal_settings.html">Next &gt;</a></div>
+
+</body>
+</html>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html
new file mode 100644
index 000000000..953025ae0
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta name="copyright" content="Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
+<link rel="stylesheet" type="text/css" href="../book.css" />
+<title>Terminal Settings Dialog</title>
+</head>
+<!--
+Copyright (c) 2004, 2008 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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<body><a name="terminal_settings"><!-- --></a>
+<h2 class="topictitle2">Terminal Settings Dialog</h2>
+
+<table class="steptable"><tr><td class="S_step_text">
+Use the <b>Terminal Settings</b> dialog to configure your connection.
+</td></tr></table>
+<table class="steptable"><tr><td class="S_step_text">
+In the <b>Connection Type</b> field choose <b>Serial</b>, <b>SSH</b> or <b>Telnet</b>.
+</td></tr></table>
+<table class="steptable"><tr><td class="S_step_text">
+The <b>View Title</b> field allows giving a name to your <b>Terminal</b> View instance.
+</td></tr></table>
+
+<h4>Serial Connection</h4>
+
+<table class="steptable"><tr><td class="S_step_text">
+If you choose a serial connection, the <b>Settings</b> area has seven options:
+ <b>Port</b>, <b>Baud Rate</b>, <b>Data Bits</b>, <b>Stop Bits</b>, <b>Parity</b>, <b>Flow Control</b>,
+ and <b>Timeout</b>.
+</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+When you have entered your settings, click <b>OK</b>. This initiates your connection.</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+Your connection information appears in the header of the <b>Terminal</b> view.
+A cursor appears in the view itself. Hit <b>ENTER</b> to get a <b>&gt;NET&gt;</b>
+prompt.</td></tr></table>
+
+<p></p>
+<div align="left">
+<table class="N1_note" border="0" cellpadding="0" cellspacing="6">
+ <caption></caption>
+ <tr align="left" valign="top"><td></td><td class="N1_note_content">
+ <p><b>NOTE:</b>When using the <b>Terminal</b> view on Linux or Solaris,
+ serial ports <b>ttyS0</b> and <b>ttyS1</b> must have appropriate permissions
+ set in order to connect to them, unless you are running the Workbench as root.
+ </p></td></tr>
+ <tr align="left" valign="top"><td>&#160;</td><td>&#160;</td>
+ </tr>
+</table>
+</div>
+
+<p></p>
+<h4>SSH Connection</h4>
+
+<table class="steptable"><tr><td class="S_step_text">
+If you choose an SSH connection, the <b>Settings</b> area has six options.
+In the <b>Host</b> and <b>Port</b> fields, enter the IP Address and port of the host
+you wish to connect to.
+The <b>User</b> field specifies the remote user id to use.
+The <b>Password</b> field is optional, since SSH can re-use your private keys
+as specified on the Eclipse Preferences, General, Network Page.
+The <b>Timeout</b> can be changed for very slow networks. The
+<b>KeepAlive</b> value specifies an interval in seconds, by which the Terminal
+automatically sends a packet to the remote host in order to keep the connection
+alive even in case of inactivity.
+<p>When all settings are specified, click
+<b>OK</b>. This initiates your connection.</p></td></tr></table>
+
+
+<p></p>
+<h4>Telnet Connection</h4>
+
+<table class="steptable"><tr><td class="S_step_text">
+If you choose a Telnet connection, the <b>Settings</b> area has three options.
+In the <b>Host</b> field, enter the IP Address of the host you wish to connect to.
+In the <b>Port</b> field, select the network port you wish to use.
+The <b>Timeout</b> can be changed for very slow networks. Then click
+<b>OK</b>. This initiates your connection.</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+Your connection information appears in the header of the <b>Terminal</b> view.
+A cursor appears in the view itself. Hit <b>ENTER</b> to get a <b>&gt;NET&gt; </b>prompt.
+</td></tr></table>
+
+<p></p>
+<div class="p"><a href="02_terminal_page.html">&lt; Prev</a> | <a href="04_terminal_emulation.html">Next &gt;</a></div>
+
+ </body>
+</html>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html
new file mode 100644
index 000000000..0b987d5e8
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta name="copyright" content="Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
+<link rel="stylesheet" type="text/css" href="../book.css" />
+<title>Terminal Emulation</title>
+</head>
+<!--
+Copyright (c) 2004, 2008 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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<body><a name="terminal_emulation"><!-- --></a>
+<h2 class="topictitle2">Terminal Emulation</h2>
+
+<table class="steptable"><tr><td class="S_step_text">
+The <b>Terminal</b> view is an ANSI-conformant terminal emulator. You can use the
+<b>Terminal</b> view to telnet into a remote UNIX host.
+</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+To do so, set the <b>TERM</b> environment variable on the remote host to <b>ansi</b>.
+This enables programs on the remote host, such as <b>vi</b> and <b>Emacs</b>,
+to display text properly.
+The <b>Terminal</b> view does not currently support other emulation modes, such as VT100.
+</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+The <b>size</b> of the terminal window as understood by the remote is automatically
+adjusted as the size of your <b>Terminal</b> view changes.
+The <b>colors</b> and <b>font</b> used by the Terminal can be configured in the
+Eclipse Preferences, Appearance section. A separate <b>Terminal</b> Preference
+Page allows inverting the terminal colors easily if desired.
+</td></tr></table>
+
+<h4>Optional Command Input Field</h4>
+
+<table class="steptable"><tr><td class="S_step_text">
+The optional <b>Command Input Field</b> can be enabled when sending commands to a dumb
+terminal that does not support cursor keys for editing. In such a case, the <b>
+Command Input Field</b> provides a full editor that supports cursor navigation, copy
+and paste, as well as a history of previous commands that can be accessed by
+<b>Ctrl+Space</b> content assist.
+</td></tr></table>
+
+<table class="steptable"><tr><td class="S_step_text">
+If more space than the default single editing line is needed for very complex commands,
+the <b>Command Input Field</b> can be enlarged by dragging its upper handle up with
+the mouse.
+</td></tr></table>
+
+<p></p>
+<div class="p"><a href="03_terminal_settings.html">&lt; Prev</a> | </div>
+
+ </body>
+</html>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html
new file mode 100644
index 000000000..91a8824e7
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta name="copyright" content="Copyright (c) 2004, 2012 Wind River Systems, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
+<link rel="stylesheet" type="text/css" href="../book.css" />
+<title>Legal Notice</title>
+</head>
+<!--
+Copyright (c) 2004, 2012 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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<body><a name="terminal_legal"><!-- --></a>
+<h2 class="topictitle2">Legal Notice</h2>
+<p>
+The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012.
+</p>
+<p>
+<a href="../../about.html">Terms and conditions regarding the use of this guide.</a>
+</p>
+</body>
+</html> \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif
new file mode 100644
index 000000000..9e3a547c1
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif
new file mode 100644
index 000000000..556b230da
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif
new file mode 100644
index 000000000..f1d5fb31e
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif
new file mode 100644
index 000000000..68fd6cf39
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif
new file mode 100644
index 000000000..80201e0d4
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif
new file mode 100644
index 000000000..41b5adbd5
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif
new file mode 100644
index 000000000..bbb6a9e15
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif
new file mode 100644
index 000000000..f538ca707
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif
new file mode 100644
index 000000000..ae5e64b9f
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif
new file mode 100644
index 000000000..24a628713
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif
new file mode 100644
index 000000000..b77647893
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif
new file mode 100644
index 000000000..80201e0d4
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif
new file mode 100644
index 000000000..c307524a7
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif
new file mode 100644
index 000000000..559e46298
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif
new file mode 100644
index 000000000..f538ca707
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif
new file mode 100644
index 000000000..c0de0d32d
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif
new file mode 100644
index 000000000..ef5bfa8ad
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif
new file mode 100644
index 000000000..68fd6cf39
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif
new file mode 100644
index 000000000..80201e0d4
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif
new file mode 100644
index 000000000..41b5adbd5
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif
new file mode 100644
index 000000000..2cd9c5444
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif
new file mode 100644
index 000000000..bbb6a9e15
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties
new file mode 100644
index 000000000..8bc93b559
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties
@@ -0,0 +1,21 @@
+##########################################################################
+# Copyright (c) 2003, 2015 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
+#
+# Initial Contributors:
+# The following Wind River employees contributed to the Terminal component
+# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+# Helmut Haigermoser and Ted Williams.
+#
+# Contributors:
+# Michael Scharf (Wind River) - split into core, view and connector plugins
+# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
+##########################################################################
+pluginName = Target Management Terminal View (Deprecated)
+providerName = Eclipse TM Project
+terminal.views.category.name = Terminal
+terminal.views.view.name = Terminal
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml
new file mode 100644
index 000000000..b43368431
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!--
+# Copyright (c) 2003, 2012 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
+#
+# Initial Contributors:
+# The following Wind River employees contributed to the Terminal component
+# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+# Helmut Haigermoser and Ted Williams.
+#
+# Contributors:
+# Michael Scharf (Wind River) - split into core, view and connector plugins
+# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
+-->
+<plugin>
+ <extension
+ point="org.eclipse.ui.views">
+ <category
+ name="%terminal.views.category.name"
+ id="Terminal">
+ </category>
+ <view
+ allowMultiple="true"
+ class="org.eclipse.tm.internal.terminal.view.TerminalView"
+ icon="icons/cview16/terminal_view.gif"
+ category="Terminal"
+ name="%terminal.views.view.name"
+ id="org.eclipse.tm.terminal.view.TerminalView">
+ </view>
+ </extension>
+ <extension
+ point="org.eclipse.ui.perspectiveExtensions">
+ <perspectiveExtension
+ targetID="Terminal">
+ <viewShortcut id="org.eclipse.tm.terminal.view.TerminalView"/>
+ <view id="org.eclipse.tm.terminal.view.TerminalView"
+ relationship="stack">
+ </view>
+ </perspectiveExtension>
+ </extension>
+
+ <!-- ============================================ -->
+ <!-- Define Help Context -->
+ <!-- ============================================ -->
+ <extension point="org.eclipse.help.contexts">
+ <contexts file="HelpContexts.xml"/>
+ <contexts file="TerminalContexts.xml" plugin="org.eclipse.tm.terminal"/>
+ </extension>
+ <extension point="org.eclipse.help.toc">
+ <toc file="toc.xml"/>
+ </extension>
+
+ </plugin>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml
new file mode 100644
index 000000000..4ae0aaa11
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.tm.maven-build</artifactId>
+ <groupId>org.eclipse.tm</groupId>
+ <version>4.0.0-SNAPSHOT</version>
+ <relativePath>../../../../admin/pom-build.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.tm</groupId>
+ <artifactId>org.eclipse.tm.terminal.view</artifactId>
+ <version>2.4.200.qualifier</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java
new file mode 100644
index 000000000..5abbcf8a6
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.osgi.util.NLS;
+
+public class ActionMessages extends NLS {
+
+ static {
+ NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class);
+ }
+ public static String NEW_TERMINAL_CONNECTION;
+ public static String NEW_TERMINAL_VIEW;
+ public static String CONNECT;
+ public static String TOGGLE_COMMAND_INPUT_FIELD;
+ public static String DISCONNECT;
+ public static String SETTINGS_ELLIPSE;
+ public static String SCROLL_LOCK_0;
+ public static String SCROLL_LOCK_1;
+ public static String REMOVE;
+
+ public static String ConsoleDropDownAction_0;
+ public static String ConsoleDropDownAction_1;
+
+ public static String SETTINGS;
+
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties
new file mode 100644
index 000000000..0401f1d8c
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties
@@ -0,0 +1,33 @@
+###############################################################################
+# Copyright (c) 2003, 2015 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
+#
+# Initial Contributors:
+# The following Wind River employees contributed to the Terminal component
+# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+# Helmut Haigermoser and Ted Williams.
+#
+# Contributors:
+# Michael Scharf (Wind River) - split into core, view and connector plugins
+# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+# Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
+# Michael Scharf (Wind River) - [172483] switch between connections
+# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+###############################################################################
+NEW_TERMINAL_CONNECTION = New Terminal Connection in Current View...
+NEW_TERMINAL_VIEW = New Terminal View
+CONNECT = Connect
+DISCONNECT = Disconnect
+SETTINGS_ELLIPSE = Settings...
+SCROLL_LOCK_0 = Scroll &Lock
+SCROLL_LOCK_1 = Scroll Lock
+SETTINGS = Settings
+TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field
+REMOVE = Remove Terminal
+
+ConsoleDropDownAction_0=Select Connection
+ConsoleDropDownAction_1=Display Selected Connections
+
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java
new file mode 100644
index 000000000..47faff887
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2015 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
+ * Michael Scharf (Wind River) - [172483] Adapted from org.eclipse.ui.console/ShowConsoleAction
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager;
+
+/**
+ * Shows a specific connection in the terminal view
+ */
+public class ShowTerminalConnectionAction extends Action {
+
+ private final ITerminalViewConnection fConnection;
+ private final ITerminalViewConnectionManager fConnectionManager;
+
+ /**
+ * Constructs an action to display the given terminal.
+ *
+ * @param manager the terminal multi-view in which the given terminal connection is contained
+ * @param connection the terminal view connection
+ */
+ public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) {
+ super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON);
+ fConnection = connection;
+ fConnectionManager = manager;
+ setImageDescriptor(connection.getImageDescriptor());
+ }
+ /**
+ * the tab at the end quotes '@' chars?!? see
+ * {@link #setText(String)}
+ * @param name
+ * @return a quoted sting
+ */
+ private static String quoteName(String name) {
+ return name+"\t"; //$NON-NLS-1$
+ }
+ /**
+ * Builds the name. It uses the summary. If the connections have different
+ * partNames (the names showed in the view title) then this name is prefixed.
+ * @param m the connection manager
+ * @param connection the connection for which the name should me extracted
+ * @return The name to be displayed
+ */
+ private static String buildName(ITerminalViewConnectionManager m,ITerminalViewConnection connection) {
+ String name = connection.getFullSummary();
+ if(!checkIfAllPartNamesTheSame(m))
+ name=connection.getPartName()+" - " +name; //$NON-NLS-1$
+ return name;
+ }
+ /**
+ * @param m the connection manager
+ * @return true if the part names of all connections are the same
+ */
+ private static boolean checkIfAllPartNamesTheSame(ITerminalViewConnectionManager m) {
+ ITerminalViewConnection[] connections = m.getConnections();
+ if(connections.length>1) {
+ String partName=connections[0].getPartName();
+ for (int i = 1; i < connections.length; i++) {
+ if(!partName.equals(connections[i].getPartName())) {
+ return false;
+ }
+ }
+
+ }
+ return true;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.IAction#run()
+ */
+ public void run() {
+ fConnectionManager.setActiveConnection(fConnection);
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java
new file mode 100644
index 000000000..85e86d48f
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin;
+
+abstract public class TerminalAction extends Action {
+ protected final ITerminalView fTarget;
+ public TerminalAction(ITerminalView target, String strId) {
+ this(target,strId,0);
+ }
+ public TerminalAction(ITerminalView target, String strId, int style) {
+ super("",style); //$NON-NLS-1$
+
+ fTarget = target;
+
+ setId(strId);
+ }
+ abstract public void run();
+ protected void setupAction(String strText, String strToolTip,
+ String strImage, String strEnabledImage, String strDisabledImage,
+ boolean bEnabled) {
+ TerminalViewPlugin plugin;
+ ImageRegistry imageRegistry;
+
+ plugin = TerminalViewPlugin.getDefault();
+ imageRegistry = plugin.getImageRegistry();
+ setupAction(strText, strToolTip, strImage, strEnabledImage,
+ strDisabledImage, bEnabled, imageRegistry);
+ }
+ protected void setupAction(String strText, String strToolTip,
+ String strHoverImage, String strEnabledImage, String strDisabledImage,
+ boolean bEnabled, ImageRegistry imageRegistry) {
+ setupAction(strText,
+ strToolTip,
+ imageRegistry.getDescriptor(strHoverImage),
+ imageRegistry.getDescriptor(strEnabledImage),
+ imageRegistry.getDescriptor(strDisabledImage),
+ bEnabled);
+ }
+ protected void setupAction(String strText, String strToolTip,
+ ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage,
+ boolean bEnabled) {
+ setText(strText);
+ setToolTipText(strToolTip);
+ setEnabled(bEnabled);
+ if (enabledImage != null) {
+ setImageDescriptor(enabledImage);
+ }
+ if (disabledImage != null) {
+ setDisabledImageDescriptor(disabledImage);
+ }
+ if (hoverImage != null) {
+ setHoverImageDescriptor(hoverImage);
+ }
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java
new file mode 100644
index 000000000..f343c9a99
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionConnect extends TerminalAction
+{
+ public TerminalActionConnect(ITerminalView target)
+ {
+ super(target,
+ TerminalActionConnect.class.getName());
+
+ setupAction(ActionMessages.CONNECT,
+ ActionMessages.CONNECT,
+ ImageConsts.IMAGE_CLCL_CONNECT,
+ ImageConsts.IMAGE_ELCL_CONNECT,
+ ImageConsts.IMAGE_DLCL_CONNECT,
+ true);
+ }
+ public void run() {
+ fTarget.onTerminalConnect();
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java
new file mode 100644
index 000000000..a8624c404
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionDisconnect extends TerminalAction
+{
+ /**
+ *
+ */
+ public TerminalActionDisconnect(ITerminalView target)
+ {
+ super(target,
+ TerminalActionDisconnect.class.getName());
+
+ setupAction(ActionMessages.DISCONNECT,
+ ActionMessages.DISCONNECT,
+ ImageConsts.IMAGE_CLCL_DISCONNECT,
+ ImageConsts.IMAGE_ELCL_DISCONNECT,
+ ImageConsts.IMAGE_DLCL_DISCONNECT,
+ false);
+ }
+ public void run() {
+ fTarget.onTerminalDisconnect();
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java
new file mode 100644
index 000000000..20a0ff7a2
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+*******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuCreator;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+/**
+ * UNDER CONSTRUCTION
+ *
+ * @author Fran Litterio <francis.litterio@windriver.com>
+ */
+public class TerminalActionNewTerminal extends TerminalAction implements IMenuCreator {
+ private Menu fMenu;
+ public TerminalActionNewTerminal(ITerminalView target)
+ {
+ super(target, TerminalActionNewTerminal.class.getName());
+
+ setupAction(ActionMessages.NEW_TERMINAL_CONNECTION,
+ ActionMessages.NEW_TERMINAL_CONNECTION,
+ ImageConsts.IMAGE_NEW_TERMINAL,
+ ImageConsts.IMAGE_NEW_TERMINAL,
+ ImageConsts.IMAGE_NEW_TERMINAL,
+ true);
+ setMenuCreator(this);
+ }
+ public void run() {
+ fTarget.onTerminalNewTerminal();
+ }
+ public void dispose() {
+ if (fMenu != null) {
+ fMenu.dispose();
+ }
+ }
+ public Menu getMenu(Control parent) {
+ if(fMenu==null) {
+ fMenu= new Menu(parent);
+ addActionToMenu(fMenu,
+ new Action(ActionMessages.NEW_TERMINAL_CONNECTION) {
+ public void run() {
+ fTarget.onTerminalNewTerminal();
+ }
+
+ });
+ addActionToMenu(fMenu,
+ new Action(ActionMessages.NEW_TERMINAL_VIEW) {
+ public void run() {
+ fTarget.onTerminalNewView();
+ }
+
+ });
+ }
+ return fMenu;
+ }
+ protected void addActionToMenu(Menu parent, IAction action) {
+ ActionContributionItem item = new ActionContributionItem(action);
+ item.fill(parent, -1);
+ }
+ public Menu getMenu(Menu parent) {
+ return null;
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java
new file mode 100644
index 000000000..b7d9d472f
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener
+{
+ private final ITerminalViewConnectionManager fConnectionManager;
+ public TerminalActionRemove(ITerminalViewConnectionManager target)
+ {
+ super(null,
+ TerminalActionRemove.class.getName());
+ fConnectionManager=target;
+ setupAction(ActionMessages.REMOVE,
+ ActionMessages.REMOVE,
+ null,
+ ImageConsts.IMAGE_ELCL_REMOVE,
+ ImageConsts.IMAGE_DLCL_REMOVE,
+ true);
+ fConnectionManager.addListener(this);
+ connectionsChanged();
+ }
+ public void run() {
+ fConnectionManager.removeActive();
+ }
+ public void connectionsChanged() {
+ setEnabled(fConnectionManager.size()>1);
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java
new file mode 100644
index 000000000..2a51a4215
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionScrollLock extends TerminalAction
+{
+ public TerminalActionScrollLock(ITerminalView target)
+ {
+ super(target,
+ TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON);
+
+ setupAction(ActionMessages.SCROLL_LOCK_0,
+ ActionMessages.SCROLL_LOCK_1,
+ ImageConsts.IMAGE_CLCL_SCROLL_LOCK,
+ ImageConsts.IMAGE_ELCL_SCROLL_LOCK,
+ ImageConsts.IMAGE_DLCL_SCROLL_LOCK,
+ true);
+ }
+ public void run() {
+ fTarget.setScrollLock(!fTarget.isScrollLock());
+ setChecked(fTarget.isScrollLock());
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java
new file mode 100644
index 000000000..f7b2da77e
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2015 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
+ * Michael Scharf (Wind River) - [172483] switch between connections
+ * (Adapted from org.eclipse.ui.internal.console.ConsoleDropDownAction)
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IMenuCreator;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin;
+
+/**
+ * Drop down action in the console to select the console to display.
+ */
+public class TerminalActionSelectionDropDown extends Action implements IMenuCreator, ITerminalViewConnectionListener {
+ private ITerminalViewConnectionManager fConnections;
+ private Menu fMenu;
+ public TerminalActionSelectionDropDown(ITerminalViewConnectionManager view) {
+ fConnections= view;
+ setText(ActionMessages.ConsoleDropDownAction_0);
+ setToolTipText(ActionMessages.ConsoleDropDownAction_1);
+ setImageDescriptor(TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW));
+// PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION);
+ setMenuCreator(this);
+ fConnections.addListener(this);
+ connectionsChanged();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.IMenuCreator#dispose()
+ */
+ public void dispose() {
+ if (fMenu != null) {
+ fMenu.dispose();
+ }
+ fConnections.removeListener(this);
+ fConnections= null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
+ */
+ public Menu getMenu(Menu parent) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
+ */
+ public Menu getMenu(Control parent) {
+ if (fMenu != null) {
+ fMenu.dispose();
+ }
+
+ fMenu= new Menu(parent);
+ ITerminalViewConnection[] consoles= fConnections.getConnections();
+ ITerminalViewConnection active = fConnections.getActiveConnection();
+ for (int i = 0; i < consoles.length; i++) {
+ ITerminalViewConnection console = consoles[i];
+ Action action = new ShowTerminalConnectionAction(fConnections, console);
+ action.setChecked(console.equals(active));
+ addActionToMenu(fMenu, action, i + 1);
+ }
+ return fMenu;
+ }
+
+ private void addActionToMenu(Menu parent, Action action, int accelerator) {
+ if (accelerator < 10) {
+ StringBuffer label= new StringBuffer();
+ //add the numerical accelerator
+ label.append('&');
+ label.append(accelerator);
+ label.append(' ');
+ label.append(action.getText());
+ action.setText(label.toString());
+ }
+ ActionContributionItem item= new ActionContributionItem(action);
+ item.fill(parent, -1);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.IAction#run()
+ */
+ public void run() {
+ fConnections.swapConnection();
+ }
+
+ public void connectionsChanged() {
+ setEnabled(fConnections.size() > 1);
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java
new file mode 100644
index 000000000..060b856cf
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionSettings extends TerminalAction
+{
+ public TerminalActionSettings(ITerminalView target)
+ {
+ super(target,
+ TerminalActionSettings.class.getName());
+
+ setupAction(ActionMessages.SETTINGS_ELLIPSE,
+ ActionMessages.SETTINGS,
+ ImageConsts.IMAGE_CLCL_SETTINGS,
+ ImageConsts.IMAGE_ELCL_SETTINGS,
+ ImageConsts.IMAGE_DLCL_SETTINGS,
+ true);
+ }
+ public void run() {
+ fTarget.onTerminalSettings();
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java
new file mode 100644
index 000000000..03ab6d067
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2015 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:
+ * Michael Scharf (Wind River) - initial implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.tm.internal.terminal.view.ITerminalView;
+import org.eclipse.tm.internal.terminal.view.ImageConsts;
+
+public class TerminalActionToggleCommandInputField extends TerminalAction
+{
+ public TerminalActionToggleCommandInputField(ITerminalView target)
+ {
+ super(target,
+ TerminalActionToggleCommandInputField.class.getName(),IAction.AS_RADIO_BUTTON);
+
+ setupAction(ActionMessages.TOGGLE_COMMAND_INPUT_FIELD,
+ ActionMessages.TOGGLE_COMMAND_INPUT_FIELD,
+ ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD,
+ ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD,
+ ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD,
+ true);
+ setChecked(fTarget.hasCommandInputField());
+ }
+ public void run() {
+ fTarget.setCommandInputField(!fTarget.hasCommandInputField());
+ setChecked(fTarget.hasCommandInputField());
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java
new file mode 100644
index 000000000..087cd136e
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin
+ * Michael Scharf (Wind River) - [172483] switch between connections
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
+
+public interface ITerminalView {
+
+ /**
+ * Create a new terminal connection within the view.
+ */
+ void onTerminalNewTerminal();
+
+ /**
+ * Programmatically create a new terminal connection within the view. This method
+ * does the same thing as onTerminalNewTerminal, but instead of popping up a settings
+ * dialog to allow the user fill in connection details, a connector is provided as
+ * a parameter. The connector should have all of its details pre-configured so it can
+ * be opened without requiring user input.
+ */
+ void newTerminal(ITerminalConnector c);
+
+ /**
+ * Create a new Terminal view.
+ */
+ void onTerminalNewView();
+
+ void onTerminalConnect();
+ void onTerminalDisconnect();
+ void onTerminalSettings();
+ void onTerminalFontChanged();
+ boolean hasCommandInputField();
+ void setCommandInputField(boolean on);
+ boolean isScrollLock();
+ void setScrollLock(boolean b);
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java
new file mode 100644
index 000000000..1dc39b350
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
+
+/**
+ * Represents a connection. The connection might be connected
+ * or not.
+ *
+ */
+public interface ITerminalViewConnection {
+
+ /**
+ * @return the summary shown in the status line and
+ * in the drop down box of the connections
+ */
+ String getFullSummary();
+
+ /**
+ * @param name the name of the view
+ */
+ void setPartName(String name);
+ /**
+ * @return the name of the view (never null)
+ */
+ String getPartName();
+
+ /**
+ * @return an image that represents this connection
+ */
+ ImageDescriptor getImageDescriptor();
+ /**
+ * @return the control of this connection
+ */
+ ITerminalViewControl getCtlTerminal();
+
+ void saveState(ISettingsStore store);
+
+ void loadState(ISettingsStore store);
+
+ /**
+ * @return true if the input field is visible
+ */
+ boolean hasCommandInputField();
+ /**
+ * @param on turns the input field on
+ */
+ void setCommandInputField(boolean on);
+
+ /**
+ * @param state changes of the state (might change the summary)
+ */
+ void setState(TerminalState state);
+
+ /**
+ * @param title used in the summary. If null the summary
+ * is created automatically
+ */
+ void setTerminalTitle(String title);
+
+ /**
+ * TODO: legacy (needed to read the old state)
+ * @param summary
+ */
+ void setSummary(String summary);
+ /**
+ * @param encoding the encoding of this connection
+ */
+ void setEncoding(String encoding);
+
+ /**
+ * @return the encoding of this connection
+ */
+ String getEncoding();
+} \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java
new file mode 100644
index 000000000..3d3a25fed
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+
+
+/**
+ * Supports multiple connections
+ *
+ */
+public interface ITerminalViewConnectionManager {
+ /**
+ * Notifies any change in the state of the connections:
+ * <ul>
+ * <li> a connection is added or removed
+ * <li> the active connection has changed
+ * </ul>
+ *
+ */
+ interface ITerminalViewConnectionListener {
+ void connectionsChanged();
+ }
+ /**
+ * Used to create instances of the ITerminalViewConnection
+ * when the state is read from the {@link ISettings}
+ *
+ */
+ interface ITerminalViewConnectionFactory {
+ ITerminalViewConnection create();
+ }
+ /**
+ * @return a list of all connections this view can display
+ */
+ ITerminalViewConnection[] getConnections();
+ /**
+ * @return the number of connections
+ */
+ int size();
+ /**
+ * @return th connection the view is showing at the moment
+ */
+ ITerminalViewConnection getActiveConnection();
+
+ /**
+ * @param conn make this connection the active connection
+ */
+ void setActiveConnection(ITerminalViewConnection conn);
+ /**
+ * If more than two connections are available, remove the active connection
+ */
+ void removeActive();
+
+ /**
+ * @param conn adds a new connection
+ */
+ void addConnection(ITerminalViewConnection conn);
+
+ /**
+ * If there are more than two connections toggle between this and the
+ * previously shown connection
+ */
+ void swapConnection();
+
+ void addListener(ITerminalViewConnectionListener listener);
+ void removeListener(ITerminalViewConnectionListener listener);
+
+ void saveState(ISettingsStore store);
+ /**
+ * @param store
+ * @param factory used to create new {@link ITerminalViewConnection}
+ */
+ void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory);
+
+} \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java
new file mode 100644
index 000000000..d6761b1ed
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - extracted from TerminalConsts
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
+ * Michael Scharf (Wind River) - [172483] added some more icons
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+public interface ImageConsts
+{
+ public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$
+ public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$
+ public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$
+ public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$
+ public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$
+ public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$
+
+ public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$
+ public static final String IMAGE_TERMINAL_VIEW = "TerminalView"; //$NON-NLS-1$
+ public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$
+ public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$
+ public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$
+ public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$
+
+ public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$
+ public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$
+ public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$
+ public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$
+ public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$
+
+ public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$
+ public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$
+ public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$
+ public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$
+ public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$
+ public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$
+ public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
+ public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
+ }
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java
new file mode 100644
index 000000000..637634d0c
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2015 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:
+ * Michael Scharf (Wind River) - simplified implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * A pagebook is a composite control where only a single control is visible at a
+ * time. It is similar to a notebook, but without tabs.
+ *
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class PageBook extends Composite {
+ private StackLayout fLayout;
+ public PageBook(Composite parent, int style) {
+ super(parent, style);
+ fLayout= new StackLayout();
+ setLayout(fLayout);
+ }
+ public void showPage(Control page) {
+ fLayout.topControl= page;
+ layout();
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java
new file mode 100644
index 000000000..fb1f9a0ef
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+
+public class SettingStorePrefixDecorator implements ISettingsStore {
+ private final String fPrefix;
+ private final ISettingsStore fStore;
+ SettingStorePrefixDecorator(ISettingsStore store,String prefix) {
+ fPrefix=prefix;
+ fStore=store;
+ }
+
+ public String get(String key) {
+ return fStore.get(fPrefix+key);
+ }
+
+ public String get(String key, String defaultValue) {
+ return fStore.get(fPrefix+key,defaultValue);
+ }
+
+ public void put(String key, String value) {
+ fStore.put(fPrefix+key,value);
+ }
+
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java
new file mode 100644
index 000000000..fa6b52add
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+import org.eclipse.ui.IMemento;
+
+/**
+ * A {@link IDialogSettings} based {@link ISettingsStore}.
+ *
+ * Setting Store based on IMemento. IMemento documentations says only alpha numeric
+ * values may be used as keys. Therefore the implementation converts dots (.) into
+ * child elements of the memento.
+ *
+ * @author Michael Scharf
+ */
+class SettingsStore implements ISettingsStore {
+
+ private static final String KEYS = "_keys_"; //$NON-NLS-1$
+ final private Map fMap=new HashMap();
+ public SettingsStore(IMemento memento) {
+ if(memento==null)
+ return;
+ // load all keys ever used from the memento
+ String keys=memento.getString(KEYS);
+ if(keys!=null) {
+ String[] keyNames=keys.split(","); //$NON-NLS-1$
+ for (int i = 0; i < keyNames.length; i++) {
+ String key=keyNames[i];
+ if(!KEYS.equals(key)) {
+ // get the dot separated elements
+ String[] path=key.split("\\."); //$NON-NLS-1$
+ IMemento m=memento;
+ // iterate over all but the last segment and get the children...
+ for(int iPath=0; m!=null && iPath+1<path.length; iPath++) {
+ m=m.getChild(path[iPath]);
+ }
+ if(m!=null) {
+ // cache the value in the map
+ fMap.put(key,m.getString(path[path.length-1]));
+ }
+ }
+ }
+ }
+ }
+
+ public String get(String key) {
+ return get(key,null);
+ }
+ public String get(String key, String defaultValue) {
+ String value = (String) fMap.get(key);
+ if ((value == null) || (value.equals(""))) //$NON-NLS-1$
+ return defaultValue;
+
+ return value;
+ }
+
+ public void put(String key, String value) {
+ if(!key.matches("^[\\w.]+$")) //$NON-NLS-1$
+ throw new IllegalArgumentException("Key '"+key+"' is not alpha numeric or '.'!"); //$NON-NLS-1$ //$NON-NLS-2$
+ // null values remove the key from the map
+ if ((value == null) || (value.equals(""))) //$NON-NLS-1$
+ fMap.remove(key);
+ else
+ fMap.put(key, value);
+ }
+ /**
+ * Save the state into memento.
+ *
+ * @param memento Memento to save state into.
+ */
+ public void saveState(IMemento memento) {
+ String[] keyNames=(String[]) fMap.keySet().toArray(new String[fMap.size()]);
+ Arrays.sort(keyNames);
+ StringBuffer buffer=new StringBuffer();
+ for (int i = 0; i < keyNames.length; i++) {
+ String key=keyNames[i];
+ String[] path=key.split("\\."); //$NON-NLS-1$
+ IMemento m=memento;
+ // iterate over all but the last segment and get the children...
+ for(int iPath=0; iPath+1<path.length; iPath++) {
+ IMemento child=m.getChild(path[iPath]);
+ // if the child does not exist, create it
+ if(child==null)
+ child=m.createChild(path[iPath]);
+ m=child;
+ }
+ // use the last element in path as key of the child memento
+ m.putString(path[path.length-1], (String) fMap.get(key));
+ // construct the string for the keys
+ if(i>0)
+ buffer.append(","); //$NON-NLS-1$
+ buffer.append(key);
+ }
+ // save the keys we have used.
+ memento.putString(KEYS, buffer.toString());
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java
new file mode 100644
index 000000000..7a9789049
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java
@@ -0,0 +1,423 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox
+ * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs
+ * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings
+ * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point
+ * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.IllegalCharsetNameException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
+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.internal.terminal.provisional.api.ITerminalConnector;
+import org.eclipse.ui.PlatformUI;
+
+class TerminalSettingsDlg extends Dialog {
+ private Combo fEncodingCombo;
+ private Combo fCtlConnTypeCombo;
+ private Text fTerminalTitleText;
+ private final ITerminalConnector[] fConnectors;
+ private final ISettingsPage[] fPages;
+ /**
+ * Maps the fConnectors index to the fPages index
+ */
+ private final int[] fPageIndex;
+ private int fNPages;
+ private int fSelectedConnector;
+ private PageBook fPageBook;
+ private IDialogSettings fDialogSettings;
+ private String fTerminalTitle;
+ private String fTitle=ViewMessages.TERMINALSETTINGS;
+ private String fEncoding;
+
+ public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) {
+ super(shell);
+ fConnectors=getValidConnectors(connectors);
+ fPages=new ISettingsPage[fConnectors.length];
+ fPageIndex=new int[fConnectors.length];
+ fSelectedConnector=-1;
+ for (int i = 0; i < fConnectors.length; i++) {
+ if(fConnectors[i]==connector)
+ fSelectedConnector=i;
+ }
+ }
+ public void setTitle(String title) {
+ fTitle=title;
+ }
+ /**
+ * @param connectors
+ * @return connectors excluding connectors with errors
+ */
+ private ITerminalConnector[] getValidConnectors(ITerminalConnector[] connectors) {
+ List list=new ArrayList(Arrays.asList(connectors));
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ ITerminalConnector info = (ITerminalConnector) iterator.next();
+ if(info.isInitialized() && info.getInitializationErrorMessage()!=null || info.isHidden())
+ iterator.remove();
+ }
+ connectors=(ITerminalConnector[]) list.toArray(new ITerminalConnector[list.size()]);
+ return connectors;
+ }
+ ISettingsPage getPage(int i) {
+ if(fPages[i]==null) {
+ if(fConnectors[i].getInitializationErrorMessage()!=null) {
+ // create a error message
+ final ITerminalConnector conn=fConnectors[i];
+ fPages[i]=new ISettingsPage(){
+ public void createControl(Composite parent) {
+ Label l=new Label(parent,SWT.WRAP);
+ String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName());
+ l.setText(error);
+ l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED));
+ String msg = NLS.bind(ViewMessages.CANNOT_INITIALIZE, conn.getName(), conn.getInitializationErrorMessage());
+ // [168197] Replace JFace MessagDialog by SWT MessageBox
+ //MessageDialog.openError(getShell(), error, msg);
+ MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK);
+ mb.setText(error);
+ mb.setMessage(msg);
+ mb.open();
+ }
+ public void loadSettings() {}
+ public void saveSettings() {}
+ public boolean validateSettings() {return false;}
+ public void addListener(Listener listener) {}
+ public void removeListener(Listener listener) {}
+ };
+ } else {
+ fPages[i]=fConnectors[i].makeSettingsPage();
+ }
+ // TODO: what happens if an error occurs while
+ // the control is partly created?
+ fPages[i].createControl(fPageBook);
+ fPageIndex[i]=fNPages++;
+ resize();
+ }
+ return fPages[i];
+
+ }
+ void resize() {
+ Point size=getShell().getSize();
+ Point newSize=getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT,true);
+ newSize.x=Math.max(newSize.x,size.x);
+ newSize.y=Math.max(newSize.y,size.y);
+ if(newSize.x!=size.x || newSize.y!=size.y) {
+ setShellSize(newSize);
+ } else {
+ fPageBook.getParent().layout();
+ }
+ }
+ /**
+ * Increase the size of this dialog's <code>Shell</code> by the specified amounts.
+ * Do not increase the size of the Shell beyond the bounds of the Display.
+ */
+ protected void setShellSize(Point size) {
+ Rectangle bounds = getShell().getMonitor().getClientArea();
+ getShell().setSize(Math.min(size.x, bounds.width), Math.min(size.y, bounds.height));
+ }
+
+ protected void okPressed() {
+ if (!validateSettings()) {
+ showErrorMessage(ViewMessages.INVALID_SETTINGS);
+ return;
+ }
+ if (!updateValidState()) {
+ showErrorMessage(ViewMessages.ENCODING_NOT_AVAILABLE);
+ return;
+ }
+ if(fSelectedConnector>=0) {
+ getPage(fSelectedConnector).saveSettings();
+ }
+ fTerminalTitle=fTerminalTitleText.getText();
+ fEncoding = fEncodingCombo.getText();
+ super.okPressed();
+ }
+ protected void cancelPressed() {
+ fSelectedConnector=-1;
+ super.cancelPressed();
+ }
+ public int open() {
+ setShellStyle(getShellStyle() | SWT.RESIZE);
+ return super.open();
+ }
+ protected void configureShell(Shell newShell) {
+ super.configureShell(newShell);
+
+ newShell.setText(fTitle);
+ }
+ protected Control createDialogArea(Composite parent) {
+ Composite ctlComposite = (Composite) super.createDialogArea(parent);
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(ctlComposite, TerminalViewPlugin.HELPPREFIX + "terminal_settings"); //$NON-NLS-1$
+
+ setupPanel(ctlComposite);
+ setupListeners();
+ initFields();
+
+ return ctlComposite;
+ }
+ public void create() {
+ super.create();
+ // initialize the OK button after creating the all dialog elements
+ updateOKButton();
+ }
+ private void initFields() {
+ // Load controls
+ for (int i = 0; i < fConnectors.length; i++) {
+ fCtlConnTypeCombo.add(fConnectors[i].getName());
+ }
+ int selectedConnector=getInitialConnector();
+ if(selectedConnector>=0) {
+ fCtlConnTypeCombo.select(selectedConnector);
+ selectPage(selectedConnector);
+ }
+ doLoad();
+ setCombo(fEncodingCombo, fEncoding);
+ }
+ /**
+ * @return the connector to show when the dialog opens
+ */
+ private int getInitialConnector() {
+ // if there is a selection, use it
+ if(fSelectedConnector>=0)
+ return fSelectedConnector;
+ // try the telnet connector, because it is the cheapest
+ for (int i = 0; i < fConnectors.length; i++) {
+ if("org.eclipse.tm.internal.terminal.telnet.TelnetConnector".equals(fConnectors[i].getId())) //$NON-NLS-1$
+ return i;
+ }
+ // if no telnet connector available, use the first one in the list
+ if(fConnectors.length>0)
+ return 0;
+ return -1;
+ }
+ private boolean validateSettings() {
+ if(fSelectedConnector<0)
+ return true;
+ return getPage(fSelectedConnector).validateSettings();
+ }
+ private void setupPanel(Composite wndParent) {
+ setupSettingsTypePanel(wndParent);
+ //setupEncodingPanel(wndParent);
+ if(fConnectors.length>0) {
+ setupConnTypePanel(wndParent);
+ setupSettingsGroup(wndParent);
+ }
+ }
+ private void setupSettingsTypePanel(Composite wndParent) {
+ Group wndGroup;
+ GridLayout gridLayout;
+
+ wndGroup = new Group(wndParent, SWT.NONE);
+ gridLayout = new GridLayout(2, false);
+ wndGroup.setLayout(gridLayout);
+ wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ wndGroup.setText(ViewMessages.VIEW_SETTINGS);
+
+
+ Label label=new Label(wndGroup,SWT.NONE);
+ label.setText(ViewMessages.VIEW_TITLE);
+ label.setLayoutData(new GridData(GridData.BEGINNING));
+
+ fTerminalTitleText = new Text(wndGroup, SWT.BORDER);
+ fTerminalTitleText.setText(fTerminalTitle);
+ fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ Label encodingLabel=new Label(wndGroup,SWT.NONE);
+ encodingLabel.setText(ViewMessages.ENCODING);
+ encodingLabel.setLayoutData(new GridData(GridData.BEGINNING));
+
+ fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN);
+ fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ }
+ private void setupConnTypePanel(Composite wndParent) {
+ Group wndGroup;
+ GridLayout gridLayout;
+ GridData gridData;
+
+ wndGroup = new Group(wndParent, SWT.NONE);
+ gridLayout = new GridLayout(1, true);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+
+ wndGroup.setLayout(gridLayout);
+ wndGroup.setLayoutData(gridData);
+ wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$
+
+ fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.widthHint = 200;
+ fCtlConnTypeCombo.setLayoutData(gridData);
+ }
+
+ private void setupSettingsGroup(Composite parent) {
+ Group group = new Group(parent, SWT.NONE);
+ group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$
+ group.setLayout(new GridLayout());
+ group.setLayoutData(new GridData(GridData.FILL_BOTH));
+ fPageBook=new PageBook(group,SWT.NONE);
+ fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ }
+
+ private void setupListeners() {
+ if(fCtlConnTypeCombo==null)
+ return;
+ fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent event) {
+ selectPage(fCtlConnTypeCombo.getSelectionIndex());
+ }
+ });
+ }
+ public ITerminalConnector getConnector() {
+ if(fSelectedConnector>=0)
+ return fConnectors[fSelectedConnector];
+ return null;
+ }
+ private void selectPage(int index) {
+ fSelectedConnector=index;
+ getPage(index);
+ Control[] pages=fPageBook.getChildren();
+ fPageBook.showPage(pages[fPageIndex[fSelectedConnector]]);
+ updateOKButton();
+
+ }
+ /**
+ * enables the OK button if the user can create a connection
+ */
+ private void updateOKButton() {
+ // TODO: allow contributions to enable the OK button
+ // enable the OK button if we have a valid connection selected
+ if(getButton(IDialogConstants.OK_ID)!=null) {
+ boolean enable=false;
+ if(getConnector()!=null)
+ enable=getConnector().getInitializationErrorMessage()==null;
+ // enable the OK button if no connectors are available
+ if(!enable && fConnectors.length==0)
+ enable=true;
+ getButton(IDialogConstants.OK_ID).setEnabled(enable);
+ }
+ }
+ protected IDialogSettings getDialogBoundsSettings() {
+ IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings();
+ fDialogSettings = ds.getSection(getClass().getName());
+ if (fDialogSettings == null) {
+ fDialogSettings = ds.addNewSection(getClass().getName());
+ }
+ return fDialogSettings;
+ }
+ public void setTerminalTitle(String partName) {
+ fTerminalTitle=partName;
+
+ }
+ public String getTerminalTitle() {
+ return fTerminalTitle;
+ }
+ private void doLoad() {
+ if (fEncodingCombo != null) {
+ List encodings = new ArrayList();
+ encodings.add("ISO-8859-1"); //$NON-NLS-1$
+ encodings.add("UTF-8"); //$NON-NLS-1$
+ //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding
+ //String hostEncoding =Charset.defaultCharset().displayName();
+ String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding();
+ if (!encodings.contains(hostEncoding))
+ encodings.add(hostEncoding);
+ populateEncodingsCombo(encodings);
+
+ }
+ }
+ private void populateEncodingsCombo(List encodings) {
+ String[] encodingStrings = new String[encodings.size()];
+ encodings.toArray(encodingStrings);
+ fEncodingCombo.setItems(encodingStrings);
+ }
+ private boolean isEncodingValid() {
+ return isValidEncoding(fEncodingCombo.getText());
+ }
+ private boolean isValidEncoding(String enc) {
+ try {
+ return Charset.isSupported(enc);
+ } catch (IllegalCharsetNameException e) {
+ return false;
+ }
+
+ }
+ private boolean updateValidState() {
+ boolean isValid = true;
+ boolean isValidNow = isEncodingValid();
+ if (isValidNow != isValid) {
+ isValid = isValidNow;
+ }
+ return isValid;
+ }
+ private void showErrorMessage(String message) {
+ String strTitle = ViewMessages.TERMINALSETTINGS;
+ MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK);
+ mb.setText(strTitle);
+ mb.setMessage(message);
+ mb.open();
+ return;
+ }
+
+ private void setCombo(Combo combo,String value) {
+ if(value==null)
+ return;
+ int nIndex = combo.indexOf(value);
+ if (nIndex == -1) {
+ if((combo.getStyle() & SWT.READ_ONLY)==0) {
+ combo.add(value);
+ nIndex = combo.indexOf(value);
+ } else {
+ return;
+ }
+ }
+
+ combo.select(nIndex);
+
+ }
+ public String getEncoding() {
+ return fEncoding;
+ }
+ public void setEncoding(String fEncoding) {
+ this.fEncoding = fEncoding;
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
new file mode 100644
index 000000000..029a80091
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
@@ -0,0 +1,709 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED
+ * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3
+ * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field.
+ * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal
+ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
+ * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs
+ * Michael Scharf (Wind River) - [172483] switch between connections
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank
+ * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference
+ * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
+ * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock
+ * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+ * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
+ * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MenuEvent;
+import org.eclipse.swt.events.MenuListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.tm.internal.terminal.actions.TerminalAction;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionScrollLock;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings;
+import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField;
+import org.eclipse.tm.internal.terminal.control.ITerminalListener;
+import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
+import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory;
+import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll;
+import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy;
+import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut;
+import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste;
+import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll;
+import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants;
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
+import org.eclipse.tm.internal.terminal.provisional.api.LayeredSettingsStore;
+import org.eclipse.tm.internal.terminal.provisional.api.Logger;
+import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore;
+import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension;
+import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory;
+import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IViewReference;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.ViewPart;
+
+public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener {
+ private static final String PREF_CONNECTORS = "Connectors."; //$NON-NLS-1$
+
+ private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$
+
+ private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$
+
+ private static final String STORE_TITLE = "Title"; //$NON-NLS-1$
+
+ public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION;
+
+ protected ITerminalViewControl fCtlTerminal;
+
+ // TODO (scharf): this decorator is only there to deal wit the common
+ // actions. Find a better solution.
+ TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator();
+
+ protected TerminalAction fActionTerminalNewTerminal;
+
+ protected TerminalAction fActionTerminalConnect;
+
+ private TerminalAction fActionTerminalScrollLock;
+
+ protected TerminalAction fActionTerminalDisconnect;
+
+ protected TerminalAction fActionTerminalSettings;
+
+ protected TerminalActionCopy fActionEditCopy;
+
+ protected TerminalActionCut fActionEditCut;
+
+ protected TerminalActionPaste fActionEditPaste;
+
+ protected TerminalActionClearAll fActionEditClearAll;
+
+ protected TerminalActionSelectAll fActionEditSelectAll;
+
+ protected TerminalAction fActionToggleCommandInputField;
+
+ protected TerminalPropertyChangeHandler fPropertyChangeHandler;
+
+ protected Action fActionTerminalDropDown;
+ protected Action fActionTerminalRemove;
+
+ protected boolean fMenuAboutToShow;
+
+ private SettingsStore fStore;
+
+ private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager();
+
+ private PageBook fPageBook;
+
+ /**
+ * This listener updates both, the view and the
+ * ITerminalViewConnection.
+ *
+ */
+ class TerminalListener implements ITerminalListener {
+ volatile ITerminalViewConnection fConnection;
+ void setConnection(ITerminalViewConnection connection) {
+ fConnection=connection;
+ }
+ public void setState(final TerminalState state) {
+ runInDisplayThread(new Runnable() {
+ public void run() {
+ fConnection.setState(state);
+ // if the active connection changes, update the view
+ if(fConnection==fMultiConnectionManager.getActiveConnection()) {
+ updateStatus();
+ }
+ }
+ });
+ }
+ public void setTerminalTitle(final String title) {
+ runInDisplayThread(new Runnable() {
+ public void run() {
+ fConnection.setTerminalTitle(title);
+ // if the active connection changes, update the view
+ if(fConnection==fMultiConnectionManager.getActiveConnection()) {
+ updateSummary();
+ }
+ }
+ });
+ }
+ /**
+ * @param runnable run in display thread
+ */
+ private void runInDisplayThread(Runnable runnable) {
+ if(Display.findDisplay(Thread.currentThread())!=null)
+ runnable.run();
+ else if(PlatformUI.isWorkbenchRunning())
+ PlatformUI.getWorkbench().getDisplay().syncExec(runnable);
+ // else should not happen and we ignore it...
+ }
+
+ }
+
+ public TerminalView() {
+ Logger
+ .log("==============================================================="); //$NON-NLS-1$
+ fMultiConnectionManager.addListener(this);
+ }
+
+ /**
+ * @param title
+ * @return a unique part name
+ */
+ String findUniqueTitle(String title) {
+ IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+ String id= getViewSite().getId();
+ Set names=new HashSet();
+ for (int i = 0; i < pages.length; i++) {
+ IViewReference[] views = pages[i].getViewReferences();
+ for (int j = 0; j < views.length; j++) {
+ IViewReference view = views[j];
+ // only look for views with the same ID
+ if(id.equals(view.getId())) {
+ String name=view.getTitle();
+ if(name!=null)
+ names.add(view.getPartName());
+ }
+ }
+ }
+ // find a unique name
+ int i=1;
+ String uniqueTitle=title;
+ while(true) {
+ if(!names.contains(uniqueTitle))
+ return uniqueTitle;
+ uniqueTitle=title+" "+i++; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * Display a new Terminal view. This method is called when the user clicks the New
+ * Terminal button in any Terminal view's toolbar.
+ */
+ public void onTerminalNewTerminal() {
+ Logger.log("creating new Terminal instance."); //$NON-NLS-1$
+ setupControls();
+ if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) {
+ fMultiConnectionManager.removeActive();
+ }
+ }
+
+ /**
+ * Programmatically create a new terminal connection within the view. This method
+ * does the same thing as onTerminalNewTerminal, but instead of popping up a settings
+ * dialog to allow the user fill in connection details, a connector is provided as
+ * a parameter. The connector should have all of its details pre-configured so it can
+ * be opened without requiring user input.
+ */
+ public void newTerminal(ITerminalConnector c) {
+ this.setupControls();
+ if(c!=null) {
+ this.setConnector(c);
+ this.onTerminalConnect();
+ }
+ }
+
+ public void onTerminalNewView() {
+ try {
+ // The second argument to showView() is a unique String identifying the
+ // secondary view instance. If it ever matches a previously used secondary
+ // view identifier, then this call will not create a new Terminal view,
+ // which is undesirable. Therefore, we append the active time in
+ // milliseconds to the secondary view identifier to ensure it is always
+ // unique. This code runs only when the user clicks the New Terminal
+ // button, so there is no risk that this code will run twice in a single
+ // millisecond.
+ IViewPart newTerminalView = getSite().getPage().showView(
+ "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$
+ "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$
+ IWorkbenchPage.VIEW_ACTIVATE);
+ if(newTerminalView instanceof ITerminalView) {
+ ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW);
+ // if there is no connector selected, hide the new view
+ if(c==null) {
+ getSite().getPage().hideView(newTerminalView);
+ }
+ }
+ } catch (PartInitException ex) {
+ Logger.logException(ex);
+ }
+ }
+
+
+ public void onTerminalConnect() {
+ //if (isConnected())
+ if (fCtlTerminal.getState()!=TerminalState.CLOSED)
+ return;
+ if(fCtlTerminal.getTerminalConnector()==null)
+ setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS));
+ setEncoding(getActiveConnection().getEncoding());
+ fCtlTerminal.connectTerminal();
+ }
+
+ public void updateStatus() {
+ updateTerminalConnect();
+ updateTerminalDisconnect();
+ updateTerminalSettings();
+ fActionToggleCommandInputField.setChecked(hasCommandInputField());
+ fActionTerminalScrollLock.setChecked(isScrollLock());
+ updateSummary();
+ }
+
+ public void updateTerminalConnect() {
+ //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected()));
+ boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED);
+
+ fActionTerminalConnect.setEnabled(bEnabled);
+ }
+
+ private boolean isConnecting() {
+ return fCtlTerminal.getState()==TerminalState.CONNECTING;
+ }
+
+ public void onTerminalDisconnect() {
+ fCtlTerminal.disconnectTerminal();
+ }
+
+ public void updateTerminalDisconnect() {
+ boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected()));
+ fActionTerminalDisconnect.setEnabled(bEnabled);
+ }
+
+ public void onTerminalSettings() {
+ newConnection(null);
+ }
+
+ private ITerminalConnector newConnection(String title) {
+ ITerminalConnector c=showSettingsDialog(title);
+ if(c!=null) {
+ setConnector(c);
+ onTerminalConnect();
+ }
+ return c;
+ }
+
+ private ITerminalConnector showSettingsDialog(String title) {
+ // When the settings dialog is opened, load the Terminal settings from the
+ // persistent settings.
+
+ ITerminalConnector[] connectors = fCtlTerminal.getConnectors();
+ if(fCtlTerminal.getState()!=TerminalState.CLOSED)
+ connectors=new ITerminalConnector[0];
+ // load the state from the settings
+ // first load from fStore and then from the preferences.
+ ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors);
+ // if we have no connector show the one from the settings
+ if(fCtlTerminal.getTerminalConnector()!=null)
+ c=fCtlTerminal.getTerminalConnector();
+ TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c);
+ dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName());
+ dlgTerminalSettings.setEncoding(getActiveConnection().getEncoding());
+ if(title!=null)
+ dlgTerminalSettings.setTitle(title);
+ Logger.log("opening Settings dialog."); //$NON-NLS-1$
+
+ if (dlgTerminalSettings.open() == Window.CANCEL) {
+ Logger.log("Settings dialog cancelled."); //$NON-NLS-1$
+ return null;
+ }
+
+ Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$
+
+ // When the settings dialog is closed, we persist the Terminal settings.
+ saveSettings(fStore,dlgTerminalSettings.getConnector());
+ // we also save it in the preferences. This will keep the last change
+ // made to this connector as default...
+ saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector());
+
+ setViewTitle(dlgTerminalSettings.getTerminalTitle());
+ setEncoding(dlgTerminalSettings.getEncoding());
+ return dlgTerminalSettings.getConnector();
+ }
+
+ private void setEncoding(String encoding) {
+ getActiveConnection().setEncoding(encoding);
+ updateSummary();
+ }
+
+ private void setConnector(ITerminalConnector connector) {
+ fCtlTerminal.setConnector(connector);
+ }
+
+ public void updateTerminalSettings() {
+// fActionTerminalSettings.setEnabled((fCtlTerminal.getState()==TerminalState.CLOSED));
+ }
+ private void setViewTitle(String title) {
+ setPartName(title);
+ getActiveConnection().setPartName(title);
+ }
+ private void setViewSummary(String summary) {
+ setContentDescription(summary);
+ getViewSite().getActionBars().getStatusLineManager().setMessage(
+ summary);
+ setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$
+
+ }
+ public void updateSummary() {
+ setViewSummary(getActiveConnection().getFullSummary());
+ }
+
+ public void onTerminalFontChanged() {
+ // set the font for all - empty hook for extenders
+ }
+
+ // ViewPart interface
+
+ public void createPartControl(Composite wndParent) {
+ // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key
+ // sequence.
+
+ fPageBook=new PageBook(wndParent,SWT.NONE);
+ ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$
+ fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() {
+ public ITerminalViewConnection create() {
+ return makeViewConnection();
+ }
+ });
+ // if there is no connection loaded, create at least one
+ // needed to read old states from the old terminal
+ if(fMultiConnectionManager.size()==0) {
+ ITerminalViewConnection conn = makeViewConnection();
+ fMultiConnectionManager.addConnection(conn);
+ fMultiConnectionManager.setActiveConnection(conn);
+ fPageBook.showPage(fCtlTerminal.getRootControl());
+ }
+ setTerminalControl(fMultiConnectionManager.getActiveConnection().getCtlTerminal());
+ setViewTitle(findUniqueTitle(ViewMessages.PROP_TITLE));
+ setupActions();
+ setupLocalToolBars();
+ // setup all context menus
+ ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections();
+ for (int i = 0; i < conn.length; i++) {
+ setupContextMenus(conn[i].getCtlTerminal().getControl());
+ }
+ setupListeners(wndParent);
+
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$
+
+ legacyLoadState();
+ legacySetTitle();
+
+ refresh();
+ onTerminalFontChanged();
+
+ }
+
+ public void dispose() {
+ Logger.log("entered."); //$NON-NLS-1$
+
+ JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler);
+
+ // dispose all connections
+ ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections();
+ for (int i = 0; i < conn.length; i++) {
+ conn[i].getCtlTerminal().disposeTerminal();
+ }
+ super.dispose();
+ }
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ public void setFocus() {
+ fCtlTerminal.setFocus();
+ }
+
+ /**
+ * This method creates the top-level control for the Terminal view.
+ */
+ protected void setupControls() {
+ ITerminalViewConnection conn = makeViewConnection();
+ fMultiConnectionManager.addConnection(conn);
+ fMultiConnectionManager.setActiveConnection(conn);
+ setupContextMenus(fCtlTerminal.getControl());
+ }
+
+ private ITerminalViewConnection makeViewConnection() {
+ ITerminalConnector[] connectors = makeConnectors();
+ TerminalListener listener=new TerminalListener();
+ ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true);
+ setTerminalControl(ctrl);
+ ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal);
+ listener.setConnection(conn);
+ conn.setPartName(getPartName());
+ // load from settings
+ ITerminalConnector connector = loadSettings(fStore,connectors);
+ // set the connector....
+ ctrl.setConnector(connector);
+
+ return conn;
+ }
+
+ /**
+ * @param store contains the data
+ * @param connectors loads the data from store
+ * @return null or the currently selected connector
+ */
+ private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) {
+ ITerminalConnector connector=null;
+ String connectionType=store.get(STORE_CONNECTION_TYPE);
+ for (int i = 0; i < connectors.length; i++) {
+ connectors[i].load(getStore(store,connectors[i]));
+ if(connectors[i].getId().equals(connectionType))
+ connector=connectors[i];
+ }
+ return connector;
+ }
+
+ /**
+ * @return a list of connectors this view can use
+ */
+ protected ITerminalConnector[] makeConnectors() {
+ ITerminalConnector[] connectors=TerminalConnectorExtension.makeTerminalConnectors();
+ return connectors;
+ }
+
+ /**
+ * The preference setting store is used to save the settings that are
+ * shared between all views.
+ * @return the settings store for the connection based on the preferences.
+ *
+ */
+ private PreferenceSettingStore getPreferenceSettingsStore() {
+ return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS);
+ }
+ /**
+ * @param store the settings will be saved in this store
+ * @param connector the connector that will be saved. Can be null.
+ */
+ private void saveSettings(ISettingsStore store, ITerminalConnector connector) {
+ if(connector!=null) {
+ connector.save(getStore(store, connector));
+ // the last saved connector becomes the default
+ store.put(STORE_CONNECTION_TYPE,connector.getId());
+ }
+
+ }
+ public void init(IViewSite site, IMemento memento) throws PartInitException {
+ super.init(site, memento);
+ fStore=new SettingsStore(memento);
+ }
+ public void saveState(IMemento memento) {
+ super.saveState(memento);
+ fStore.put(STORE_TITLE,getPartName());
+ fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$
+ fStore.saveState(memento);
+ }
+ private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) {
+ return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$
+ }
+
+ protected void setupActions() {
+ fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager);
+ fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager);
+ fActionTerminalNewTerminal = new TerminalActionNewTerminal(this);
+ fActionTerminalScrollLock = new TerminalActionScrollLock(this);
+ fActionTerminalConnect = new TerminalActionConnect(this);
+ fActionTerminalDisconnect = new TerminalActionDisconnect(this);
+ fActionTerminalSettings = new TerminalActionSettings(this);
+ fActionEditCopy = new TerminalActionCopy(fCtlDecorator);
+ fActionEditCut = new TerminalActionCut(fCtlDecorator);
+ fActionEditPaste = new TerminalActionPaste(fCtlDecorator);
+ fActionEditClearAll = new TerminalActionClearAll(fCtlDecorator);
+ fActionEditSelectAll = new TerminalActionSelectAll(fCtlDecorator);
+ fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this);
+ }
+ protected void setupLocalToolBars() {
+ IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager();
+
+ toolBarMgr.add(fActionTerminalConnect);
+ toolBarMgr.add(fActionTerminalDisconnect);
+ toolBarMgr.add(fActionTerminalSettings);
+ toolBarMgr.add(fActionToggleCommandInputField);
+ toolBarMgr.add(fActionTerminalScrollLock);
+ toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$
+ toolBarMgr.add(fActionTerminalDropDown);
+ toolBarMgr.add(fActionTerminalNewTerminal);
+ toolBarMgr.add(fActionTerminalRemove);
+ }
+
+ protected void setupContextMenus(Control ctlText) {
+ MenuManager menuMgr;
+ Menu menu;
+ TerminalContextMenuHandler contextMenuHandler;
+
+ menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
+ menu = menuMgr.createContextMenu(ctlText);
+ loadContextMenus(menuMgr);
+ contextMenuHandler = new TerminalContextMenuHandler();
+
+ ctlText.setMenu(menu);
+ menuMgr.addMenuListener(contextMenuHandler);
+ menu.addMenuListener(contextMenuHandler);
+ }
+
+ protected void loadContextMenus(IMenuManager menuMgr) {
+ menuMgr.add(fActionEditCopy);
+ menuMgr.add(fActionEditPaste);
+ menuMgr.add(new Separator());
+ menuMgr.add(fActionEditClearAll);
+ menuMgr.add(fActionEditSelectAll);
+ menuMgr.add(new Separator());
+ menuMgr.add(fActionToggleCommandInputField);
+ menuMgr.add(fActionTerminalScrollLock);
+
+
+ // Other plug-ins can contribute there actions here
+ menuMgr.add(new Separator("Additions")); //$NON-NLS-1$
+ }
+
+ protected void setupListeners(Composite wndParent) {
+ fPropertyChangeHandler = new TerminalPropertyChangeHandler();
+ JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler);
+ }
+
+ protected class TerminalContextMenuHandler implements MenuListener, IMenuListener {
+ public void menuHidden(MenuEvent event) {
+ fMenuAboutToShow = false;
+ fActionEditCopy.updateAction(fMenuAboutToShow);
+ }
+
+ public void menuShown(MenuEvent e) {
+ //
+ }
+ public void menuAboutToShow(IMenuManager menuMgr) {
+ fMenuAboutToShow = true;
+ fActionEditCopy.updateAction(fMenuAboutToShow);
+ fActionEditCut.updateAction(fMenuAboutToShow);
+ fActionEditSelectAll.updateAction(fMenuAboutToShow);
+ fActionEditPaste.updateAction(fMenuAboutToShow);
+ fActionEditClearAll.updateAction(fMenuAboutToShow);
+ }
+ }
+
+ protected class TerminalPropertyChangeHandler implements IPropertyChangeListener {
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(FONT_DEFINITION)) {
+ onTerminalFontChanged();
+ }
+ }
+ }
+
+ public boolean hasCommandInputField() {
+ return getActiveConnection().hasCommandInputField();
+ }
+
+ public void setCommandInputField(boolean on) {
+ getActiveConnection().setCommandInputField(on);
+ }
+
+ public boolean isScrollLock() {
+ return fCtlTerminal.isScrollLock();
+ }
+
+ public void setScrollLock(boolean on) {
+ fCtlTerminal.setScrollLock(on);
+ }
+
+ private ITerminalViewConnection getActiveConnection() {
+ return fMultiConnectionManager.getActiveConnection();
+ }
+ /**
+ * @param ctrl this control becomes the currently used one
+ */
+ private void setTerminalControl(ITerminalViewControl ctrl) {
+ fCtlTerminal=ctrl;
+ fCtlDecorator.setViewContoler(ctrl);
+ }
+ public void connectionsChanged() {
+ if(getActiveConnection()!=null) {
+ // update the active {@link ITerminalViewControl}
+ ITerminalViewControl ctrl = getActiveConnection().getCtlTerminal();
+ if(fCtlTerminal!=ctrl) {
+ setTerminalControl(ctrl);
+ refresh();
+ }
+ }
+ }
+
+ /**
+ * Show the active {@link ITerminalViewControl} in the view
+ */
+ private void refresh() {
+ fPageBook.showPage(fCtlTerminal.getRootControl());
+ updateStatus();
+ setPartName(getActiveConnection().getPartName());
+ }
+ /**
+ * TODO REMOVE This code (added 2008-06-11)
+ * Legacy code to real the old state. Once the state of the
+ * terminal has been saved this method is not needed anymore.
+ * Remove this code with eclipse 3.5.
+ */
+ private void legacyLoadState() {
+ // TODO legacy: load the old title....
+ String summary=fStore.get(STORE_SETTING_SUMMARY);
+ if(summary!=null) {
+ getActiveConnection().setSummary(summary);
+ fStore.put(STORE_SETTING_SUMMARY,null);
+ }
+ }
+ /**
+ * TODO REMOVE This code (added 2008-06-11)
+ * Legacy code to real the old state. Once the state of the
+ * terminal has been saved this method is not needed anymore.
+ * Remove this code with eclipse 3.5.
+ */
+ private void legacySetTitle() {
+ // restore the title of this view
+ String title=fStore.get(STORE_TITLE);
+ if(title!=null && title.length()>0) {
+ setViewTitle(title);
+ fStore.put(STORE_TITLE, null);
+ }
+ }
+
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
new file mode 100644
index 000000000..576c28181
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
@@ -0,0 +1,237 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button
+ * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
+ * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal
+ * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.io.UnsupportedEncodingException;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory;
+import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
+import org.eclipse.tm.internal.terminal.provisional.api.Logger;
+import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
+
+/**
+ * This class represents one connection. The connection might be
+ * closed or open.
+ *
+ */
+class TerminalViewConnection implements ITerminalViewConnection {
+ private static final String STORE_SUMMARY = "Summary"; //$NON-NLS-1$
+ private static final String STORE_PART_NAME = "PartName"; //$NON-NLS-1$
+ private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$
+ private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$
+ private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$
+ private static final String STORE_ENCODING="Encoding"; //$NON-NLS-1$
+ final private ITerminalViewControl fCtlTerminal;
+ private String fTitle;
+ private String fSummary;
+ private String fHistory;
+ private CommandInputFieldWithHistory fCommandInputField;
+ private String fPartName;
+ private String fEncoding;
+
+ public TerminalViewConnection(ITerminalViewControl ctl) {
+ fCtlTerminal = ctl;
+ fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){
+ public void mouseDown(MouseEvent e) {
+ // paste when the middle button is clicked
+ if (e.button == 2) { // middle button
+ int clipboardType = DND.SELECTION_CLIPBOARD;
+ Clipboard clipboard = fCtlTerminal.getClipboard();
+ if (clipboard.getAvailableTypes(clipboardType).length == 0)
+ // use normal clipboard if selection clipboard is not available
+ clipboardType = DND.CLIPBOARD;
+ String text = (String) clipboard.getContents(TextTransfer.getInstance(), clipboardType);
+ if (text != null && text.length() > 0)
+ fCtlTerminal.pasteString(text);
+ }
+ }
+ });
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tm.internal.terminal.actions.ITerminalViewConnection#getName()
+ */
+ public String getFullSummary() {
+ // if the title is set, then we return the title, else the summary
+ if(fTitle==null)
+ return makeSummary();
+ return fTitle;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tm.internal.terminal.view.ITerminalViewConnection#getImageDescriptor()
+ */
+ public ImageDescriptor getImageDescriptor() {
+ return TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW);
+ }
+
+ public ITerminalViewControl getCtlTerminal() {
+ return fCtlTerminal;
+ }
+ private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) {
+ return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$
+ }
+ public void loadState(ISettingsStore store) {
+ fPartName=store.get(STORE_PART_NAME);
+ fSummary=store.get(STORE_SUMMARY);
+ fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY);
+ fEncoding=store.get(STORE_ENCODING);
+ // load the state of the connection types
+ ITerminalConnector[] connectors=fCtlTerminal.getConnectors();
+ String connectionType=store.get(STORE_CONNECTION_TYPE);
+ for (int i = 0; i < connectors.length; i++) {
+ connectors[i].load(getStore(store,connectors[i]));
+ // if this is active connection type
+ if(connectors[i].getId().equals(connectionType))
+ fCtlTerminal.setConnector(connectors[i]);
+ }
+
+ if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$
+ setCommandInputField(true);
+ }
+
+ public void saveState(ISettingsStore store) {
+ store.put(STORE_PART_NAME, fPartName);
+ store.put(STORE_SUMMARY,fSummary);
+ store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory);
+ store.put(STORE_ENCODING, fEncoding);
+ if(fCommandInputField!=null)
+ store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory());
+ else
+ store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory);
+ store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$
+ ITerminalConnector[] connectors=fCtlTerminal.getConnectors();
+ for (int i = 0; i < connectors.length; i++) {
+ connectors[i].save(getStore(store,connectors[i]));
+ }
+ if(fCtlTerminal.getTerminalConnector()!=null) {
+ store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId());
+ }
+ }
+ public boolean hasCommandInputField() {
+ return fCommandInputField!=null;
+ }
+ public void setCommandInputField(boolean on) {
+ // save the old history
+ if(fCommandInputField!=null) {
+ fHistory= fCommandInputField.getHistory();
+ fCommandInputField=null;
+ }
+ if(on) {
+ // TODO make history size configurable
+ fCommandInputField=new CommandInputFieldWithHistory(100);
+ fCommandInputField.setHistory(fHistory);
+ }
+ fCtlTerminal.setCommandInputField(fCommandInputField);
+ }
+
+ public void setState(TerminalState state) {
+ // update the title....
+ fTitle=null;
+ }
+
+ public void setTerminalTitle(String title) {
+ // When parameter 'title' is not null, it is a String containing text to
+ // display in the view's content description line. This is used by class
+ // TerminalText when it processes an ANSI OSC escape sequence that commands
+ // the terminal to display text in its title bar.
+ fTitle=title;
+ }
+
+ private String getStateDisplayName(TerminalState state) {
+ if(state==TerminalState.CONNECTED) {
+ return ViewMessages.STATE_CONNECTED;
+ } else if(state==TerminalState.CONNECTING) {
+ return ViewMessages.STATE_CONNECTING;
+ } else if(state==TerminalState.CLOSED) {
+ return ViewMessages.STATE_CLOSED;
+ } else {
+ throw new IllegalStateException(state.toString());
+ }
+ }
+
+ private String makeSummary() {
+ String strTitle = ""; //$NON-NLS-1$
+ if(fCtlTerminal.getTerminalConnector()==null){
+ strTitle=ViewMessages.NO_CONNECTION_SELECTED;
+ } else {
+ // When parameter 'data' is null, we construct a descriptive string to
+ // display in the content description line.
+ String strConnected = getStateDisplayName(fCtlTerminal.getState());
+ String summary = getSettingsSummary();
+ String encoding=getEncoding();
+ //TODO Title should use an NLS String and com.ibm.icu.MessageFormat
+ //In order to make the logic of assembling, and the separators, better adapt to foreign languages
+ if(summary.length()>0)
+ summary=summary+" - "; //$NON-NLS-1$
+ String name=fCtlTerminal.getTerminalConnector().getName();
+ if(name.length()>0) {
+ name+=": "; //$NON-NLS-1$
+ }
+ if (encoding.length()>0) {
+ encoding = NLS.bind(ViewMessages.ENCODING_WITH_PARENTHESES, encoding);
+ //encoding=ViewMessages.ENCODING+" "+"("+encoding+")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+ }
+ strTitle = name + "("+ summary + strConnected + ")"+" - "+encoding; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return strTitle;
+ }
+ /**
+ * @return the setting summary. If there is no connection, or the connection
+ * has not been initialized, use the last stored state.
+ */
+ private String getSettingsSummary() {
+ if(fCtlTerminal.getTerminalConnector().isInitialized())
+ fSummary=fCtlTerminal.getSettingsSummary();
+ if(fSummary==null)
+ return ""; //$NON-NLS-1$
+ return fSummary;
+ }
+
+ public void setSummary(String summary) {
+ fSummary=summary;
+ }
+
+ public String getPartName() {
+ return fPartName==null?ViewMessages.PROP_TITLE:fPartName;
+ }
+
+ public void setPartName(String name) {
+ fPartName=name;
+
+ }
+ public String getEncoding() {
+ return fEncoding==null?fCtlTerminal.getEncoding():fEncoding;
+ }
+
+ public void setEncoding(String fEncoding) {
+ try {
+ fCtlTerminal.setEncoding(fEncoding);
+ this.fEncoding = fEncoding;
+ } catch (UnsupportedEncodingException uex) {
+ Logger.logException(uex);
+ }
+
+ }
+} \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java
new file mode 100644
index 000000000..3ba1a308e
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java
@@ -0,0 +1,181 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
+
+public class TerminalViewConnectionManager implements ITerminalViewConnectionManager {
+ private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$
+ private static final String STORE_SIZE = "size"; //$NON-NLS-1$
+ private static final String STORE_ACTIVE_CONNECTION = "active"; //$NON-NLS-1$
+ /**
+ * The list of {@link ITerminalViewConnection} in the order they were cerated.
+ * Ordered by creation time
+ */
+ private final List fConnections=new ArrayList();
+ /**
+ * The currently displayed connection
+ */
+ private ITerminalViewConnection fActiveConnection;
+ /**
+ * The list of {@link ITerminalViewConnection} in the order they
+ * were made the active connection. The most recently accessed
+ * connection is at the beginning of the list.
+ */
+ private final List fConnectionHistory=new ArrayList();
+ /**
+ * The {@link ITerminalViewConnectionListener}
+ */
+ private final List fListeners=new ArrayList();
+
+ public ITerminalViewConnection[] getConnections() {
+ return (ITerminalViewConnection[]) fConnections.toArray(new ITerminalViewConnection[fConnections.size()]);
+ }
+
+ public int size() { // TODO Auto-generated method stub
+ return fConnections.size();
+ }
+
+ public ITerminalViewConnection getActiveConnection() {
+ return fActiveConnection;
+ }
+ public void setActiveConnection(ITerminalViewConnection conn) {
+ fActiveConnection=conn;
+ // put the connection at the end of the history list
+ fConnectionHistory.remove(conn);
+ fConnectionHistory.add(0,conn);
+
+ fireListeners();
+ }
+
+ public void swapConnection() {
+ ITerminalViewConnection conn=getPreviousConnection();
+ if(conn!=null)
+ setActiveConnection(conn);
+ }
+
+ /**
+ * @return the connection that was most recently the active connection or null if there is
+ * no previous connection
+ */
+ private ITerminalViewConnection getPreviousConnection() {
+ // find the first connection that is not the active connection in
+ // the list
+ for (Iterator iterator = fConnectionHistory.iterator(); iterator.hasNext();) {
+ ITerminalViewConnection conn = (ITerminalViewConnection) iterator.next();
+ if(conn!=fActiveConnection) {
+ return conn;
+ }
+ }
+ return null;
+ }
+
+ public void addConnection(ITerminalViewConnection conn) {
+ fConnections.add(conn);
+ fireListeners();
+ }
+ public void removeConnection(ITerminalViewConnection conn) {
+ fConnections.remove(conn);
+ fConnectionHistory.remove(conn);
+ fireListeners();
+ }
+
+ public void addListener(ITerminalViewConnectionListener listener) {
+ fListeners.add(listener);
+ }
+
+ public void removeListener(ITerminalViewConnectionListener listener) {
+ fListeners.remove(listener);
+ }
+ protected void fireListeners() {
+ ITerminalViewConnectionListener[] listeners=(ITerminalViewConnectionListener[]) fListeners.toArray(new ITerminalViewConnectionListener[fListeners.size()]);
+ for (int i = 0; i < listeners.length; i++) {
+ listeners[i].connectionsChanged();
+ }
+ }
+
+ public void saveState(ISettingsStore store) {
+ store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$
+ // save all connections
+ int n=0;
+ for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) {
+ ITerminalViewConnection connection = (ITerminalViewConnection) iterator.next();
+ // the name under which we store the connection
+ String prefix=STORE_CONNECTION_PREFIX+n;
+ n++;
+ // remember the active connection by its prefix
+ if(connection.equals(fActiveConnection))
+ store.put(STORE_ACTIVE_CONNECTION,prefix);
+ connection.saveState(new SettingStorePrefixDecorator(store,prefix));
+ }
+ }
+
+ public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) {
+ int size=0;
+ try {
+ size=Integer.parseInt(store.get(STORE_SIZE));
+ } catch(Exception e) {
+ // ignore
+ }
+ if(size>0) {
+ // a slot for the connections
+ String active=store.get(STORE_ACTIVE_CONNECTION);
+ int n=0;
+ for (int i=0;i<size;i++) {
+ // the name under which we stored the connection
+ String prefix=STORE_CONNECTION_PREFIX+n;
+ n++;
+ try {
+ ITerminalViewConnection connection = factory.create();
+ fConnections.add(connection);
+ fConnectionHistory.add(connection);
+ if(prefix.equals(active))
+ fActiveConnection=connection;
+ connection.loadState(new SettingStorePrefixDecorator(store,prefix));
+ } catch(RuntimeException e) {
+ // in case something goes wrong, make sure we can read the other
+ // connections....
+ TerminalViewPlugin.getDefault().getLog().log(
+ new Status(
+ IStatus.WARNING,
+ TerminalViewPlugin.getDefault().getBundle().getSymbolicName(),
+ 0,
+ e.getLocalizedMessage(),
+ e
+ ));
+ }
+ }
+ }
+ }
+
+ public void removeActive() {
+ // don't remove the last connection -- we need at least one!
+ if(fConnections.size()>1) {
+ fConnections.remove(fActiveConnection);
+ fConnectionHistory.remove(fActiveConnection);
+
+ // make sure connection is not null....
+ fActiveConnection=getPreviousConnection();
+ // if there is no previous connection then make
+ // the first connection the list the active connection
+ if(fActiveConnection==null)
+ fActiveConnection=(ITerminalViewConnection) fConnections.get(0);
+
+ fireListeners();
+ }
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java
new file mode 100644
index 000000000..7443f1d59
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java
@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2015 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:
+ * Michael Scharf (Wind River) - initial API and implementation
+ * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.io.UnsupportedEncodingException;
+
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.tm.internal.terminal.control.ICommandInputField;
+import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
+import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
+import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
+
+// TODO (scharf): this decorator is only there to deal with the common
+// actions. Find a better solution.
+public class TerminalViewControlDecorator implements ITerminalViewControl {
+ ITerminalViewControl fViewContoler;
+
+ public void clearTerminal() {
+ fViewContoler.clearTerminal();
+ }
+
+ public void connectTerminal() {
+ fViewContoler.connectTerminal();
+ }
+
+ public void copy() {
+ fViewContoler.copy();
+ }
+
+ public void disconnectTerminal() {
+ fViewContoler.disconnectTerminal();
+ }
+
+ public void disposeTerminal() {
+ fViewContoler.disposeTerminal();
+ }
+
+ public int getBufferLineLimit() {
+ return fViewContoler.getBufferLineLimit();
+ }
+
+ public Clipboard getClipboard() {
+ return fViewContoler.getClipboard();
+ }
+
+ public ICommandInputField getCommandInputField() {
+ return fViewContoler.getCommandInputField();
+ }
+
+ public ITerminalConnector[] getConnectors() {
+ return fViewContoler.getConnectors();
+ }
+
+ public Control getControl() {
+ return fViewContoler.getControl();
+ }
+
+ public String getEncoding() {
+ return fViewContoler.getEncoding();
+ }
+
+ public Font getFont() {
+ return fViewContoler.getFont();
+ }
+
+ public Control getRootControl() {
+ return fViewContoler.getRootControl();
+ }
+
+ public String getSelection() {
+ return fViewContoler.getSelection();
+ }
+
+ public String getSettingsSummary() {
+ return fViewContoler.getSettingsSummary();
+ }
+
+ public TerminalState getState() {
+ return fViewContoler.getState();
+ }
+
+ public ITerminalConnector getTerminalConnector() {
+ return fViewContoler.getTerminalConnector();
+ }
+
+ public boolean isConnected() {
+ return fViewContoler.isConnected();
+ }
+
+ public boolean isDisposed() {
+ return fViewContoler.isDisposed();
+ }
+
+ public boolean isEmpty() {
+ return fViewContoler.isEmpty();
+ }
+
+ public boolean isScrollLock() {
+ return fViewContoler.isScrollLock();
+ }
+
+ public void paste() {
+ fViewContoler.paste();
+ }
+
+ public boolean pasteString(String string) {
+ return fViewContoler.pasteString(string);
+ }
+
+ public void selectAll() {
+ fViewContoler.selectAll();
+ }
+
+ public void sendKey(char arg0) {
+ fViewContoler.sendKey(arg0);
+ }
+
+ public void setBufferLineLimit(int bufferLineLimit) {
+ fViewContoler.setBufferLineLimit(bufferLineLimit);
+ }
+
+ public void setCommandInputField(ICommandInputField inputField) {
+ fViewContoler.setCommandInputField(inputField);
+ }
+
+ public void setConnector(ITerminalConnector connector) {
+ fViewContoler.setConnector(connector);
+ }
+
+ public void setEncoding(String encoding) throws UnsupportedEncodingException {
+ fViewContoler.setEncoding(encoding);
+ }
+
+ public void setFocus() {
+ fViewContoler.setFocus();
+ }
+
+ public void setFont(Font font) {
+ fViewContoler.setFont(font);
+ }
+
+ public void setFont(String fontName) {
+ fViewContoler.setFont(fontName);
+ }
+
+ public void setInvertedColors(boolean invert) {
+ fViewContoler.setInvertedColors(invert);
+ }
+
+ public void setScrollLock(boolean on) {
+ fViewContoler.setScrollLock(on);
+ }
+
+ public ITerminalViewControl getViewContoler() {
+ return fViewContoler;
+ }
+
+ public void setViewContoler(ITerminalViewControl viewContoler) {
+ fViewContoler = viewContoler;
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java
new file mode 100644
index 000000000..a476924cf
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
+ * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs
+ * Michael Scharf (Wind River) - [172483] switch between connections
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.tm.internal.terminal.provisional.api.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+public class TerminalViewPlugin extends AbstractUIPlugin {
+ protected static TerminalViewPlugin fDefault;
+
+ public static final String HELPPREFIX = "org.eclipse.tm.terminal.view."; //$NON-NLS-1$
+
+ /**
+ * The constructor.
+ */
+ public TerminalViewPlugin() {
+ fDefault = this;
+ }
+ protected void initializeImageRegistry(ImageRegistry imageRegistry) {
+ HashMap map;
+
+ map = new HashMap();
+
+ try {
+ // Local toolbars
+ map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
+
+ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map);
+
+ map.clear();
+
+ // Enabled local toolbars
+ map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$
+
+ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map);
+
+ map.clear();
+
+ // Disabled local toolbars
+ map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
+ map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$
+
+ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map);
+
+ map.clear();
+
+ map.put(ImageConsts.IMAGE_TERMINAL_VIEW, "terminal_view.gif"); //$NON-NLS-1$
+
+ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_EVIEW, map);
+
+ map.clear();
+
+ } catch (MalformedURLException malformedURLException) {
+ malformedURLException.printStackTrace();
+ }
+ }
+ /**
+ * Returns the shared instance.
+ */
+ public static TerminalViewPlugin getDefault() {
+ return fDefault;
+ }
+
+ protected void loadImageRegistry(ImageRegistry imageRegistry,
+ String strDir, HashMap map) throws MalformedURLException {
+ URL url;
+ ImageDescriptor imageDescriptor;
+ Iterator keys;
+ String strKey;
+ String strFile;
+
+ keys = map.keySet().iterator();
+
+ while (keys.hasNext()) {
+ strKey = (String) keys.next();
+ strFile = (String) map.get(strKey);
+
+ if (strFile != null) {
+ url = TerminalViewPlugin.getDefault().getBundle().getEntry(
+ ImageConsts.IMAGE_DIR_ROOT + strDir + strFile);
+ imageDescriptor = ImageDescriptor.createFromURL(url);
+ imageRegistry.put(strKey, imageDescriptor);
+ }
+ }
+ }
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java
new file mode 100644
index 000000000..8085d3356
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2015 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
+ *
+ * Initial Contributors:
+ * The following Wind River employees contributed to the Terminal component
+ * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+ * Helmut Haigermoser and Ted Williams.
+ *
+ * Contributors:
+ * Michael Scharf (Wind River) - split into core, view and connector plugins
+ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+ * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings
+ * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED
+ * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+ * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
+ *******************************************************************************/
+package org.eclipse.tm.internal.terminal.view;
+
+import org.eclipse.osgi.util.NLS;
+
+public class ViewMessages extends NLS {
+ static {
+ NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class);
+ }
+ public static String NO_CONNECTION_SELECTED;
+ public static String PROP_TITLE;
+ public static String SETTINGS;
+
+ public static String TERMINALSETTINGS;
+ public static String NEW_TERMINAL_CONNECTION;
+ public static String NEW_TERMINAL_VIEW;
+ public static String CONNECTIONTYPE;
+ public static String VIEW_TITLE;
+ public static String VIEW_SETTINGS;
+ public static String INVALID_SETTINGS;
+ public static String ENCODING;
+ public static String ENCODING_WITH_PARENTHESES;
+
+ public static String STATE_CONNECTED;
+ public static String STATE_CONNECTING;
+ public static String STATE_CLOSED;
+
+ public static String CANNOT_INITIALIZE;
+ public static String CONNECTOR_NOT_AVAILABLE;
+ public static String ENCODING_NOT_AVAILABLE;
+}
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties
new file mode 100644
index 000000000..3d356ab26
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties
@@ -0,0 +1,42 @@
+###############################################################################
+# Copyright (c) 2003, 2015 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
+#
+# Initial Contributors:
+# The following Wind River employees contributed to the Terminal component
+# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
+# Helmut Haigermoser and Ted Williams.
+#
+# Contributors:
+# Michael Scharf (Wind River) - split into core, view and connector plugins
+# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
+# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
+# Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings
+# Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED
+# Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding
+# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
+###############################################################################
+NO_CONNECTION_SELECTED = No Connection Selected
+PROP_TITLE = Terminal
+SETTINGS = Settings
+
+TERMINALSETTINGS = Terminal Settings
+NEW_TERMINAL_CONNECTION = New Terminal Connection
+NEW_TERMINAL_VIEW = New Terminal View
+CONNECTIONTYPE = Connection Type
+VIEW_TITLE = View Title:
+VIEW_SETTINGS = View Settings:
+INVALID_SETTINGS = The specified settings are invalid, please review or cancel.
+ENCODING = Encoding:
+ENCODING_WITH_PARENTHESES = Encoding: ({0})
+
+STATE_CONNECTED = CONNECTED
+STATE_CONNECTING = CONNECTING...
+STATE_CLOSED = CLOSED
+
+CANNOT_INITIALIZE = Cannot initialize {0}:\n{1}
+CONNECTOR_NOT_AVAILABLE = Connector {0} is not available!
+ENCODING_NOT_AVAILABLE = Encoding is not available! \ No newline at end of file
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png
new file mode 100644
index 000000000..3077b1220
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png
Binary files differ
diff --git a/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml
new file mode 100644
index 000000000..4409655e2
--- /dev/null
+++ b/terminal/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+Copyright (c) 2006, 2008 Wind River Systems, Inc.
+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:
+Martin Oberhuber (Wind River) - initial API and implementation
+-->
+<toc link_to="../org.eclipse.rse.doc.user/toc.xml#rse_user_extensions"
+ label="Terminal View">
+ <topic label="Terminal View" href="doc/html/01_terminalview.html">
+ <topic label="Terminal View Quick Reference" href="doc/html/02_terminal_page.html" />
+ <topic label="Terminal Settings Page" href="doc/html/03_terminal_settings.html" />
+ <topic label="Terminal Emulation" href="doc/html/04_terminal_emulation.html" />
+ <topic label="Legal Notice" href="doc/html/notice.html" />
+ </topic>
+</toc> \ No newline at end of file

Back to the top