Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/launch
diff options
context:
space:
mode:
Diffstat (limited to 'launch')
-rw-r--r--launch/org.eclipse.cdt.launchbar-feature/.project17
-rw-r--r--launch/org.eclipse.cdt.launchbar-feature/build.properties12
-rw-r--r--launch/org.eclipse.cdt.launchbar-feature/feature.properties33
-rw-r--r--launch/org.eclipse.cdt.launchbar-feature/feature.xml43
-rw-r--r--launch/org.eclipse.cdt.launchbar-feature/pom.xml18
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/.classpath7
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/.project28
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF14
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/build.properties5
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml5
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml17
-rw-r--r--launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java42
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/.classpath7
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/.project28
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF17
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/about.html24
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/build.properties4
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/pom.xml42
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java829
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java30
-rw-r--r--launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java42
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/.classpath7
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/.options2
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/.project28
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF13
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/about.html24
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/build.properties5
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/plugin.xml17
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/pom.xml17
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd294
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java68
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java62
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java38
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java45
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java24
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java39
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java30
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java77
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java80
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java48
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java71
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java50
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java41
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java65
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java1122
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTarget.java43
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTargetType.java25
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Messages.java25
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Pair.java70
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ProjectLaunchObjectProvider.java77
-rw-r--r--launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/messages.properties12
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/.classpath7
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/.project28
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/META-INF/MANIFEST.MF29
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/about.html24
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/build.properties7
-rwxr-xr-xlaunch/org.eclipse.cdt.launchbar.ui/icons/build.pngbin625 -> 0 bytes
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/icons/config_config.pngbin1441 -> 0 bytes
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/icons/launch.pngbin466 -> 0 bytes
-rwxr-xr-xlaunch/org.eclipse.cdt.launchbar.ui/icons/stop.pngbin358 -> 0 bytes
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/plugin.properties3
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/plugin.xml155
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/pom.xml17
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/schema/launchBarUIContributions.exsd188
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/IHoverProvider.java36
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/ILaunchBarUIConstants.java20
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Activator.java155
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/DefaultDescriptorLabelProvider.java61
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarInjector.java124
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferenceInitializer.java14
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferencePage.java26
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarUIManager.java188
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LocalTargetLabelProvider.java16
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Messages.java27
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/BuildActiveCommandHandler.java194
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/ConfigureActiveLaunchHandler.java54
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java59
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/StopActiveCommandHandler.java88
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CButton.java103
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CSelector.java834
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ConfigSelector.java290
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/LaunchBarControl.java166
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ModeSelector.java173
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/TargetSelector.java255
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/Transition.java56
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/LaunchConfigurationEditDialog.java162
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigEditPage.java275
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigModePage.java114
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigTypePage.java92
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigWizard.java102
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetTypePage.java92
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetWizard.java42
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/messages.properties3
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsActionProvider.java26
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsContentProvider.java73
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsLabelProvider.java32
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsNavigator.java55
-rw-r--r--launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/TargetPropertyPage.java51
102 files changed, 0 insertions, 8327 deletions
diff --git a/launch/org.eclipse.cdt.launchbar-feature/.project b/launch/org.eclipse.cdt.launchbar-feature/.project
deleted file mode 100644
index b171f209f22..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.cdt.launchbar-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/launch/org.eclipse.cdt.launchbar-feature/build.properties b/launch/org.eclipse.cdt.launchbar-feature/build.properties
deleted file mode 100644
index 6c8e6da2e2e..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 QNX 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:
-# QNX - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties
diff --git a/launch/org.eclipse.cdt.launchbar-feature/feature.properties b/launch/org.eclipse.cdt.launchbar-feature/feature.properties
deleted file mode 100644
index 414020faabc..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/feature.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 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
-###############################################################################
-# features.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=LaunchBar
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse CDT
-
-# "description" property - description of the feature
-description=A Tool Control that sits in the TOP trim bar that controls build and launch.
-
-# copyright
-copyright=\
-Copyright (c) 2014 QNX Software Systems 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
-
diff --git a/launch/org.eclipse.cdt.launchbar-feature/feature.xml b/launch/org.eclipse.cdt.launchbar-feature/feature.xml
deleted file mode 100644
index ccaa7c3e2a0..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/feature.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.cdt.launchbar"
- label="%featureName"
- version="8.5.0.qualifier"
- provider-name="%providerName"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <plugin
- id="org.eclipse.cdt.launchbar.cdt.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.cdt.launchbar.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.cdt.launchbar.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/launch/org.eclipse.cdt.launchbar-feature/pom.xml b/launch/org.eclipse.cdt.launchbar-feature/pom.xml
deleted file mode 100644
index 27e8cebbbc2..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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>
- <groupId>org.eclipse.cdt</groupId>
- <artifactId>cdt-parent</artifactId>
- <version>8.5.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <version>8.5.0-SNAPSHOT</version>
- <groupId>org.eclipse.cdt.features</groupId>
- <artifactId>org.eclipse.cdt.launchbar</artifactId>
- <packaging>eclipse-feature</packaging>
-</project>
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath b/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.project b/launch/org.eclipse.cdt.launchbar.cdt.core/.project
deleted file mode 100644
index b4e80a8ddba..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.cdt.launchbar.cdt.core</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>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d03eaae2dac..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LaunchBar for CDT Core
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.cdt.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.cdt.core.internal.Activator
-Bundle-Vendor: Eclipse CDT
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.cdt.launchbar.core,
- org.eclipse.debug.core,
- org.eclipse.cdt.debug.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.cdt.core.internal;x-internal:=true
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties b/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties
deleted file mode 100644
index e9863e281ea..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml b/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml
deleted file mode 100644
index 5535690d377..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-</plugin>
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml b/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml
deleted file mode 100644
index eded905b751..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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>
- <groupId>org.eclipse.cdt</groupId>
- <artifactId>cdt-parent</artifactId>
- <version>8.5.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <version>1.0.0-SNAPSHOT</version>
- <artifactId>org.eclipse.cdt.launchbar.cdt.core</artifactId>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java b/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java
deleted file mode 100644
index 2ee76bf841d..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.cdt.core.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static final String ID = "org.eclipse.cdt.launchbar.cdt.core";
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.classpath b/launch/org.eclipse.cdt.launchbar.core.tests/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.project b/launch/org.eclipse.cdt.launchbar.core.tests/.project
deleted file mode 100644
index dcc91f96735..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.cdt.launchbar.core.tests</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>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 26ab2b0c390..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Launch Bar Core Tests
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.core.tests
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.core.tests.Activator
-Require-Bundle: org.eclipse.core.runtime,
- org.junit;bundle-version="4.11.0",
- org.mockito,
- org.eclipse.cdt.launchbar.core;bundle-version="1.0.0",
- org.eclipse.debug.core,
- org.eclipse.cdt.debug.core,
- org.eclipse.core.filesystem,
- org.hamcrest.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.core.tests
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/about.html b/launch/org.eclipse.cdt.launchbar.core.tests/about.html
deleted file mode 100644
index d7c511887d6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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 22, 2007</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/launch/org.eclipse.cdt.launchbar.core.tests/build.properties b/launch/org.eclipse.cdt.launchbar.core.tests/build.properties
deleted file mode 100644
index 34d2e4d2dad..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml b/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml
deleted file mode 100644
index 0570281df5e..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?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>
- <groupId>org.eclipse.cdt</groupId>
- <artifactId>cdt-parent</artifactId>
- <version>8.5.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <version>1.0.0-SNAPSHOT</version>
- <artifactId>org.eclipse.cdt.launchbar.core.tests</artifactId>
- <packaging>eclipse-test-plugin</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <!-- It does not need ui, but it does not work headless for some reason -->
- <useUIHarness>true</useUIHarness>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs} -ea -Xms256m -Xmx512m -XX:MaxPermSize=256M</argLine>
- <includes>
- <include>**/AutomatedIntegrationSuite.*</include>
- </includes>
- <testFailureIgnore>true</testFailureIgnore>
- <dependencies>
- <dependency>
- <artifactId>org.eclipse.platform.feature.group</artifactId>
- <type>p2-installable-unit</type>
- </dependency>
- </dependencies>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java
deleted file mode 100644
index e62b33142a3..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java
+++ /dev/null
@@ -1,829 +0,0 @@
-/*******************************************************************************
-> * Copyright (c) 2014 QNX Software Systems. All Rights Reserved.
- *
- * You must obtain a written license from and pay applicable license fees to QNX
- * Software Systems before you may reproduce, modify or distribute this software,
- * or any work that includes all or part of this software. Free development
- * licenses are available for evaluation and non-commercial purposes. For more
- * information visit [http://licensing.qnx.com] or email licensing@qnx.com.
- *
- * This file may contain contributions from others. Please review this entire
- * file for other proprietary rights or license notices, as well as the QNX
- * Development Suite License Guide at [http://licensing.qnx.com/license-guide/]
- * for other information.
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import static org.junit.Assert.assertNotEquals;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.cdt.launchbar.core.LaunchConfigurationProvider;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager.Listener;
-import org.eclipse.core.internal.preferences.EclipsePreferences;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.junit.Test;
-
-/**
- * @author elaskavaia
- *
- */
-public class LaunchBarManagerTest extends TestCase {
-
- // default type ids
- private static final String DEFAULT_CONFIG_TYPE_ID = "configType.test";
- private static final String DEFAULT_TARGET_TYPE_ID = "targetType.test";
- private static final String DEFAULT_DESCRIPTOR_TYPE_ID = "descriptorType.test";
-
- private IEclipsePreferences prefs;
- private ILaunchManager launchManager;
-
- public class TestLaunchBarManager extends LaunchBarManager {
- private ILaunchMode[] defaultLaunchModes;
- boolean done;
-
- public TestLaunchBarManager() throws CoreException {
- super();
- // For the tests, need to wait until the init is done
- synchronized (this) {
- while (!done) {
- try {
- wait();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- @Override
- public void init() throws CoreException {
- super.init();
- synchronized (this) {
- done = true;
- notify();
- }
- }
-
- @Override
- public IExtensionPoint getExtensionPoint() throws CoreException {
- // default things
- IExtensionPoint point = mock(IExtensionPoint.class);
-
- IExtension extension = mock(IExtension.class);
- doReturn(new IExtension[] { extension }).when(point).getExtensions();
-
- List<IConfigurationElement> elements = new ArrayList<>();
-
- IConfigurationElement element;
-
- // The local target
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("targetType").when(element).getName();
- doReturn(LocalTargetType.ID).when(element).getAttribute("id");
- doReturn(new LocalTargetType()).when(element).createExecutableExtension("class");
-
- // Test targets
- for (TestLaunchTargetType targetType : getTestTargetTypes()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("targetType").when(element).getName();
- doReturn(targetType.id).when(element).getAttribute("id");
- doReturn(targetType).when(element).createExecutableExtension("class");
- }
-
- // Test descriptors
- for (TestLaunchDescriptorType descType : getTestDescriptorTypes()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("descriptorType").when(element).getName();
- doReturn(descType.id).when(element).getAttribute("id");
- doReturn(Integer.toString(descType.priority)).when(element).getAttribute("priority");
- doReturn(descType).when(element).createExecutableExtension("class");
- }
-
- // Test config types
- for (TestLaunchConfigurationProvider provider : getTestConfigProviders()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("configType").when(element).getName();
- doReturn(provider.descTypeId).when(element).getAttribute("descriptorType");
- doReturn(provider.targetTypeId).when(element).getAttribute("targetType");
- doReturn(provider.configType.getIdentifier()).when(element).getAttribute("launchConfigurationType");
- doReturn(Boolean.toString(provider.isDefault)).when(element).getAttribute("isDefault");
-
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("configProvider").when(element).getName();
- doReturn(provider.configType.getIdentifier()).when(element).getAttribute("launchConfigurationType");
- doReturn(provider).when(element).createExecutableExtension("class");
- }
-
- // test object providers
- for (TestLaunchObjectProvider objectProvider : getTestObjectProviders()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("objectProvider").when(element).getName();
- doReturn(objectProvider).when(element).createExecutableExtension("class");
- }
-
- doReturn(elements.toArray(new IConfigurationElement[0])).when(extension).getConfigurationElements();
-
- return point;
- }
-
- protected TestLaunchTargetType[] getTestTargetTypes() {
- return new TestLaunchTargetType[] {
- new TestLaunchTargetType(DEFAULT_TARGET_TYPE_ID)
- };
- }
-
- protected TestLaunchDescriptorType[] getTestDescriptorTypes() {
- return new TestLaunchDescriptorType[] {
- new TestLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID, 5)
- };
- }
-
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- ILaunchConfigurationType configType = mockLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
-
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- return new TestLaunchObjectProvider[0];
- }
-
- @Override
- protected ILaunchManager getLaunchManager() {
- return launchManager;
- }
-
- @Override
- protected IEclipsePreferences getPreferenceStore() {
- return prefs;
- }
- };
-
- public static class TestLaunchTargetType implements ILaunchTargetType {
- final String id;
-
- public TestLaunchTargetType(String id) {
- this.id = id;
- }
-
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- // override if you want to add targets
- }
-
- @Override
- public void dispose() {
- }
- }
-
- public static class TestLaunchTarget extends PlatformObject implements ILaunchTarget {
- private ILaunchTargetType type;
- private String name;
-
- public TestLaunchTarget(String name, ILaunchTargetType type) {
- this.name = name;
- this.type = type;
- }
-
- public ILaunchTargetType getType() {
- return type;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setActive(boolean active) {
- }
- }
-
- public static class TestLaunchObject {
- final String name;
- final ILaunchDescriptorType descType;
-
- public TestLaunchObject(String name, ILaunchDescriptorType descType) {
- this.name = name;
- this.descType = descType;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof TestLaunchObject) {
- return name.equals(((TestLaunchObject) obj).name);
- }
- return super.equals(obj);
- }
-
- @Override
- public int hashCode() {
- return name.hashCode();
- }
- }
-
- public static class TestLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
- private final TestLaunchObject object;
- private final TestLaunchDescriptorType type;
-
- public TestLaunchDescriptor(TestLaunchDescriptorType type, TestLaunchObject object) {
- this.object = object;
- this.type = type;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (TestLaunchObject.class.equals(adapter)) {
- return object;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return object.name;
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
- }
-
- public static class TestLaunchDescriptorType implements ILaunchDescriptorType {
- final String id;
- final int priority;
-
- public TestLaunchDescriptorType(String id, int priority) {
- this.id = id;
- this.priority = priority;
- }
-
- @Override
- public boolean ownsLaunchObject(Object launchObject) throws CoreException {
- if (!(launchObject instanceof TestLaunchObject)) {
- return false;
- }
- return ((TestLaunchObject) launchObject).descType.equals(this);
- }
-
- @Override
- public ILaunchDescriptor getDescriptor(Object launchObject) throws CoreException {
- return new TestLaunchDescriptor(this, (TestLaunchObject) launchObject);
- }
- }
-
- public static class TestLaunchConfigurationProvider extends LaunchConfigurationProvider {
- final String descTypeId;
- final String targetTypeId;
- final ILaunchConfigurationType configType;
- final boolean isDefault;
- final LaunchBarManager manager;
-
- private static final String OBJECT_NAME = "testObject.objectName";
- private static final String DESC_TYPE = "testObject.descType";
-
- public TestLaunchConfigurationProvider(String descTypeId, String targetTypeId, ILaunchConfigurationType configType, boolean isDefault, LaunchBarManager manager) {
- this.descTypeId = descTypeId;
- this.targetTypeId = targetTypeId;
- this.configType = configType;
- this.isDefault = isDefault;
- this.manager = manager;
- }
-
- @Override
- public ILaunchConfigurationType getLaunchConfigurationType() throws CoreException {
- return configType;
- }
-
- @Override
- public ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException {
- String name = launchManager.generateLaunchConfigurationName(getConfigurationName(descriptor));
- ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfigurationType().newInstance(null, name);
- doReturn(name).when(workingCopy).getAttribute(ORIGINAL_NAME, "");
-
- TestLaunchObject launchObject = (TestLaunchObject) descriptor.getAdapter(TestLaunchObject.class);
- doReturn(launchObject.name).when(workingCopy).getAttribute(OBJECT_NAME, "");
- doReturn(manager.getDescriptorTypeId(launchObject.descType)).when(workingCopy).getAttribute(DESC_TYPE, "");
- return workingCopy.doSave();
- }
-
- @Override
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- super.populateConfiguration(workingCopy, descriptor);
-
- }
-
- @Override
- public Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException {
- if (ownsConfiguration(configuration)) {
- String objectName = configuration.getAttribute(OBJECT_NAME, "");
- String descTypeId = configuration.getAttribute(DESC_TYPE, "");
- if (!objectName.isEmpty() && !descTypeId.isEmpty()) {
- return new TestLaunchObject(objectName, manager.getLaunchDescriptorType(descTypeId));
- }
- }
- return null;
- }
-
- @Override
- public boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException {
- if (ownsConfiguration(configuration)) {
- return true;
- }
- return false;
- }
-
- }
-
- public abstract class TestLaunchObjectProvider implements ILaunchObjectProvider {
- @Override
- public void dispose() {
- // nothing by default
- }
- }
-
- protected ILaunchConfigurationType mockLaunchConfigurationType(String id) {
- return mockLaunchConfigurationType(id, launchManager.getLaunchModes());
- }
-
- protected ILaunchConfigurationType mockLaunchConfigurationType(String id, ILaunchMode[] modes) {
- ILaunchConfigurationType type = mock(ILaunchConfigurationType.class);
- doReturn(id).when(type).getIdentifier();
- doReturn(type).when(launchManager).getLaunchConfigurationType(id);
-
- // mock for supportsMode
- for (ILaunchMode mode : modes) {
- String modeid = mode.getIdentifier();
- doReturn(true).when(type).supportsMode(modeid);
- }
-
- return type;
- }
-
- protected ILaunchConfigurationWorkingCopy mockLaunchConfiguration(String name, ILaunchConfigurationType type) throws CoreException {
- ILaunchConfigurationWorkingCopy wc = mock(ILaunchConfigurationWorkingCopy.class);
- doReturn(name).when(wc).getName();
- doReturn(type).when(wc).getType();
- doReturn(wc).when(wc).doSave();
- doReturn(name).when(launchManager).generateLaunchConfigurationName(name);
- doReturn(wc).when(type).newInstance(null, name);
- return wc;
- }
-
- //
- // Now that we have all the setup,
- // Actual tests :)
- //
-
- @Override
- protected void setUp() throws Exception {
- // Prefs are shared across an entire test
- prefs = new EclipsePreferences();
-
- // launch manager and default modes
- launchManager = mock(ILaunchManager.class);
- try {
- doReturn(new ILaunchConfiguration[] {}).when(launchManager).getLaunchConfigurations();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
-
- ILaunchMode runMode = mock(ILaunchMode.class);
- doReturn("run").when(runMode).getIdentifier();
- doReturn("Run").when(runMode).getLabel();
- doReturn("Run As...").when(runMode).getLaunchAsLabel();
- doReturn(runMode).when(launchManager).getLaunchMode("run");
-
- ILaunchMode debugMode = mock(ILaunchMode.class);
- doReturn("debug").when(debugMode).getIdentifier();
- doReturn("Debug").when(debugMode).getLabel();
- doReturn("Debug As...").when(debugMode).getLaunchAsLabel();
- doReturn(debugMode).when(launchManager).getLaunchMode("debug");
-
- doReturn(new ILaunchMode[] { runMode, debugMode }).when(launchManager).getLaunchModes();
- }
-
- @Test
- public void testLaunchBarManager() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
- assertNull(manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNull(manager.getActiveLaunchMode());
- }
-
- @Test
- public void testSuccessPath() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- assertNotNull(configType);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- // fire in launch object and target
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- assertNotNull(descType);
- TestLaunchObject launchObject = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(launchObject);
-
- // check our state
- assertEquals(manager.getLaunchDescriptor(launchObject), manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNotNull(manager.getActiveLaunchMode());
-
- ILaunchTargetType targetType = manager.getLaunchTargetType(DEFAULT_TARGET_TYPE_ID);
- assertNotNull(targetType);
- ILaunchTarget testTarget = new TestLaunchTarget("testTarget", targetType);
- manager.launchTargetAdded(testTarget);
-
- // verify that our launch config got created and saved
- assertNotNull(manager.getActiveLaunchMode());
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- verify(wc).doSave();
-
- // now remove the launch object and make sure everything resets
- manager.launchObjectRemoved(launchObject);
- assertNull(manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNull(manager.getActiveLaunchMode());
- verify(wc).delete();
-
- // remove the target and make sure it's gone.
- manager.launchTargetRemoved(testTarget);
- ILaunchTarget[] allTargets = manager.getAllLaunchTargets();
- assertEquals(1, allTargets.length);
- assertNotEquals(testTarget, allTargets[0]);
- }
-
- @Test
- public void testWrongObject() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- mockLaunchConfiguration(name, configType);
-
- // fire in launch target but object with no descriptor
- manager.launchObjectAdded(new Object());
- manager.launchTargetAdded(new TestLaunchTarget("testTarget", manager.getLaunchTargetType(DEFAULT_TARGET_TYPE_ID)));
-
- // verify that there are no launch configs
- assertNull(manager.getActiveLaunchConfiguration());
- }
-
- @Test
- public void testNoTarget() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- // create descriptor and target
- manager.launchObjectAdded(new TestLaunchObject(name, manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
-
- // verify that our launch config got created and saved even though the default config type
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- verify(wc).doSave();
- }
-
- @Test
- public void testDefaultDescriptor() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- ILaunchConfigurationType configType = mockLaunchConfigurationType("configType.default");
- ILaunchConfiguration config = mockLaunchConfiguration("defaultConfig", configType);
- manager.launchConfigurationAdded(config);
- assertEquals(config, manager.getActiveLaunchConfiguration());
-
- manager.launchConfigurationRemoved(config);
- assertNull(manager.getActiveLaunchConfiguration());
- }
-
- @Test
- public void testSetActiveDescriptor() throws Exception {
- final TestLaunchBarManager manager = new TestLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
-
- // descriptor for the test descriptor
- String name = "test1";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- TestLaunchObject testObject1 = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(testObject1);
- ILaunchDescriptor test1 = manager.getLaunchDescriptor(testObject1);
- assertNotNull(test1);
-
- final ILaunchMode[] testActiveMode = new ILaunchMode[1];
- final ILaunchDescriptor[] testActiveDesc = new ILaunchDescriptor[1];
- Listener listener = new Listener() {
- @Override
- public void launchTargetsChanged() {
- }
-
- @Override
- public void launchDescriptorRemoved(ILaunchDescriptor descriptor) {
- }
-
- @Override
- public void activeLaunchTargetChanged() {
- }
-
- @Override
- public void activeLaunchModeChanged() {
- testActiveMode[0] = manager.getActiveLaunchMode();
- }
-
- @Override
- public void activeLaunchDescriptorChanged() {
- testActiveDesc[0] = manager.getActiveLaunchDescriptor();
- }
- };
- manager.addListener(listener);
-
- // descriptor for the default descriptor
- ILaunchConfigurationType defaultConfigType = mockLaunchConfigurationType("configType.default");
- ILaunchConfiguration config = mockLaunchConfiguration("test2", defaultConfigType);
- manager.launchConfigurationAdded(config);
- ILaunchDescriptor test2 = manager.getLaunchDescriptor(config);
- assertNotNull(test2);
- assertNotSame(test1, test2);
- manager.setActiveLaunchMode(runMode);
-
- // test2 should be active by default since it was created last
- assertEquals(test2, manager.getActiveLaunchDescriptor());
- assertEquals(test2, testActiveDesc[0]);
- assertEquals(config, manager.getActiveLaunchConfiguration());
- assertEquals(runMode, manager.getActiveLaunchMode());
- assertEquals(runMode, testActiveMode[0]);
-
- // flip to test1
- testActiveMode[0] = null;
- testActiveDesc[0] = null;
- manager.setActiveLaunchDescriptor(test1);
- manager.setActiveLaunchMode(debugMode);
- assertEquals(test1, manager.getActiveLaunchDescriptor());
- assertEquals(test1, testActiveDesc[0]);
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- assertEquals(debugMode, manager.getActiveLaunchMode());
- assertEquals(debugMode, testActiveMode[0]);
-
- // and back to test2
- testActiveMode[0] = null;
- testActiveDesc[0] = null;
- manager.setActiveLaunchDescriptor(test2);
- assertEquals(test2, manager.getActiveLaunchDescriptor());
- assertEquals(test2, testActiveDesc[0]);
- assertEquals(config, manager.getActiveLaunchConfiguration());
- assertEquals(runMode, manager.getActiveLaunchMode());
- assertEquals(runMode, testActiveMode[0]);
- }
-
- @Test
- public void testSetActiveMode() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
-
- String name = "test";
- ILaunchConfigurationType testConfigType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- mockLaunchConfiguration(name, testConfigType);
-
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- TestLaunchObject testObject = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(testObject);
- assertNotNull(manager.getActiveLaunchConfiguration());
-
- // The default launch mode is debug (that may change)
- assertEquals(debugMode, manager.getActiveLaunchMode());
-
- // Set to run
- manager.setActiveLaunchMode(runMode);
- assertEquals(runMode, manager.getActiveLaunchMode());
-
- // and back to debug
- manager.setActiveLaunchMode(debugMode);
- assertEquals(debugMode, manager.getActiveLaunchMode());
- }
-
- @Test
- public void testSetActiveTarget() throws Exception {
- // create separate target types and provider types for each one
- final ILaunchConfigurationType configType1 = mockLaunchConfigurationType("configType.test1");
- final ILaunchConfigurationType configType2 = mockLaunchConfigurationType("configType.test2");
- final TestLaunchTargetType targetType1 = new TestLaunchTargetType("targetType.test1");
- final TestLaunchTargetType targetType2 = new TestLaunchTargetType("targetType.test2");
-
- TestLaunchBarManager manager = new TestLaunchBarManager() {
- @Override
- protected TestLaunchTargetType[] getTestTargetTypes() {
- return new TestLaunchTargetType[] { targetType1, targetType2 };
- }
- @Override
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- TestLaunchConfigurationProvider provider1 = new TestLaunchConfigurationProvider(
- DEFAULT_DESCRIPTOR_TYPE_ID, targetType1.id, configType1, true, this);
- TestLaunchConfigurationProvider provider2 = new TestLaunchConfigurationProvider(
- DEFAULT_DESCRIPTOR_TYPE_ID, targetType2.id, configType2, true, this);
- return new TestLaunchConfigurationProvider[] { provider1, provider2 };
- }
- };
-
- // Target 1
- ILaunchConfiguration config1 = mockLaunchConfiguration("test1", configType1);
- TestLaunchTarget target1 = new TestLaunchTarget("testTarget1", targetType1);
- manager.launchTargetAdded(target1);
-
- // add in our object
- manager.launchObjectAdded(new TestLaunchObject("test1", manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
-
- // launch config and target should be the default one
- assertEquals(target1, manager.getActiveLaunchTarget());
- assertEquals(config1, manager.getActiveLaunchConfiguration());
-
- // switching to second target type should create a new config, but it needs a new name
- ILaunchManager launchManager = manager.getLaunchManager();
- doReturn("test2").when(launchManager).generateLaunchConfigurationName("test1");
- ILaunchConfiguration config2 = mockLaunchConfiguration("test2", configType2);
- TestLaunchTarget target2 = new TestLaunchTarget("testTarget2", targetType2);
- manager.setActiveLaunchTarget(target2);
-
- assertEquals(target2, manager.getActiveLaunchTarget());
- assertEquals(config2, manager.getActiveLaunchConfiguration());
- assertEquals("test2", manager.getActiveLaunchConfiguration().getName());
- }
-
- public class TestRestartLaunchBarManager extends TestLaunchBarManager {
- public TestRestartLaunchBarManager() throws CoreException {
- super();
- }
-
- @Override
- protected TestLaunchTargetType[] getTestTargetTypes() {
- TestLaunchTargetType targetType = new TestLaunchTargetType(DEFAULT_TARGET_TYPE_ID) {
- public void init(ILaunchBarManager manager) throws CoreException {
- manager.launchTargetAdded(new TestLaunchTarget("testTarget1", this));
- manager.launchTargetAdded(new TestLaunchTarget("testTarget2", this));
- }
- };
- return new TestLaunchTargetType[] { targetType };
- }
-
- @Override
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- TestLaunchObjectProvider provider = new TestLaunchObjectProvider() {
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- mockLaunchConfiguration("test1", launchManager.getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID));
- manager.launchObjectAdded(new TestLaunchObject("test1", getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- mockLaunchConfiguration("test2", launchManager.getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID));
- manager.launchObjectAdded(new TestLaunchObject("test2", getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- }
- };
- return new TestLaunchObjectProvider[] { provider };
- }
- }
-
- @Test
- public void testRestart() throws Exception {
- // create two over everything, set second active, and make sure it's remembered in a second manager
- TestLaunchBarManager manager = new TestRestartLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
- assertNotNull(runMode);
-
- // get our targets
- ILaunchTarget target1 = manager.getLaunchTarget(new Pair<String, String>(DEFAULT_TARGET_TYPE_ID, "testTarget1"));
- assertNotNull(target1);
- ILaunchTarget target2 = manager.getLaunchTarget(new Pair<String, String>(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
-
- // get our descriptors
- ILaunchDescriptor desc1 = manager.getLaunchDescriptor(new Pair<String, String>(DEFAULT_DESCRIPTOR_TYPE_ID, "test1"));
- assertNotNull(desc1);
- ILaunchDescriptor desc2 = manager.getLaunchDescriptor(new Pair<String, String>(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
-
- // Set the actives one way
- manager.setActiveLaunchDescriptor(desc1);
- manager.setActiveLaunchTarget(target1);
- manager.setActiveLaunchMode(runMode);
-
- // Create a new manager and check they are the same
- manager = new TestRestartLaunchBarManager();
- desc1 = manager.getLaunchDescriptor(new Pair<String, String>(DEFAULT_DESCRIPTOR_TYPE_ID, "test1"));
- assertNotNull(desc1);
- desc2 = manager.getLaunchDescriptor(new Pair<String, String>(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
- assertEquals(desc1, manager.getActiveLaunchDescriptor());
-
- target1 = manager.getLaunchTarget(new Pair<String, String>(DEFAULT_TARGET_TYPE_ID, "testTarget1"));
- assertNotNull(target1);
- target2 = manager.getLaunchTarget(new Pair<String, String>(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
- assertEquals(target1, manager.getActiveLaunchTarget());
- assertEquals(runMode, manager.getActiveLaunchMode());
-
- // Set them the other way
- manager.setActiveLaunchDescriptor(desc2);
- manager.setActiveLaunchTarget(target2);
- manager.setActiveLaunchMode(debugMode);
-
- // Create a new manager and check they stuck
- manager = new TestRestartLaunchBarManager();
- desc2 = manager.getLaunchDescriptor(new Pair<String, String>(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
- assertEquals(desc2, manager.getActiveLaunchDescriptor());
- target2 = manager.getLaunchTarget(new Pair<String, String>(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
- assertEquals(target2, manager.getActiveLaunchTarget());
- assertEquals(debugMode, manager.getActiveLaunchMode());
- }
-
- @Test
- public void testLaunchConfigCapture() throws Exception {
- final ILaunchConfigurationType configType = mockLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- TestLaunchBarManager manager = new TestLaunchBarManager() {
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
- };
-
- ILaunchConfiguration config = mockLaunchConfiguration("test", configType);
- manager.launchObjectAdded(new TestLaunchObject("test", manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- String activeDescId = manager.toString(manager.getDescriptorId(manager.getActiveLaunchDescriptor()));
- assertEquals(manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID), manager.getActiveLaunchDescriptor().getType());
- assertEquals(config, manager.getActiveLaunchConfiguration());
-
- // restart and make sure the same descriptor is selected and new one new ones created
- doReturn(new ILaunchConfiguration[] { config }).when(launchManager).getLaunchConfigurations();
- manager = new TestLaunchBarManager() {
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
- @Override
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- return new TestLaunchObjectProvider[] {
- new TestLaunchObjectProvider() {
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- manager.launchObjectAdded(
- new TestLaunchObject("test",
- getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));;
- }
- }
- };
- }
- };
- String newActiveDescId = manager.toString(manager.getDescriptorId(manager.getActiveLaunchDescriptor()));
- assertEquals(activeDescId, newActiveDescId);
- assertEquals(1, manager.getLaunchDescriptors().length);
- }
-
- // TODO - test that two target types that map to the same desc type and config type share configs
- // TODO - test duplicating a config. make sure it's default desc and same targets
- // TODO - test project descriptors and stuff
- // TODO - test descriptor takeovers (new descriptors on launchObjectChange
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java
deleted file mode 100644
index 8a30e30181d..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.cdt.launchbar.core.tests;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java
deleted file mode 100644
index 96b3c92ae4f..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2011 QNX Software Systems 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:
- * QNX Software Systems - initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.tests;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManagerTest;
-
-public class AutomatedIntegrationSuite extends TestSuite {
- public AutomatedIntegrationSuite() {
- }
-
- public AutomatedIntegrationSuite(Class<? extends TestCase> theClass, String name) {
- super(theClass, name);
- }
-
- public AutomatedIntegrationSuite(Class<? extends TestCase> theClass) {
- super(theClass);
- }
-
- public AutomatedIntegrationSuite(String name) {
- super(name);
- }
-
- public static Test suite() {
- final AutomatedIntegrationSuite suite = new AutomatedIntegrationSuite();
- // tests
- suite.addTestSuite(LaunchBarManagerTest.class);
- return suite;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/.classpath b/launch/org.eclipse.cdt.launchbar.core/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/launch/org.eclipse.cdt.launchbar.core/.options b/launch/org.eclipse.cdt.launchbar.core/.options
deleted file mode 100644
index e7101e847b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.cdt.launchbar.core/debug=true
-org.eclipse.cdt.launchbar.core/debug/launchbar=true
diff --git a/launch/org.eclipse.cdt.launchbar.core/.project b/launch/org.eclipse.cdt.launchbar.core/.project
deleted file mode 100644
index 410fd5c6bc7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.cdt.launchbar.core</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>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 83d9d210b5a..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LaunchBar Core
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.core.internal.Activator
-Bundle-Vendor: Eclipse CDT
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.debug.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.core,
- org.eclipse.cdt.launchbar.core.internal;x-friends:="org.eclipse.cdt.launchbar.ui,org.eclipse.cdt.launchbar.core.tests"
diff --git a/launch/org.eclipse.cdt.launchbar.core/about.html b/launch/org.eclipse.cdt.launchbar.core/about.html
deleted file mode 100644
index d7c511887d6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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 22, 2007</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/launch/org.eclipse.cdt.launchbar.core/build.properties b/launch/org.eclipse.cdt.launchbar.core/build.properties
deleted file mode 100644
index e9863e281ea..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/launch/org.eclipse.cdt.launchbar.core/plugin.xml b/launch/org.eclipse.cdt.launchbar.core/plugin.xml
deleted file mode 100644
index 5d13b58ee97..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="launchBarContributions" name="Launch Bar Contributions" schema="schema/launchBarContributions.exsd"/>
- <extension
- point="org.eclipse.cdt.launchbar.core.launchBarContributions">
- <targetType
- class="org.eclipse.cdt.launchbar.core.internal.LocalTargetType"
- id="org.eclipse.cdt.launchbar.core.targetType.local">
- </targetType>
- <objectProvider
- class="org.eclipse.cdt.launchbar.core.internal.ProjectLaunchObjectProvider"
- id="org.eclipse.cdt.launchbar.core.objectProvider.project">
- </objectProvider>
- </extension>
-
-</plugin>
diff --git a/launch/org.eclipse.cdt.launchbar.core/pom.xml b/launch/org.eclipse.cdt.launchbar.core/pom.xml
deleted file mode 100644
index d8b92b7cf86..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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>
- <groupId>org.eclipse.cdt</groupId>
- <artifactId>cdt-parent</artifactId>
- <version>8.5.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <version>1.0.0-SNAPSHOT</version>
- <artifactId>org.eclipse.cdt.launchbar.core</artifactId>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd b/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd
deleted file mode 100644
index 36e5548a98a..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd
+++ /dev/null
@@ -1,294 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.cdt.launchbar.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.cdt.launchbar.core" id="launchBarContributions" name="Launch Bar Contributions"/>
- </appinfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element ref="descriptorType"/>
- <element ref="targetType"/>
- <element ref="configType"/>
- <element ref="configProvider"/>
- <element ref="objectProvider"/>
- <element ref="defaultConfigTarget"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="descriptorType">
- <annotation>
- <documentation>
- A descriptor represents an object that can be converted into a launch configuration. The typical example is IProject. Launch configurations can be created that launch the build output of the project.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="priority" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.cdt.launchbar.core.ILaunchDescriptorType"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="targetType">
- <annotation>
- <documentation>
- A target is the machine you launch on. Typical examples include the local machine we are running on, or remote embedded or server targets.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.cdt.launchbar.core.ILaunchTargetType"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="configType">
- <annotation>
- <documentation>
- Descriptor types and target types map to a launch configuration type. Configurations of that type knows how to launch for the desciptor on targets of that type.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="descriptorType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.cdt.launchbar.core.launchBarContributions/descriptorType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="targetType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.cdt.launchbar.core.launchBarContributions/targetType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="launchConfigurationType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.debug.core.launchConfigurationTypes/launchConfigurationType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="isDefault" type="boolean">
- <annotation>
- <documentation>
- Is this the default target type for this descriptor type.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="configProvider">
- <annotation>
- <documentation>
- The config provider knows how to create launch configurations from descriptors. It tracks which configs it has created so that they don&apos;t show up as descriptors on their own.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="launchConfigurationType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.debug.core.launchConfigurationTypes/launchConfigurationType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.cdt.launchbar.core.ILaunchConfigurationProvider"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="defaultConfigTarget">
- <annotation>
- <documentation>
- The default config provider is brought in when no other config providers claim a given launch configuration. This entry associates a target type with the launch configuration so that it can be launched on targets of that type.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="launchConfigurationType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.debug.core.launchConfigurationTypes/launchConfigurationType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="targetType" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.cdt.launchbar.core.launchBarContributions/targetType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="isDefault" type="boolean">
- <annotation>
- <documentation>
- Is this the default target type for this descriptor type.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="objectProvider">
- <annotation>
- <documentation>
- Object providers pump launch objects into the model as they are created and removed. These are used to create descriptors for these objects.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.cdt.launchbar.core.ILaunchObjectProvider"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
-
-</schema>
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java
deleted file mode 100644
index ac5bbe0d3bc..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-public interface ILaunchBarManager {
-
- /**
- * A launch object has been added. Create a matching launch descriptor if available.
- *
- * @param element launch object
- * @return the launch descriptor that got created, null of none was
- * @throws CoreException
- */
- ILaunchDescriptor launchObjectAdded(Object launchObject) throws CoreException;
-
- /**
- * A launch object has been removed. Remove the associated launch descriptor if there is one.
- *
- * @param element launch object
- * @throws CoreException
- */
- void launchObjectRemoved(Object launchObject) throws CoreException;
-
- /**
- * A launch object has changed in some way that affects the launch bar.
- *
- * @param launchObject
- * @throws CoreException
- */
- void launchObjectChanged(Object launchObject) throws CoreException;
-
- /**
- * A new launch target has been added.
- *
- * @param target launch target
- * @throws CoreException
- */
- void launchTargetAdded(ILaunchTarget target) throws CoreException;
-
- /**
- * A launch target has been removed.
- *
- * @param target launch target
- * @throws CoreException
- */
- void launchTargetRemoved(ILaunchTarget target) throws CoreException;
-
- /**
- * The launch target has changed in some way that affects the
- * launch bar.
- *
- * @param target launch target
- */
- void launchTargetChanged(ILaunchTarget target);
-
- // TODO API for adding and removing types.
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java
deleted file mode 100644
index f2910fb2445..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * The provider of launch configurations of a given type for a given descriptor type
- * and a given target type.
- */
-public interface ILaunchConfigurationProvider {
-
- /**
- * Does this provider own this launch configuration. If so, make sure the launch descriptor
- * is properly constructed by sending in a launch object to the launch manager.
- * And return that object.
- *
- * @param configuration
- * @return launch object that relates to this config
- * @throws CoreException
- */
- Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException;
-
- /**
- * A launch configuration has been removed.
- *
- * @param configuration
- * @return was the launch configuration removed by this provider?
- * @throws CoreException
- */
- boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException;
-
- /**
- * Returns the launch configuration type for configurations created by this provider.
- *
- * @return launch configuration type
- * @throws CoreException
- */
- ILaunchConfigurationType getLaunchConfigurationType() throws CoreException;
-
- /**
- * Create a launch configuration for the descriptor to launch on the target.
- *
- * @param descriptor
- * @param target
- * @return launch configuration
- * @throws CoreException
- */
- ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException;
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java
deleted file mode 100644
index b5d6f7fb2c9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-
-/**
- * Represents a thing that can be launched.
- * It is good practice that the descriptor is adaptable to the launch object
- * it is representing.
- */
-public interface ILaunchDescriptor extends IAdaptable {
-
- /**
- * Name to show in the launch descriptor selector.
- * Names must be unique for all descriptors of a given type.
- *
- * @return name of the launch descriptor
- */
- String getName();
-
- /**
- * The type of launch descriptor.
- *
- * @return provider
- */
- ILaunchDescriptorType getType();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java
deleted file mode 100644
index 564aee33129..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Provides mapping between launch objects and launch descriptors.
- *
- * It is strongly recommended to extend AbstarctLaunchDescriptorType instead of implementing this directly
- */
-public interface ILaunchDescriptorType {
-
- /**
- * Does this type own this launch object?
- *
- * @deprecated this needs to be replaced by enablement to avoid plug-in loading.
- *
- * @param element
- * @return owns element
- * @throws CoreException
- */
- boolean ownsLaunchObject(Object launchObject) throws CoreException;
-
- /**
- * Return a descriptor for the given launch object.
- *
- * May return null to essentially eat the element so no other types
- * create a descriptor for it.
- *
- * @param descriptor launch object for descriptor
- * @return the best descriptor
- * @throws CoreException
- */
- ILaunchDescriptor getDescriptor(Object launchObject) throws CoreException;
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java
deleted file mode 100644
index 25426ea2ad9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * An extension that serves up objects to feed launch descriptors.
- *
- */
-public interface ILaunchObjectProvider {
-
- /**
- * Add initial launch descriptors and set up for new ones.
- *
- * @param launchbar manager
- * @throws CoreException
- */
- void init(ILaunchBarManager manager) throws CoreException;
-
- /**
- * Shutting down, remove any listeners.
- */
- void dispose();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java
deleted file mode 100644
index d5f01c1d661..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-public interface ILaunchTarget extends IAdaptable {
-
- /**
- * Returns the name of this target.
- * Names must be unique across all targets of a given type.
- *
- * @return name of the target
- */
- String getName();
-
- /**
- * Returns the type for this target.
- *
- * @return type of the target
- */
- ILaunchTargetType getType();
-
- /**
- * The active state of this target has changed.
- *
- * @param active active state of the target
- */
- void setActive(boolean active);
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java
deleted file mode 100644
index 361f8b210f5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-public interface ILaunchTargetType {
-
- /**
- * Add initial targets and set up any listeners.
- *
- * @param manager
- * @throws CoreException
- */
- void init(ILaunchBarManager manager) throws CoreException;
-
- /**
- * Shutting down, remove any listeners
- */
- void dispose();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java
deleted file mode 100644
index 9fa3cf3e202..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.cdt.launchbar.core.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * A root class for launch configuration providers. Provides the ability to detect launch
- * configurations that it has created.
- */
-public abstract class LaunchConfigurationProvider implements ILaunchConfigurationProvider {
-
- // Used to make sure this is the config we've created
- protected static final String ORIGINAL_NAME = Activator.PLUGIN_ID + ".originalName";
-
- @Override
- public ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException {
- String name = launchManager.generateLaunchConfigurationName(getConfigurationName(descriptor));
- ILaunchConfigurationWorkingCopy wc = getLaunchConfigurationType().newInstance(null, name);
- wc.setAttribute(ORIGINAL_NAME, name);
- populateConfiguration(wc, descriptor);
- return wc.doSave();
- }
-
- /**
- * Potential name for new configurations. Names are still put through the launch manager
- * to ensure they are unique.
- *
- * @param descriptor the launch descriptor triggering the configuration creation
- * @return candidate configuration name
- */
- protected String getConfigurationName(ILaunchDescriptor descriptor) {
- // by default, use the descriptor name
- return descriptor.getName();
- }
-
- /**
- * Populate the new configuration with attributes and resources.
- *
- * @param workingCopy working copy for the new configuration
- * @param descriptor the launch descriptor that triggered the new configuration
- * @throws CoreException
- */
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- // by default, nothing to add
- }
-
- /**
- * Determines if we created this launch configuration. Generally used by the launch configuration
- * add handler to determine if the incoming launch configuration is ours.
- *
- * @param configuration
- * @return do we own this launch configuration
- * @throws CoreException
- */
- protected boolean ownsConfiguration(ILaunchConfiguration configuration) throws CoreException {
- // must be the same config type
- if (!configuration.getType().equals(getLaunchConfigurationType()))
- return false;
-
- // we created it if it has the same name we created it with
- return configuration.getAttribute(ORIGINAL_NAME, "").equals(configuration.getName());
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java
deleted file mode 100644
index 38aa0203a5b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * A root launch configuration provider that can be used with project launch descriptors.
- * Takes ownership of configurations we've created that map to the the project.
- */
-public abstract class ProjectLaunchConfigurationProvider extends LaunchConfigurationProvider {
-
- @Override
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- super.populateConfiguration(workingCopy, descriptor);
-
- // Add our project to the mapped resources
- IProject project = (IProject) descriptor.getAdapter(IProject.class);
- IResource[] mappedResources = workingCopy.getMappedResources();
- if (mappedResources == null || mappedResources.length == 0) {
- workingCopy.setMappedResources(new IResource[] { project });
- } else {
- IResource[] newResources = new IResource[mappedResources.length + 1];
- System.arraycopy(mappedResources, 0, newResources, 0, mappedResources.length);
- newResources[mappedResources.length] = project;
- workingCopy.setMappedResources(newResources);
- }
- }
-
- /**
- * Extract the project from the launch configuration. Used when checking if we own it.
- *
- * @param configuration
- * @return project for launch configuration.
- * @throws CoreException
- */
- protected IProject getProject(ILaunchConfiguration configuration) throws CoreException {
- // by default return the first project in the mapped resources
- for (IResource resource : configuration.getMappedResources()) {
- if (resource instanceof IProject) {
- return (IProject) resource;
- }
- }
-
- return null;
- }
-
- @Override
- public Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException {
- if (!ownsConfiguration(configuration)) {
- return null;
- }
-
- IProject project = getProject(configuration);
- if (project == null) {
- // The user must have changed project. We don't own it any more in that case.
- return null;
- }
-
- return project;
- }
-
- @Override
- public boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException {
- return ownsConfiguration(configuration);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java
deleted file mode 100644
index 9d9fc1dd408..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.PlatformObject;
-
-/**
- * A reusable descriptor for wrapping projects that can be used by descriptor types
- * that map to projects.
- */
-public class ProjectLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
-
- private final ILaunchDescriptorType type;
- private final IProject project;
-
- public ProjectLaunchDescriptor(ILaunchDescriptorType type, IProject project) {
- this.type = type;
- this.project = project;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (IProject.class.equals(adapter)) {
- return project;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return project.getName();
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java
deleted file mode 100644
index 0352d6240d5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-public class Activator extends Plugin {
-
- public static final String PLUGIN_ID = "org.eclipse.cdt.launchbar.core";
- private static Activator plugin;
- private LaunchBarManager launchBarManager;
-
- public void start(BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- plugin = this;
- launchBarManager = new LaunchBarManager();
- bundleContext.registerService(ILaunchBarManager.class, launchBarManager, null);
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- super.stop(bundleContext);
- plugin = null;
- launchBarManager.dispose();
- launchBarManager = null;
- }
-
- public static Activator getDefault() {
- return plugin;
- }
-
- public LaunchBarManager getLaunchBarManager() {
- return launchBarManager;
- }
-
- public static void throwCoreException(Exception e) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, PLUGIN_ID, e.getLocalizedMessage(), e));
- }
-
- public static void log(IStatus status) {
- if (plugin != null)
- plugin.getLog().log(status);
- else
- System.err.println(status.getMessage());
- }
-
- public static void log(Exception exception) {
- log(new Status(IStatus.ERROR, PLUGIN_ID, exception.getLocalizedMessage(), exception));
- }
-
- private static final String DEBUG_ONE =
- PLUGIN_ID + "/debug/launchbar";
-
- public static void trace(String str) {
- if (plugin == null || (plugin.isDebugging() && "true".equalsIgnoreCase(Platform.getDebugOption(DEBUG_ONE))))
- System.out.println("launchbar: " + str);
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java
deleted file mode 100644
index 5038eff773e..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A special launch descriptor that managed configurations that aren't owned by other
- * descriptors.
- */
-public class DefaultLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
-
- private final DefaultLaunchDescriptorType type;
- private final ILaunchConfiguration configuration;
-
- public DefaultLaunchDescriptor(DefaultLaunchDescriptorType type, ILaunchConfiguration configuration) {
- this.type = type;
- this.configuration = configuration;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (ILaunchConfiguration.class.equals(adapter)) {
- return configuration;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return configuration.getName();
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java
deleted file mode 100644
index 79dd1c318c2..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.cdt.launchbar.core.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A special descriptor type that managed configurations that aren't owned
- * by other descriptor types.
- */
-public class DefaultLaunchDescriptorType implements ILaunchDescriptorType {
-
- public static final String ID = Activator.PLUGIN_ID + ".descriptorType.default";
-
- private Map<ILaunchConfiguration, DefaultLaunchDescriptor> descriptors = new HashMap<>();
-
- @Override
- public boolean ownsLaunchObject(Object element) {
- // This descriptor type doesn't own any launch objects
- return false;
- }
-
- @Override
- public ILaunchDescriptor getDescriptor(Object element) {
- if (element instanceof ILaunchConfiguration) {
- ILaunchConfiguration config = (ILaunchConfiguration) element;
- DefaultLaunchDescriptor descriptor = descriptors.get(config);
- if (descriptor == null) {
- descriptor = new DefaultLaunchDescriptor(this, config);
- descriptors.put(config, descriptor);
- }
- return descriptor;
- }
-
- return null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java
deleted file mode 100644
index eb27d3d2898..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * A wrapper class that delays instantiation of classes until they're needed
- * to prevent early plug-in loading.
- *
- * @param <T> the type of the object created
- */
-public class ExecutableExtension<T> {
-
- private IConfigurationElement element;
- private String propertyName;
- private T object;
-
- public ExecutableExtension(IConfigurationElement element, String propertyName) {
- this.element = element;
- this.propertyName = propertyName;
- }
-
- // For testing, pre-populate the object
- public ExecutableExtension(T object) {
- this.object = object;
- }
-
- /**
- * Get the object instantiating it if necessary.
- * @return object
- * @throws CoreException
- */
- @SuppressWarnings("unchecked")
- public T get() throws CoreException {
- if (element != null) {
- object = (T) element.createExecutableExtension(propertyName);
- element = null;
- propertyName = null;
- }
- return object;
- }
-
- /**
- * Creates a new object. Can't be done if you've done a get already.
- * @return a new object from the extension or null if get was called earlier
- * @throws CoreException
- */
- @SuppressWarnings("unchecked")
- public T create() throws CoreException {
- if (element != null) {
- return (T) element.createExecutableExtension(propertyName);
- }
- return null;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java
deleted file mode 100644
index dc6aa8eed64..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java
+++ /dev/null
@@ -1,1122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchConfigurationProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The brains of the launch bar.
- */
-public class LaunchBarManager implements ILaunchBarManager, ILaunchConfigurationListener {
-
- // TODO make these more fine grained or break them into more focused listeners
- public interface Listener {
- void activeLaunchDescriptorChanged();
- void activeLaunchModeChanged();
- void activeLaunchTargetChanged();
- void launchDescriptorRemoved(ILaunchDescriptor descriptor);
- void launchTargetsChanged();
- }
-
- public static class LaunchTargetTypeInfo {
- private final ILaunchTargetType type;
- private final String id;
-
- public LaunchTargetTypeInfo(String id, ILaunchTargetType type) {
- this.type = type;
- this.id = id;
- }
-
- public String getId() {
- return id;
- }
-
- public ILaunchTargetType getType() {
- return type;
- }
- }
-
- public static class LaunchDescriptorTypeInfo {
- private final String id;
- private final int priority;
- private IConfigurationElement element;
- private ILaunchDescriptorType type;
-
- public LaunchDescriptorTypeInfo(String id, int priority, IConfigurationElement element) {
- this.id = id;
- this.priority = priority;
- this.element = element;
- }
-
- // Used for testing
- public LaunchDescriptorTypeInfo(String id, int priority, ILaunchDescriptorType type) {
- this.id = id;
- this.priority = priority;
- this.type = type;
- }
-
- public String getId() {
- return id;
- }
-
- public int getPriority() {
- return priority;
- }
-
- public ILaunchDescriptorType getType() throws CoreException {
- if (type == null) {
- type = (ILaunchDescriptorType) element.createExecutableExtension("class");
- element = null;
- }
- return type;
- }
- }
-
- public static class LaunchConfigProviderInfo {
- private final String launchConfigTypeId;
- private IConfigurationElement element;
- private ILaunchConfigurationProvider provider;
-
- public LaunchConfigProviderInfo(String launchConfigTypeId, IConfigurationElement element) {
- this.launchConfigTypeId = launchConfigTypeId;
- this.element = element;
- }
-
- // For testing
- public LaunchConfigProviderInfo(String launchConfigTypeId, ILaunchConfigurationProvider provider) {
- this.launchConfigTypeId = launchConfigTypeId;
- this.provider = provider;
- }
-
- public String getLaunchConfigTypeId() {
- return launchConfigTypeId;
- }
-
- public ILaunchConfigurationProvider getProvider() throws CoreException {
- if (provider == null) {
- provider = (ILaunchConfigurationProvider) element.createExecutableExtension("class");
- element = null;
- }
- return provider;
- }
- }
-
- public static class LaunchConfigTypeInfo {
- private final String descriptorTypeId;
- private final String targetTypeId;
- private final String launchConfigTypeId;
-
- public LaunchConfigTypeInfo(String descriptorTypeId, String targetTypeId, String launchConfigTypeId) {
- this.descriptorTypeId = descriptorTypeId;
- this.targetTypeId = targetTypeId;
- this.launchConfigTypeId = launchConfigTypeId;
- }
-
- public String getDescriptorTypeId() {
- return descriptorTypeId;
- }
-
- public String getTargetTypeId() {
- return targetTypeId;
- }
-
- public String getLaunchConfigTypeId() {
- return launchConfigTypeId;
- }
- }
-
- private final List<Listener> listeners = new LinkedList<>();
-
- // The launch object providers
- private final List<ILaunchObjectProvider> objectProviders = new ArrayList<>();
-
- // The target types by id - doesn't need to be an executablExtension since it runs right away
- private final Map<String, ILaunchTargetType> targetTypes = new HashMap<>();
-
- // The extended info for the target types as specified in the extension
- private final Map<ILaunchTargetType, LaunchTargetTypeInfo> targetTypeInfo = new HashMap<>();
-
- // The descriptor types
- private final Map<String, LaunchDescriptorTypeInfo> descriptorTypes = new HashMap<>();
-
- // the extended info for loaded descriptor types
- private final Map<ILaunchDescriptorType, LaunchDescriptorTypeInfo> descriptorTypeInfo = new HashMap<>();
-
- // Descriptor types ordered from highest priority to lowest
- private final List<LaunchDescriptorTypeInfo> orderedDescriptorTypes = new LinkedList<>();
-
- // The mapping from descriptor type to target type to config type info
- private final Map<String, Map<String, LaunchConfigTypeInfo>> configTypes = new HashMap<>();
-
- // Map descriptor type to target type so we can build when no targets have been added
- private final Map<String, String> defaultTargetTypes = new HashMap<>();
-
- // The launch config providers
- private final Map<String, LaunchConfigProviderInfo> configProviders = new HashMap<>();
-
- // Map from launch config type id to target type id for default config descriptor
- private final Map<String, Set<String>> defaultConfigTargetTypes = new HashMap<>();
-
- // Map from launch config type Id to target type id for default config descriptor for null target
- private final Map<String, String> defaultConfigDefaultTargetTypes = new HashMap<>();
-
- // Descriptors in MRU order, key is desc type id and desc name.
- private final Map<Pair<String, String>, ILaunchDescriptor> descriptors = new LinkedHashMap<>();
-
- // Map of launch objects to launch descriptors
- private final Map<Object, ILaunchDescriptor> objectDescriptorMap = new HashMap<>();
-
- // Targets, key is target type id and target name.
- private final Map<Pair<String, String>, ILaunchTarget> targets = new HashMap<>();
-
- // The created launch configurations
- private final Map<ILaunchDescriptor, Map<ILaunchConfigurationProvider, ILaunchConfiguration>> configs = new HashMap<>();
-
- private ILaunchDescriptor activeLaunchDesc;
- private ILaunchMode activeLaunchMode;
- private ILaunchTarget activeLaunchTarget;
-
- // The default launch descriptor type used to wrap unclaimed launch configs
- private DefaultLaunchDescriptorType defaultDescriptorType = new DefaultLaunchDescriptorType();
-
- // private static final String PREF_ACTIVE_CONFIG_DESC = "activeConfigDesc";
- private static final String PREF_ACTIVE_LAUNCH_MODE = "activeLaunchMode";
- private static final String PREF_ACTIVE_LAUNCH_TARGET = "activeLaunchTarget";
- private static final String PREF_CONFIG_DESC_ORDER = "configDescList";
-
- public LaunchBarManager() {
- new Job("Launch Bar Initialization") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- init();
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
- }.schedule();
- }
-
- public void init() throws CoreException {
- // Fetch the desc order before the init messes it up
- IEclipsePreferences store = getPreferenceStore();
- String configDescIds = store.get(PREF_CONFIG_DESC_ORDER, "");
-
- // Load up the types
- loadExtensions();
-
- // Add in the default descriptor type
- LaunchDescriptorTypeInfo defaultInfo = new LaunchDescriptorTypeInfo(DefaultLaunchDescriptorType.ID,
- 0, defaultDescriptorType);
- addDescriptorType(defaultInfo);
-
- // Hook up the existing launch configurations and listen
- ILaunchManager launchManager = getLaunchManager();
- for (ILaunchConfiguration configuration : launchManager.getLaunchConfigurations()) {
- launchConfigurationAdded(configuration);
- }
- launchManager.addLaunchConfigurationListener(this);
-
- // Reorder the descriptors based on the preference
- if (!configDescIds.isEmpty()) {
- String[] split = configDescIds.split(",");
- ILaunchDescriptor last = null;
- for (String id : split) {
- Pair<String, String> key = toId(id);
- ILaunchDescriptor desc = descriptors.get(key);
- if (desc != null) {
- descriptors.remove(key);
- descriptors.put(key, desc);
- last = desc;
- }
- }
- // Set the active desc, with MRU, it should be the last one
- if (last != null) {
- setActiveLaunchDescriptor(last);
- }
- }
- }
-
- // To allow override by tests
- protected IExtensionPoint getExtensionPoint() throws CoreException {
- return Platform.getExtensionRegistry().getExtensionPoint(Activator.PLUGIN_ID, "launchBarContributions");
- }
-
- // To allow override by tests
- protected ILaunchManager getLaunchManager() {
- return DebugPlugin.getDefault().getLaunchManager();
- }
-
- protected void loadExtensions() throws CoreException {
- IExtensionPoint point = getExtensionPoint();
- IExtension[] extensions = point.getExtensions();
-
- // Load up the types
- for (IExtension extension : extensions) {
- for (IConfigurationElement element : extension.getConfigurationElements()) {
- try {
- String elementName = element.getName();
- if (elementName.equals("descriptorType")) {
- String id = element.getAttribute("id");
- String priorityStr = element.getAttribute("priority");
- int priority = 1;
- if (priorityStr != null) {
- try {
- priority = Integer.parseInt(priorityStr);
- } catch (NumberFormatException e) {
- // Log it but keep going with the default
- Activator.log(e);
- }
- }
- LaunchDescriptorTypeInfo typeInfo = new LaunchDescriptorTypeInfo(id, priority, element);
- addDescriptorType(typeInfo);
- } else if (elementName.equals("targetType")) {
- String id = element.getAttribute("id");
- ILaunchTargetType targetType = (ILaunchTargetType) element.createExecutableExtension("class");
- LaunchTargetTypeInfo info = new LaunchTargetTypeInfo(id, targetType);
- addTargetType(info);
- } else if (elementName.equals("configProvider")) {
- String configTypeId = element.getAttribute("launchConfigurationType");
- LaunchConfigProviderInfo info = new LaunchConfigProviderInfo(configTypeId, element);
- addConfigProvider(info);
- } else if (elementName.equals("configType")) {
- String descriptorTypeId = element.getAttribute("descriptorType");
- String targetTypeId = element.getAttribute("targetType");
- String configTypeId = element.getAttribute("launchConfigurationType");
- String isDefault = element.getAttribute("isDefault");
- LaunchConfigTypeInfo info = new LaunchConfigTypeInfo(descriptorTypeId, targetTypeId, configTypeId);
- addConfigType(info, Boolean.valueOf(isDefault));
- // also assume that the target type works for the config type
- addDefaultConfigTargetType(configTypeId, targetTypeId, Boolean.valueOf(isDefault));
- } else if (elementName.equals("defaultConfigTarget")) {
- String configTypeId = element.getAttribute("launchConfigurationType");
- String targetTypeId = element.getAttribute("targetType");
- String isDefault = element.getAttribute("isDefault");
- addDefaultConfigTargetType(configTypeId, targetTypeId, Boolean.valueOf(isDefault));
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
-
- // Now that all the types are loaded, the object providers which now populate the descriptors
- for (IExtension extension : extensions) {
- for (IConfigurationElement element : extension.getConfigurationElements()) {
- try {
- String elementName = element.getName();
- if (elementName.equals("objectProvider")) {
- ILaunchObjectProvider objectProvider = (ILaunchObjectProvider) element.createExecutableExtension("class");
- addObjectProvider(objectProvider);
- }
- } catch (Exception e) {
- Activator.log(e); // exceptions during extension loading, log and move on
- }
- }
- }
- }
-
- public void addDescriptorType(LaunchDescriptorTypeInfo typeInfo) throws CoreException {
- descriptorTypes.put(typeInfo.getId(), typeInfo);
- // TODO figure out a better place to set the id so we don't load the type object until needed
- descriptorTypeInfo.put(typeInfo.getType(), typeInfo);
-
- Iterator<LaunchDescriptorTypeInfo> iterator = orderedDescriptorTypes.iterator();
- boolean inserted = false;
- for (int i = 0; i < orderedDescriptorTypes.size(); ++i) {
- if (iterator.next().getPriority() < typeInfo.getPriority()) {
- orderedDescriptorTypes.add(i, typeInfo);
- inserted = true;
- break;
- }
- }
-
- if (!inserted) {
- orderedDescriptorTypes.add(typeInfo);
- }
-
- Activator.trace("registered descriptor type " + typeInfo.getId());
- }
-
- public void addTargetType(final LaunchTargetTypeInfo info) {
- targetTypes.put(info.getId(), info.getType());
- targetTypeInfo.put(info.getType(), info);
- SafeRunner.run(new ISafeRunnable() {
- @Override
- public void run() throws Exception {
- info.getType().init(LaunchBarManager.this);
- }
- @Override
- public void handleException(Throwable exception) {
- Activator.trace("target runner init exception " + info.getId());
- }
- });
- Activator.trace("registered target " + info.getId());
- }
-
- public void addConfigType(LaunchConfigTypeInfo info, boolean isDefault) {
- Map<String, LaunchConfigTypeInfo> targetMap = configTypes.get(info.getDescriptorTypeId());
- if (targetMap == null) {
- targetMap = new HashMap<>();
- configTypes.put(info.getDescriptorTypeId(), targetMap);
- }
- targetMap.put(info.getTargetTypeId(), info);
-
- if (isDefault) {
- defaultTargetTypes.put(info.getDescriptorTypeId(), info.getTargetTypeId());
- }
- }
-
- public void addConfigProvider(LaunchConfigProviderInfo info) {
- configProviders.put(info.getLaunchConfigTypeId(), info);
- }
-
- public void addDefaultConfigTargetType(String configTypeId, String targetTypeId, boolean isDefault) {
- Set<String> targetTypes = defaultConfigTargetTypes.get(configTypeId);
- if (targetTypes == null) {
- targetTypes = new HashSet<>();
- defaultConfigTargetTypes.put(configTypeId, targetTypes);
- }
- targetTypes.add(targetTypeId);
-
- if (isDefault) {
- defaultConfigDefaultTargetTypes.put(configTypeId, targetTypeId);
- }
- }
-
- public void addObjectProvider(ILaunchObjectProvider objectProvider) {
- objectProviders.add(objectProvider);
- try {
- objectProvider.init(this);
- } catch (Exception e) {
- Activator.log(e);
- }
- }
-
- private void addDescriptor(Object launchObject, ILaunchDescriptor descriptor) throws CoreException {
- descriptors.put(getDescriptorId(descriptor), descriptor);
- objectDescriptorMap.put(launchObject, descriptor);
- setActiveLaunchDescriptor(descriptor);
- }
-
- private void removeDescriptor(Object launchObject, ILaunchDescriptor descriptor) throws CoreException {
- objectDescriptorMap.remove(launchObject); // remove launch object unconditionally
- if (descriptor != null) {
- descriptors.remove(getDescriptorId(descriptor));
- if (descriptor.equals(activeLaunchDesc)) {
- setActiveLaunchDescriptor(getLastUsedDescriptor());
- }
- // Also delete any configs created for this descriptor
- Map<ILaunchConfigurationProvider, ILaunchConfiguration> configMap = configs.get(descriptor);
- if (configMap != null) {
- configs.remove(descriptor);
- for (ILaunchConfiguration config : configMap.values()) {
- config.delete();
- }
- }
- }
- }
-
- public ILaunchDescriptorType getLaunchDescriptorType(String id) throws CoreException {
- return descriptorTypes.get(id).getType();
- }
-
- public ILaunchDescriptor getLaunchDescriptor(Pair<String, String> id) {
- return descriptors.get(id);
- }
-
- public ILaunchDescriptor getLaunchDescriptor(Object launchObject) {
- return objectDescriptorMap.get(launchObject);
- }
-
- public String getDescriptorTypeId(ILaunchDescriptorType type) {
- return descriptorTypeInfo.get(type).getId();
- }
-
- public Pair<String, String> getDescriptorId(ILaunchDescriptor descriptor) {
- return new Pair<String, String>(getDescriptorTypeId(descriptor.getType()), descriptor.getName());
- }
-
- public ILaunchTargetType getLaunchTargetType(String id) {
- return targetTypes.get(id);
- }
-
- public String getTargetTypeId(ILaunchTargetType type) {
- return targetTypeInfo.get(type).getId();
- }
-
- private Pair<String, String> getTargetId(ILaunchTarget target) {
- return new Pair<String, String>(getTargetTypeId(target.getType()), target.getName());
- }
-
- public String toString(Pair<String, String> key) {
- return key.getFirst() + ":" + key.getSecond();
- }
-
- protected Pair<String, String> toId(String key) {
- int i = key.indexOf(':');
- if (i < 0) {
- return null;
- }
-
- return new Pair<String, String>(key.substring(0, i), key.substring(i + 1));
- }
-
- private ILaunchConfigurationProvider getConfigProvider(ILaunchDescriptor descriptor, ILaunchTarget target) throws CoreException {
- if (descriptor == null) {
- return null;
- }
-
- ILaunchDescriptorType descriptorType = descriptor.getType();
-
- ILaunchTargetType targetType = null;
- if (target != null) {
- targetType = target.getType();
- } else {
- String targetTypeId = defaultTargetTypes.get(getDescriptorTypeId(descriptorType));
- if (targetTypeId != null) {
- targetType = targetTypes.get(targetTypeId);
- }
- }
-
- if (targetType == null) {
- return null;
- }
-
- Map<String, LaunchConfigTypeInfo> targetMap = configTypes.get(getDescriptorTypeId(descriptorType));
- if (targetMap != null) {
- LaunchConfigTypeInfo typeInfo = targetMap.get(getTargetTypeId(targetType));
- if (typeInfo != null) {
- LaunchConfigProviderInfo providerInfo = configProviders.get(typeInfo.getLaunchConfigTypeId());
- if (providerInfo != null) {
- return providerInfo.getProvider();
- }
- }
- }
-
- return null;
- }
-
- private ILaunchDescriptorType ownsLaunchObject(Object launchObject) throws CoreException {
- // TODO use enablement to find out what descriptor types to ask
- // to prevent unnecessary plug-in loading
- for (LaunchDescriptorTypeInfo descriptorInfo : orderedDescriptorTypes) {
- ILaunchDescriptorType descriptorType = descriptorInfo.getType();
- if (descriptorType.ownsLaunchObject(launchObject)) {
- return descriptorType;
- }
- }
- return null;
- }
-
- @Override
- public ILaunchDescriptor launchObjectAdded(Object launchObject) {
- Activator.trace("launch object added " + launchObject);
- ILaunchDescriptor desc = objectDescriptorMap.get(launchObject);
- if (desc != null)
- return desc;
-
- try {
- ILaunchDescriptorType type = ownsLaunchObject(launchObject);
- if (type != null) {
- desc = type.getDescriptor(launchObject);
- if (desc != null) {
- addDescriptor(launchObject, desc);
- }
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
-
- return desc;
- }
-
- @Override
- public void launchObjectRemoved(Object launchObject) throws CoreException {
- Activator.trace("launch object removed " + launchObject);
- ILaunchDescriptor desc = objectDescriptorMap.get(launchObject);
- removeDescriptor(launchObject, desc);
- }
-
- @Override
- public void launchObjectChanged(Object launchObject) throws CoreException {
- // TODO deal with object renames here, somehow
-
- // check if a new descriptor wants to take over
- ILaunchDescriptor origDesc = objectDescriptorMap.get(launchObject);
- ILaunchDescriptorType newDescType = ownsLaunchObject(launchObject);
-
- if (newDescType != null) {
- if (origDesc == null || !origDesc.getType().equals(newDescType)) {
- // we have a take over
- if (origDesc != null) {
- removeDescriptor(launchObject, origDesc);
- }
-
- ILaunchDescriptor newDesc = newDescType.getDescriptor(launchObject);
- if (newDesc != null) {
- addDescriptor(launchObject, newDesc);
- }
- }
- }
- }
-
- protected ILaunchDescriptor getLastUsedDescriptor() {
- if (descriptors.size() == 0)
- return null;
- ILaunchDescriptor[] descs = descriptors.values().toArray(new ILaunchDescriptor[descriptors.size()]);
- return descs[descs.length - 1];
- }
-
- public ILaunchDescriptor[] getLaunchDescriptors() {
- // return descriptor in usage order (most used first). UI can sort them later as it wishes
- ArrayList<ILaunchDescriptor> values = new ArrayList<>(descriptors.values());
- Collections.reverse(values);
- return values.toArray(new ILaunchDescriptor[values.size()]);
- }
-
- public ILaunchDescriptor getActiveLaunchDescriptor() {
- return activeLaunchDesc;
- }
-
- public void setActiveLaunchDescriptor(ILaunchDescriptor descriptor) throws CoreException {
- Activator.trace("set active descriptor " + descriptor);
- if (activeLaunchDesc == descriptor) {
- // Sync since targets could be changed since last time (and modes theoretically too)
- syncActiveTarget();
- syncActiveMode();
- Activator.trace("resync for " + descriptor);
- return;
- }
- if (descriptor != null && !descriptors.containsValue(descriptor))
- throw new IllegalStateException("Active descriptor must be in the map of descriptors");
- if (descriptor == null)
- descriptor = getLastUsedDescriptor(); // do not set to null unless no descriptors
- activeLaunchDesc = descriptor;
- if (descriptor != null) { // keeps most used descriptor last
- Pair<String, String> id = getDescriptorId(descriptor);
- descriptors.remove(id);
- descriptors.put(id, descriptor);
- }
- // store in persistent storage
- Activator.trace("new active config is stored " + descriptor);
-
- // Store the desc order
- StringBuffer buff = new StringBuffer();
- for (Pair<String, String> key : descriptors.keySet()) {
- if (buff.length() > 0) {
- buff.append(',');
- }
- buff.append(toString(key));
- }
- setPreference(getPreferenceStore(), PREF_CONFIG_DESC_ORDER, buff.toString());
-
- // Send notifications
- updateLaunchDescriptor(activeLaunchDesc);
- // Set active target
- syncActiveTarget();
- // Set active mode
- syncActiveMode();
- }
-
- private void syncActiveTarget() throws CoreException {
- if (activeLaunchDesc == null) {
- setActiveLaunchTarget(null);
- return;
- }
-
- // TODO turning off for now since it's buggy. There is thought though that we may want
- // to keep the active target when changing descriptors if it's valid for that descriptor.
- // If we do that, then the active target should be recorded against the target type.
- // The active target is too random at startup for this to work as coded here.
-// if (activeLaunchTarget != null && supportsTargetType(activeLaunchDesc, activeLaunchTarget)) {
-// return; // not changing target
-// }
-
- // last stored target from persistent storage
- String activeTargetId = getPerDescriptorStore().get(PREF_ACTIVE_LAUNCH_TARGET, null);
- if (activeTargetId != null) {
- ILaunchTarget storedTarget = getLaunchTarget(toId(activeTargetId));
- if (storedTarget != null && supportsTargetType(activeLaunchDesc, storedTarget)) {
- setActiveLaunchTarget(storedTarget);
- return;
- }
- }
- // default target for descriptor
- setActiveLaunchTarget(getDefaultLaunchTarget(activeLaunchDesc));
- }
-
- private void syncActiveMode() throws CoreException {
- if (activeLaunchDesc == null) {
- setActiveLaunchMode(null);
- return;
- }
- ILaunchMode foundMode = null;
- String storedModeId = getPerDescriptorStore().get(PREF_ACTIVE_LAUNCH_MODE, null); // last desc mode id
- String lastActiveModeId = activeLaunchMode == null ? null : activeLaunchMode.getIdentifier();
- ILaunchMode[] supportedModes = getLaunchModes(); // this is based on active desc and target which are already set
- if (supportedModes.length > 0) { // mna, what if no modes are supported?
- String modeNames[] = new String[] {
- storedModeId,
- lastActiveModeId,
- "debug",
- "run",
- supportedModes[0].getIdentifier()
- };
- for (int i = 0; i < modeNames.length; i++) {
- foundMode = getLaunchManager().getLaunchMode(modeNames[i]);
- if (supportsMode(foundMode))
- break;
- }
- }
- setActiveLaunchMode(foundMode);
- }
-
- public boolean supportsMode(ILaunchMode mode) throws CoreException {
- // check that active descriptor supports the given mode
- if (mode == null)
- return false;
- ILaunchMode[] supportedModes = getLaunchModes();
- for (int j = 0; j < supportedModes.length; j++) {
- ILaunchMode lm = supportedModes[j];
- if (lm.equals(mode))
- return true;
- }
- return false;
- }
-
- protected void setPreference(Preferences store, String prefId, String value) {
- if (value != null) {
- store.put(prefId, value);
- } else {
- store.remove(prefId);
- }
- try {
- store.flush();
- } catch (BackingStoreException e) {
- Activator.log(e);
- }
- }
-
- protected Preferences getPerDescriptorStore() {
- if (activeLaunchDesc == null)
- return getPreferenceStore();
- return getPreferenceStore().node(toString(getDescriptorId(activeLaunchDesc)));
- }
-
- protected IEclipsePreferences getPreferenceStore() {
- return InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- }
-
- public void updateLaunchDescriptor(ILaunchDescriptor configDesc) {
- for (Listener listener : listeners) {
- try {
- listener.activeLaunchDescriptorChanged();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- }
-
- public ILaunchMode[] getLaunchModes() throws CoreException {
- ILaunchConfigurationType configType = getLaunchConfigurationType(activeLaunchDesc, activeLaunchTarget);
- if (configType == null)
- return new ILaunchMode[0];
- List<ILaunchMode> modeList = new ArrayList<>();
- ILaunchMode[] modes = getLaunchManager().getLaunchModes();
- for (ILaunchMode mode : modes) {
- if (configType.supportsMode(mode.getIdentifier())) {
- modeList.add(mode);
- }
- }
- return modeList.toArray(new ILaunchMode[modeList.size()]);
- }
-
- public ILaunchMode getActiveLaunchMode() {
- return activeLaunchMode;
- }
-
- public void setActiveLaunchMode(ILaunchMode mode) throws CoreException {
- if (activeLaunchMode == mode)
- return;
- if (activeLaunchDesc != null && mode != null && !supportsMode(mode))
- throw new IllegalStateException("Mode is not supported by descriptor");
- // change mode
- activeLaunchMode = mode;
- // notify listeners
- for (Listener listener : listeners) {
- try {
- listener.activeLaunchModeChanged();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- if (mode == null)
- return;
- // store mode
- setPreference(getPerDescriptorStore(), PREF_ACTIVE_LAUNCH_MODE, mode.getIdentifier()); // per desc store
- }
-
- public ILaunchTarget[] getAllLaunchTargets() {
- return targets.values().toArray(new ILaunchTarget[targets.size()]);
- }
-
- public ILaunchTarget[] getLaunchTargets() throws CoreException {
- return getLaunchTargets(activeLaunchDesc);
- }
-
- public ILaunchTarget[] getLaunchTargets(ILaunchDescriptor descriptor) throws CoreException {
- if (descriptor == null)
- return new ILaunchTarget[0];
-
- // See if there is are targets registered with this descriptor type
- Map<String, LaunchConfigTypeInfo> targetMap = configTypes.get(getDescriptorTypeId(descriptor.getType()));
- if (targetMap != null) {
- List<ILaunchTarget> targetList = new ArrayList<>();
- // Not super fast, but we're assuming there aren't many targets.
- for (Entry<Pair<String, String>, ILaunchTarget> targetEntry : targets.entrySet()) {
- if (targetMap.containsKey(targetEntry.getKey().getFirst())) {
- targetList.add(targetEntry.getValue());
- }
- }
- return targetList.toArray(new ILaunchTarget[targetList.size()]);
- }
-
- // Nope, see if there are any default config targets
- ILaunchConfiguration config = (ILaunchConfiguration) descriptor.getAdapter(ILaunchConfiguration.class);
- if (config != null) {
- Set<String> targetTypeIds = defaultConfigTargetTypes.get(config.getType().getIdentifier());
- if (targetTypeIds != null) {
- List<ILaunchTarget> targetList = new ArrayList<>();
- // Not super fast, but we're assuming there aren't many targets.
- for (Entry<Pair<String, String>, ILaunchTarget> targetEntry : targets.entrySet()) {
- if (targetTypeIds.contains(targetEntry.getKey().getFirst())) {
- targetList.add(targetEntry.getValue());
- }
- }
- return targetList.toArray(new ILaunchTarget[targetList.size()]);
- }
- }
-
- // Nope, return the local target
- for (Entry<Pair<String, String>, ILaunchTarget> targetEntry : targets.entrySet()) {
- if (LocalTargetType.ID.equals(targetEntry.getKey().getFirst())) {
- return new ILaunchTarget[] { targetEntry.getValue() };
- }
- }
-
- // Not found, weird
- return new ILaunchTarget[0];
- }
-
- public ILaunchTarget getActiveLaunchTarget() {
- return activeLaunchTarget;
- }
-
- public void setActiveLaunchTarget(ILaunchTarget target) throws CoreException {
- if (activeLaunchTarget == target) {
- return;
- }
-
- if (activeLaunchTarget != null) {
- activeLaunchTarget.setActive(false);
- }
-
- activeLaunchTarget = target;
- launchTargetChanged(activeLaunchTarget);
- if (target == null) {
- return; // no point storing null, if stored id is invalid it won't be used anyway
- }
-
- target.setActive(true);
- if (activeLaunchDesc == null)
- return;
- // per desc store
- if (supportsTargetType(activeLaunchDesc, target))
- setPreference(getPerDescriptorStore(),
- PREF_ACTIVE_LAUNCH_TARGET, toString(getTargetId(target)));
- }
-
- @Override
- public void launchTargetChanged(ILaunchTarget target) {
- for (Listener listener : listeners) {
- try {
- listener.activeLaunchTargetChanged();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- }
-
- @Override
- public void launchTargetAdded(ILaunchTarget target) throws CoreException {
- targets.put(getTargetId(target), target);
- for (Listener listener : listeners) {
- try {
- listener.launchTargetsChanged();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- if (activeLaunchDesc != null && activeLaunchTarget == null && supportsTargetType(activeLaunchDesc, target)) {
- setActiveLaunchTarget(target);
- }
- }
-
- @Override
- public void launchTargetRemoved(ILaunchTarget target) throws CoreException {
- targets.remove(getTargetId(target));
- for (Listener listener : listeners) {
- try {
- listener.launchTargetsChanged();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- if (activeLaunchTarget == target) {
- setActiveLaunchTarget(getDefaultLaunchTarget(activeLaunchDesc));
- }
- }
-
- private ILaunchTarget getDefaultLaunchTarget(ILaunchDescriptor descriptor) throws CoreException {
- ILaunchTarget[] targets = getLaunchTargets(descriptor);
- if (targets.length > 0) {
- return targets[0];
- }
- return null;
- }
-
- public ILaunchTarget getLaunchTarget(Pair<String, String> targetId) {
- if (targetId == null)
- return null;
- return targets.get(targetId);
- }
-
- public ILaunchTargetType[] getAllLaunchTargetTypes() {
- return targetTypes.values().toArray(new ILaunchTargetType[targetTypes.values().size()]);
- }
-
- public ILaunchConfigurationType getLaunchConfigurationType(ILaunchDescriptor descriptor, ILaunchTarget target) throws CoreException {
- if (descriptor == null)
- return null;
-
- String descriptorTypeId = getDescriptorTypeId(descriptor.getType());
-
- String targetTypeId = null;
- if (target != null) {
- targetTypeId = getTargetTypeId(target.getType());
- } else {
- targetTypeId = defaultTargetTypes.get(getDescriptorTypeId(descriptor.getType()));
- }
-
- if (targetTypeId != null) {
- Map<String, LaunchConfigTypeInfo> targetMap = configTypes.get(descriptorTypeId);
- if (targetMap != null) {
- LaunchConfigTypeInfo typeInfo = targetMap.get(targetTypeId);
- return getLaunchManager().getLaunchConfigurationType(typeInfo.getLaunchConfigTypeId());
- }
- }
-
- ILaunchConfiguration config = (ILaunchConfiguration) descriptor.getAdapter(ILaunchConfiguration.class);
- if (config != null)
- return config.getType();
-
- return null;
- }
-
- private boolean supportsTargetType(ILaunchDescriptor descriptor, ILaunchTarget target) throws CoreException {
- return getConfigProvider(descriptor, target) != null;
- }
-
- public ILaunchConfiguration getActiveLaunchConfiguration() throws CoreException {
- return getLaunchConfiguration(activeLaunchDesc, activeLaunchTarget);
- }
-
- public ILaunchConfiguration getLaunchConfiguration(ILaunchDescriptor descriptor, ILaunchTarget target) throws CoreException {
- if (descriptor == null) {
- return null;
- }
-
- ILaunchConfigurationProvider configProvider = getConfigProvider(descriptor, target);
- if (configProvider != null) {
- // First see if it exists yet
- Map<ILaunchConfigurationProvider, ILaunchConfiguration> configMap = configs.get(descriptor);
- if (configMap != null) {
- ILaunchConfiguration config = configMap.get(configProvider);
- if (config != null) {
- return config;
- }
- } else {
- // we'll need this in a minute
- configMap = new HashMap<>();
- configs.put(descriptor, configMap);
- }
-
- // Not found, create, store and return it
- ILaunchConfiguration config = configProvider.createLaunchConfiguration(getLaunchManager(), descriptor);
- if (config != null) {
- configMap.put(configProvider, config);
- return config;
- }
- }
-
- return (ILaunchConfiguration) descriptor.getAdapter(ILaunchConfiguration.class);
- }
-
- public void addListener(Listener listener) {
- listeners.add(listener);
- }
-
- public void removeListener(Listener listener) {
- listeners.remove(listener);
- }
-
- @Override
- public void launchConfigurationAdded(ILaunchConfiguration configuration) {
- Activator.trace("launch config added " + configuration);
- try {
- LaunchConfigProviderInfo info = configProviders.get(configuration.getType().getIdentifier());
- if (info != null) {
- ILaunchConfigurationProvider provider = info.getProvider();
- Object launchObject = provider.launchConfigurationAdded(configuration);
- if (launchObject != null) {
- ILaunchDescriptor descriptor = objectDescriptorMap.get(launchObject);
- if (descriptor != null) {
- Map<ILaunchConfigurationProvider, ILaunchConfiguration> configMap = configs.get(descriptor);
- if (configMap == null) {
- configMap = new HashMap<>();
- configs.put(descriptor, configMap);
- }
- configMap.put(provider, configuration);
- }
- Activator.trace("launch config claimed by " + provider);
- return;
- }
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
-
- Activator.trace("launch config not claimed");
- try {
- ILaunchDescriptor desc = defaultDescriptorType.getDescriptor(configuration);
- addDescriptor(configuration, desc);
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
-
- @Override
- public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
- Activator.trace("launch config removed " + configuration);
-
- // Is there any way this method is called when a LC still exists??? This may be dead code.
- // configuration.getType() will fail when !configuration.exists()
- if (configuration.exists()) {
- try {
- LaunchConfigProviderInfo info = configProviders.get(configuration.getType().getIdentifier());
- if (info != null) {
- ILaunchConfigurationProvider provider = info.getProvider();
- if (provider.launchConfigurationRemoved(configuration)) {
- Activator.trace("launch config removed by " + provider);
- return;
- }
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
-
- Activator.trace("launch config not claimed");
- ILaunchDescriptor desc = objectDescriptorMap.get(configuration);
- if (desc == null) {
- /* WARNING: This is slow. Call only as a last resort */
- Iterator<Entry<ILaunchDescriptor, Map<ILaunchConfigurationProvider, ILaunchConfiguration>>> iter = configs.entrySet().iterator();
- while (iter.hasNext()) {
- Entry<ILaunchDescriptor, Map<ILaunchConfigurationProvider, ILaunchConfiguration>> e1 = iter.next();
- if (e1.getValue().containsValue(configuration)) {
- Iterator<Entry<ILaunchConfigurationProvider, ILaunchConfiguration>> iter2 = e1.getValue().entrySet().iterator();
- while (iter2.hasNext()) {
- Entry<ILaunchConfigurationProvider, ILaunchConfiguration> e2 = iter2.next();
- if (e2.getValue().equals(configuration)) {
- e1.getValue().remove((ILaunchConfigurationProvider) e2.getKey());
- return;
- }
- }
- break;
- }
- }
- }
- try {
- removeDescriptor(configuration, desc);
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
-
- @Override
- public void launchConfigurationChanged(ILaunchConfiguration configuration) {
- // Nothing to do on changes
- }
-
- public void dispose() {
- ILaunchManager launchManager = getLaunchManager();
- launchManager.removeLaunchConfigurationListener(this);
- for (ILaunchObjectProvider o : objectProviders) {
- try {
- o.dispose();
- } catch (Exception e) {
- Activator.log(e);
- }
- }
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTarget.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTarget.java
deleted file mode 100644
index 264c544e40c..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTarget.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.core.runtime.PlatformObject;
-
-/**
- * The launch target representing the machine we're running on.
- */
-public class LocalTarget extends PlatformObject implements ILaunchTarget {
-
- private final LocalTargetType type;
-
- public LocalTarget(LocalTargetType type) {
- this.type = type;
- }
-
- @Override
- public String getName() {
- return Messages.LocalTarget_name;
- }
-
- @Override
- public ILaunchTargetType getType() {
- return type;
- }
-
- @Override
- public void setActive(boolean active) {
- // nothing to do, we have no active state
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTargetType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTargetType.java
deleted file mode 100644
index 5364d8468ab..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LocalTargetType.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * The target type that creates the local target.
- */
-public class LocalTargetType implements ILaunchTargetType {
-
- public static final String ID = Activator.PLUGIN_ID + ".targetType.local";
-
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- // create the local target
- manager.launchTargetAdded(new LocalTarget(this));
- }
-
- @Override
- public void dispose() {
- // nothing to do
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Messages.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Messages.java
deleted file mode 100644
index 48dbd38c040..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Messages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.cdt.launchbar.core.internal.messages"; //$NON-NLS-1$
- public static String LocalTarget_name;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Pair.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Pair.java
deleted file mode 100644
index 169252b0eab..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Pair.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-/**
- * Yet another implementation for Pair. You'd figure Java would have this out of the box.
- * Used in the launch bar mainly for modeling descriptor and target id's which includ both
- * type id and the object name.
- *
- * @param <S> first element
- * @param <T> second element
- */
-public class Pair<S, T> {
-
- private final S first;
- private final T second;
-
- public Pair(S first, T second) {
- this.first = first;
- this.second = second;
- }
-
- public S getFirst() {
- return first;
- }
-
- public T getSecond() {
- return second;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((first == null) ? 0 : first.hashCode());
- result = prime * result + ((second == null) ? 0 : second.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- @SuppressWarnings("unchecked") Pair<S, T> other = (Pair<S, T>) obj;
- if (first == null) {
- if (other.first != null)
- return false;
- } else if (!first.equals(other.first))
- return false;
- if (second == null) {
- if (other.second != null)
- return false;
- } else if (!second.equals(other.second))
- return false;
- return true;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ProjectLaunchObjectProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ProjectLaunchObjectProvider.java
deleted file mode 100644
index 725250db4f3..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ProjectLaunchObjectProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer - Initial API and implementation
- * Alena Laskavaia
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Injects IProject objects from platform resources into the launch bar model for potential
- * project descriptors.
- */
-public class ProjectLaunchObjectProvider implements ILaunchObjectProvider, IResourceChangeListener {
- private ILaunchBarManager manager;
-
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- this.manager = manager;
- for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
- manager.launchObjectAdded(project);
- }
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
- }
-
- @Override
- public void dispose() {
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- }
-
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- try {
- event.getDelta().accept(new IResourceDeltaVisitor() {
- @Override
- public boolean visit(IResourceDelta delta) throws CoreException {
- IResource res = delta.getResource();
- if (res instanceof IProject) {
- IProject project = (IProject) res;
- int kind = delta.getKind();
- if ((kind & IResourceDelta.ADDED) != 0) {
- manager.launchObjectAdded(project);
- } else if ((kind & IResourceDelta.REMOVED) != 0) {
- manager.launchObjectRemoved(project);
- } else if ((kind & IResourceDelta.CHANGED) != 0) {
- // TODO may need to be more concise as to what changes we're looking for
- manager.launchObjectChanged(project);
- }
- return false;
- } else if (res instanceof IFile || res instanceof IFolder) {
- return false;
- }
- return true;
- }
- });
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/messages.properties b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/messages.properties
deleted file mode 100644
index 2f8d25fcb68..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-################################################################################
-# Copyright (c) 2014 QNX Software Systems 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:
-# Doug Schaefer
-################################################################################
-
-LocalTarget_name=Local Machine
diff --git a/launch/org.eclipse.cdt.launchbar.ui/.classpath b/launch/org.eclipse.cdt.launchbar.ui/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/launch/org.eclipse.cdt.launchbar.ui/.project b/launch/org.eclipse.cdt.launchbar.ui/.project
deleted file mode 100644
index d7d41664d66..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.cdt.launchbar.ui</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>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/launch/org.eclipse.cdt.launchbar.ui/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.ui/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index f9b95ecc929..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LaunchBar UI
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.ui.internal.Activator
-Bundle-Vendor: Eclipse CDT
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.e4.ui.workbench,
- org.eclipse.e4.ui.model.workbench,
- org.eclipse.e4.core.di,
- org.eclipse.e4.core.services,
- org.eclipse.osgi.services,
- org.eclipse.cdt.launchbar.core,
- org.eclipse.debug.ui,
- org.eclipse.ui.workbench,
- org.eclipse.ui.ide,
- org.eclipse.swt,
- org.eclipse.ui.navigator
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Export-Package: org.eclipse.cdt.launchbar.ui,
- org.eclipse.cdt.launchbar.ui.internal;x-internal:=true,
- org.eclipse.cdt.launchbar.ui.internal.commands;x-internal:=true,
- org.eclipse.cdt.launchbar.ui.internal.controls;x-internal:=true,
- org.eclipse.cdt.launchbar.ui.internal.dialogs;x-internal:=true
-Import-Package: javax.inject
diff --git a/launch/org.eclipse.cdt.launchbar.ui/about.html b/launch/org.eclipse.cdt.launchbar.ui/about.html
deleted file mode 100644
index d7c511887d6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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 22, 2007</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/launch/org.eclipse.cdt.launchbar.ui/build.properties b/launch/org.eclipse.cdt.launchbar.ui/build.properties
deleted file mode 100644
index 6b4afb7a5a7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- plugin.properties
diff --git a/launch/org.eclipse.cdt.launchbar.ui/icons/build.png b/launch/org.eclipse.cdt.launchbar.ui/icons/build.png
deleted file mode 100755
index 110cb3a6315..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/icons/build.png
+++ /dev/null
Binary files differ
diff --git a/launch/org.eclipse.cdt.launchbar.ui/icons/config_config.png b/launch/org.eclipse.cdt.launchbar.ui/icons/config_config.png
deleted file mode 100644
index c3b2ddc8887..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/icons/config_config.png
+++ /dev/null
Binary files differ
diff --git a/launch/org.eclipse.cdt.launchbar.ui/icons/launch.png b/launch/org.eclipse.cdt.launchbar.ui/icons/launch.png
deleted file mode 100644
index d704b703b71..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/icons/launch.png
+++ /dev/null
Binary files differ
diff --git a/launch/org.eclipse.cdt.launchbar.ui/icons/stop.png b/launch/org.eclipse.cdt.launchbar.ui/icons/stop.png
deleted file mode 100755
index b55b7c4e4c6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/icons/stop.png
+++ /dev/null
Binary files differ
diff --git a/launch/org.eclipse.cdt.launchbar.ui/plugin.properties b/launch/org.eclipse.cdt.launchbar.ui/plugin.properties
deleted file mode 100644
index 1a942c2caa3..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-launchToolBar.label = LaunchBar
-targetsView.name = Launch Targets
-targetsContent.name = Launch Targets
diff --git a/launch/org.eclipse.cdt.launchbar.ui/plugin.xml b/launch/org.eclipse.cdt.launchbar.ui/plugin.xml
deleted file mode 100644
index cb3280df3bd..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/plugin.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="launchBarUIContributions" name="launchBar UI Contributions" schema="schema/launchBarUIContributions.exsd"/>
- <extension
- id="launchBarInjector"
- point="org.eclipse.e4.workbench.model">
- <processor
- apply="always"
- beforefragment="false"
- class="org.eclipse.cdt.launchbar.ui.internal.LaunchBarInjector">
- </processor>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <category
- id="org.eclipse.cdt.launchbar.ui.category.launchBar"
- name="Launch Bar">
- </category>
- <command
- categoryId="org.eclipse.cdt.launchbar.ui.category.launchBar"
- defaultHandler="org.eclipse.cdt.launchbar.ui.internal.commands.BuildActiveCommandHandler"
- id="org.eclipse.cdt.launchbar.ui.command.buildActive"
- name="Build for Active Launch Configuration">
- </command>
- <command
- categoryId="org.eclipse.cdt.launchbar.ui.category.launchBar"
- defaultHandler="org.eclipse.cdt.launchbar.ui.internal.commands.LaunchActiveCommandHandler"
- id="org.eclipse.cdt.launchbar.ui.command.launchActive"
- name="Launch Active Configuration">
- </command>
- <command
- categoryId="org.eclipse.cdt.launchbar.ui.category.launchBar"
- defaultHandler="org.eclipse.cdt.launchbar.ui.internal.commands.StopActiveCommandHandler"
- id="org.eclipse.cdt.launchbar.ui.command.stop"
- name="Stop">
- </command>
- <command
- defaultHandler="org.eclipse.cdt.launchbar.ui.internal.commands.ConfigureActiveLaunchHandler"
- id="org.eclipse.cdt.launchbar.ui.command.configureActiveLaunch"
- name="Configure Active Launch Configuration">
- </command>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.cdt.launchbar.ui.internal.LaunchBarPreferenceInitializer">
- </initializer>
- </extension>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.debug.ui.LaunchingPreferencePage"
- class="org.eclipse.cdt.launchbar.ui.internal.LaunchBarPreferencePage"
- id="org.eclipse.cdt.launchbar.ui.prefPage"
- name="Launch Bar">
- </page>
- </extension>
- <extension
- point="org.eclipse.cdt.launchbar.ui.launchBarUIContributions">
- <descriptorUI
- descriptorTypeId="org.eclipse.cdt.launchbar.core.descriptor.default"
- labelProvider="org.eclipse.cdt.launchbar.ui.internal.DefaultDescriptorLabelProvider">
- </descriptorUI>
- <targetUI
- labelProvider="org.eclipse.cdt.launchbar.ui.internal.LocalTargetLabelProvider"
- targetTypeId="org.eclipse.cdt.launchbar.core.target.local"
- name="Local Target">
- </targetUI>
- </extension>
- <extension
- point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension
- targetID="org.eclipse.cdt.ui.CPerspective">
- <view
- id="org.eclipse.cdt.launchbar.ui.targetsView"
- minimized="false"
- ratio="0.75"
- relationship="bottom"
- relative="org.eclipse.ui.navigator.ProjectExplorer">
- </view>
- </perspectiveExtension>
- </extension>
- <extension
- point="org.eclipse.ui.propertyPages">
- <page
- class="org.eclipse.cdt.launchbar.ui.internal.targetsView.TargetPropertyPage"
- id="org.eclipse.cdt.launchbar.ui.infoPropertyPage"
- name="About">
- <enabledWhen>
- <instanceof
- value="org.eclipse.cdt.launchbar.core.ILaunchTarget">
- </instanceof>
- </enabledWhen>
- </page>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- category="org.eclipse.cdt.ui.views"
- class="org.eclipse.cdt.launchbar.ui.internal.targetsView.LaunchTargetsNavigator"
- id="org.eclipse.cdt.launchbar.ui.targetsView"
- name="%targetsView.name"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.navigatorContent">
- <navigatorContent
- activeByDefault="true"
- contentProvider="org.eclipse.cdt.launchbar.ui.internal.targetsView.LaunchTargetsContentProvider"
- id="org.eclipse.cdt.launchbar.ui.targetsViewContent"
- labelProvider="org.eclipse.cdt.launchbar.ui.internal.targetsView.LaunchTargetsLabelProvider"
- name="%targetsContent.name">
- <triggerPoints>
- <or>
- <instanceof
- value="org.eclipse.cdt.launchbar.core.ILaunchBarManager">
- </instanceof>
- </or>
- </triggerPoints>
- <possibleChildren>
- <or>
- <instanceof
- value="org.eclipse.cdt.launchbar.core.ILaunchTarget">
- </instanceof>
- </or>
- </possibleChildren>
- <actionProvider
- class="org.eclipse.cdt.launchbar.ui.internal.targetsView.LaunchTargetsActionProvider">
- <enablement>
- <instanceof
- value="org.eclipse.cdt.launchbar.core.ILaunchTarget">
- </instanceof>
- </enablement>
- </actionProvider>
- </navigatorContent>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.viewer">
- <viewer
- viewerId="org.eclipse.cdt.launchbar.ui.targetsView">
- </viewer>
- <viewerContentBinding
- viewerId="org.eclipse.cdt.launchbar.ui.targetsView">
- <includes>
- <contentExtension
- isRoot="true"
- pattern="org.eclipse.cdt.launchbar.ui.targetsViewContent">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- </extension>
-
-</plugin>
diff --git a/launch/org.eclipse.cdt.launchbar.ui/pom.xml b/launch/org.eclipse.cdt.launchbar.ui/pom.xml
deleted file mode 100644
index d27bc8b27cb..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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>
- <groupId>org.eclipse.cdt</groupId>
- <artifactId>cdt-parent</artifactId>
- <version>8.5.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <version>1.0.0-SNAPSHOT</version>
- <artifactId>org.eclipse.cdt.launchbar.ui</artifactId>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/launch/org.eclipse.cdt.launchbar.ui/schema/launchBarUIContributions.exsd b/launch/org.eclipse.cdt.launchbar.ui/schema/launchBarUIContributions.exsd
deleted file mode 100644
index fc939e475a9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/schema/launchBarUIContributions.exsd
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.cdt.launchbar.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.cdt.launchbar.ui" id="launchBarUIContributions" name="launchBar UI Contributions"/>
- </appinfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element ref="descriptorUI"/>
- <element ref="targetUI"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="descriptorUI">
- <complexType>
- <attribute name="descriptorTypeId" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.cdt.launchbar.core.launchBarContributions/descriptorType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="labelProvider" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.jface.viewers.ILabelProvider"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="targetUI">
- <complexType>
- <attribute name="targetTypeId" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.cdt.launchbar.core.launchBarContributions/targetType/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- Used for identifying this launch target type in various UI elements.
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- Used for identifying this launch target type in various UI elements.
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="labelProvider" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.jface.viewers.ILabelProvider"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="hoverProvider" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.cdt.launchbar.ui.IHoverProvider"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="editCommandId" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="newWizard" type="string">
- <annotation>
- <documentation>
- An INewWizard that creates a target of this type.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.ui.INewWizard"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
-
-</schema>
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/IHoverProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/IHoverProvider.java
deleted file mode 100644
index 77e531b368c..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/IHoverProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui;
-
-/**
- * An extension to allow different object types to provide fancy hovers.
- *
- * TODO this does lead to inconsistency when different types provide different hover UI
- * which can confuse users. We should provide good UI out of the box.
- */
-public interface IHoverProvider {
-
- /**
- * Display the hover item.
- *
- * @return true if hover item was displayed, otherwise false
- */
- public abstract boolean displayHover(Object element);
-
- /**
- * Dismiss the hover item.
- *
- * @param immediate
- * if true, the hover item will be immediately dismissed, otherwise it may be be dismissed at a later time.
- */
- public abstract void dismissHover(Object element, boolean immediate);
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/ILaunchBarUIConstants.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/ILaunchBarUIConstants.java
deleted file mode 100644
index daf746cfadb..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/ILaunchBarUIConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui;
-
-public interface ILaunchBarUIConstants {
-
- /**
- * Parameter name for the edit target command.
- */
- public static final String TARGET_NAME = "targetName";
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Activator.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Activator.java
deleted file mode 100644
index c5df42cde72..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Activator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.IParameter;
-import org.eclipse.core.commands.Parameterization;
-import org.eclipse.core.commands.ParameterizedCommand;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.cdt.launchbar.ui"; //$NON-NLS-1$
-
- // Images
- public static final String IMG_BUTTON_BUILD = "build";
- public static final String IMG_BUTTON_LAUNCH = "launch";
- public static final String IMG_BUTTON_STOP = "stop";
-
- // Command ids
- public static final String CMD_BUILD = "org.eclipse.cdt.launchbar.ui.command.buildActive";
- public static final String CMD_LAUNCH = "org.eclipse.cdt.launchbar.ui.command.launchActive";
- public static final String CMD_STOP = "org.eclipse.cdt.launchbar.ui.command.stop";
- public static final String CMD_CONFIG = "org.eclipse.cdt.launchbar.ui.command.configureActiveLaunch";
-
- // Preference ids
- public static final String PREF_ENABLE_LAUNCHBAR = "enableLaunchBar";
-
- // The shared instance
- private static Activator plugin;
-
- // The cache of the Launch Bar UI Manager Object
- private LaunchBarUIManager launchBarUIManager;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
-
- ImageRegistry imageRegistry = getImageRegistry();
- imageRegistry.put(IMG_BUTTON_BUILD, imageDescriptorFromPlugin(PLUGIN_ID, "icons/build.png"));
- imageRegistry.put(IMG_BUTTON_LAUNCH, imageDescriptorFromPlugin(PLUGIN_ID, "icons/launch.png"));
- imageRegistry.put(IMG_BUTTON_STOP, imageDescriptorFromPlugin(PLUGIN_ID, "icons/stop.png"));
- }
-
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- public LaunchBarUIManager getLaunchBarUIManager() {
- if (launchBarUIManager == null) {
- LaunchBarManager manager = org.eclipse.cdt.launchbar.core.internal.Activator.getDefault().getLaunchBarManager();
- launchBarUIManager = new LaunchBarUIManager(manager);
- }
- return launchBarUIManager;
- }
-
- public Image getImage(String id) {
- return getImageRegistry().get(id);
- }
-
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- public static void runCommand(String commandId, String... params) {
- final ICommandService commandService = (ICommandService) PlatformUI.getWorkbench()
- .getService(ICommandService.class);
- Command command = commandService.getCommand(commandId);
- final Event trigger = new Event();
- final IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench()
- .getService(IHandlerService.class);
- ExecutionEvent executionEvent = handlerService.createExecutionEvent(command, trigger);
- if (params.length == 0) {
- try {
- command.executeWithChecks(executionEvent);
- } catch (OperationCanceledException e) {
- // abort
- } catch (Exception e) {
- log(e);
- }
- } else {
- try {
- final Parameterization[] parameterizations = new Parameterization[params.length / 2];
- for (int i = 0; i < params.length; i += 2) {
- IParameter param = command.getParameter(params[i]);
- Parameterization parm = new Parameterization(param, params[i + 1]);
- parameterizations[i / 2] = parm;
- }
- ParameterizedCommand parmCommand = new ParameterizedCommand(command, parameterizations);
- handlerService.executeCommand(parmCommand, null);
- } catch (Exception e) {
- log(e);
- }
- }
- }
-
- public static void log(IStatus status) {
- plugin.getLog().log(status);
- }
-
- public static void log(Exception e) {
- if (e instanceof CoreException)
- log(((CoreException) e).getStatus());
- plugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, e.getLocalizedMessage(), e));
- }
-
- public static <T> T getService(Class<T> cls) {
- BundleContext context = getDefault().getBundle().getBundleContext();
- ServiceReference<T> ref = context.getServiceReference(cls);
- return ref != null ? context.getService(ref) : null;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/DefaultDescriptorLabelProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/DefaultDescriptorLabelProvider.java
deleted file mode 100644
index b7c0ce1efe4..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/DefaultDescriptorLabelProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.internal.Activator;
-import org.eclipse.cdt.launchbar.core.internal.DefaultLaunchDescriptor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class DefaultDescriptorLabelProvider extends LabelProvider {
-
- private Map<ImageDescriptor, Image> images = new HashMap<>();
-
- @Override
- public void dispose() {
- super.dispose();
- for (Image image : images.values()) {
- image.dispose();
- }
- }
-
- @Override
- public Image getImage(Object element) {
- if (element instanceof ILaunchDescriptor) {
- ILaunchConfiguration config = (ILaunchConfiguration) ((ILaunchDescriptor) element).getAdapter(ILaunchConfiguration.class);
- if (config != null) {
- try {
- ILaunchConfigurationType type = config.getType();
- ImageDescriptor imageDescriptor = DebugUITools.getDefaultImageDescriptor(type);
- if (imageDescriptor != null) {
- Image image = images.get(imageDescriptor);
- if (image == null) {
- image = imageDescriptor.createImage();
- images.put(imageDescriptor, image);
- }
- return image;
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
- return super.getImage(element);
- }
-
- @Override
- public String getText(Object element) {
- if (element instanceof ILaunchDescriptor) {
- return ((ILaunchDescriptor) element).getName();
- }
- return super.getText(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarInjector.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarInjector.java
deleted file mode 100644
index 25ae34d662f..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarInjector.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import javax.inject.Inject;
-
-import org.eclipse.cdt.launchbar.ui.internal.controls.LaunchBarControl;
-import org.eclipse.e4.core.di.annotations.Execute;
-import org.eclipse.e4.core.services.events.IEventBroker;
-import org.eclipse.e4.ui.model.application.MApplication;
-import org.eclipse.e4.ui.model.application.ui.SideValue;
-import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar;
-import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement;
-import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow;
-import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
-import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
-import org.eclipse.e4.ui.model.application.ui.menu.MToolControl;
-import org.eclipse.e4.ui.workbench.UIEvents;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Widget;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventHandler;
-
-public class LaunchBarInjector {
-
- @Inject
- MApplication application;
-
- @Inject
- IEventBroker eventBroker;
-
- @Execute
- void execute() {
- IPreferenceStore store = Activator.getDefault().getPreferenceStore();
- boolean enabled = store.getBoolean(Activator.PREF_ENABLE_LAUNCHBAR);
- injectIntoAll(enabled);
-
- // Watch for new trimmed windows and inject there too.
- eventBroker.subscribe(UIEvents.TrimmedWindow.TOPIC_TRIMBARS, new EventHandler() {
- @Override
- public void handleEvent(Event event) {
- if (!UIEvents.isADD(event))
- return;
- Object newValue = event.getProperty(UIEvents.EventTags.NEW_VALUE);
- if (newValue instanceof MTrimBar) {
- MTrimBar trimBar = (MTrimBar) newValue;
- if (trimBar.getSide() == SideValue.TOP) {
- IPreferenceStore store = Activator.getDefault().getPreferenceStore();
- boolean enabled = store.getBoolean(Activator.PREF_ENABLE_LAUNCHBAR);
- injectLaunchBar(trimBar, enabled);
- }
- }
- }
- });
-
- // Watch for preference changes
- Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(Activator.PREF_ENABLE_LAUNCHBAR)) {
- boolean enabled = Boolean.parseBoolean(event.getNewValue().toString());
- injectIntoAll(enabled);
- }
- }
- });
- }
-
- private void injectIntoAll(boolean enabled) {
- // Inject the toolbar into all top trims
- for (MWindow window : application.getChildren()) {
- if (window instanceof MTrimmedWindow) {
- for (MTrimBar trimBar : ((MTrimmedWindow) window).getTrimBars()) {
- if (trimBar.getSide() == SideValue.TOP) {
- injectLaunchBar(trimBar, enabled);
- }
- }
- }
- }
- }
-
- private void injectLaunchBar(MTrimBar trimBar, boolean enabled) {
- // are we enabled or not
-
- // Search for control in trimbar
- MTrimElement launchBarElement = null;
- for (MTrimElement trimElement : trimBar.getChildren()) {
- if (LaunchBarControl.ID.equals(trimElement.getElementId())) {
- launchBarElement = trimElement;
- break;
- }
- }
-
- if (launchBarElement != null) {
- if (!enabled) {
- // remove it if we're disabled
- trimBar.getChildren().remove(launchBarElement);
- // This seems to be a bug in the platform but for now, dispose of the widget
- Widget widget = (Widget)launchBarElement.getWidget();
- widget.dispose();
- }
- // either way, we're done
- return;
- }
-
- if (enabled) {
- // Add it
- MToolControl launchBar = MMenuFactory.INSTANCE.createToolControl();
- launchBar.setElementId(LaunchBarControl.ID);
- launchBar.setContributionURI(LaunchBarControl.CLASS_URI);
- trimBar.getChildren().add(0, launchBar);
- }
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferenceInitializer.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferenceInitializer.java
deleted file mode 100644
index b87682ce21a..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferenceInitializer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-public class LaunchBarPreferenceInitializer extends AbstractPreferenceInitializer {
-
- @Override
- public void initializeDefaultPreferences() {
- IPreferenceStore store = Activator.getDefault().getPreferenceStore();
- store.setDefault(Activator.PREF_ENABLE_LAUNCHBAR, true);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferencePage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferencePage.java
deleted file mode 100644
index 2f13cbffe07..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarPreferencePage.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class LaunchBarPreferencePage extends FieldEditorPreferencePage implements
- IWorkbenchPreferencePage {
-
- public LaunchBarPreferencePage() {
- super(GRID);
- }
-
- @Override
- public void init(IWorkbench workbench) {
- setPreferenceStore(Activator.getDefault().getPreferenceStore());
- setDescription("Preferences for the Launch Bar.");
- }
-
- @Override
- protected void createFieldEditors() {
- addField(new BooleanFieldEditor(Activator.PREF_ENABLE_LAUNCHBAR, "Enable the Launch Bar.", getFieldEditorParent()));
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarUIManager.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarUIManager.java
deleted file mode 100644
index 53acc71d4b9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LaunchBarUIManager.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.cdt.launchbar.core.internal.ExecutableExtension;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.IHoverProvider;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.INewWizard;
-
-public class LaunchBarUIManager {
-
- LaunchBarManager manager;
- Map<String, ExecutableExtension<ILabelProvider>> descriptorLabelProviders = new HashMap<>();
- Map<String, LaunchBarTargetContribution> targetContributions = new HashMap<>();
-
- private final LaunchBarTargetContribution DEFAULT_CONTRIBUTION = new LaunchBarTargetContribution(null, null, null, null,
- null, null);
-
- public LaunchBarUIManager(LaunchBarManager manager) {
- this.manager = manager;
-
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(Activator.PLUGIN_ID, "launchBarUIContributions");
- IExtension[] extensions = point.getExtensions();
- for (IExtension extension : extensions) {
- for (IConfigurationElement element : extension.getConfigurationElements()) {
- String elementName = element.getName();
- if (elementName.equals("descriptorUI")) {
- String descriptorTypeId = element.getAttribute("descriptorTypeId");
- ExecutableExtension<ILabelProvider> labelProvider = new ExecutableExtension<>(element, "labelProvider");
- descriptorLabelProviders.put(descriptorTypeId, labelProvider);
- } else if (elementName.equals("targetUI")) {
- String targetTypeId = element.getAttribute("targetTypeId");
- String targetName = element.getAttribute("name");
- String iconStr = element.getAttribute("icon");
- ExecutableExtension<ILabelProvider> labelProvider = new ExecutableExtension<ILabelProvider>(element, "labelProvider");
-
- ExecutableExtension<IHoverProvider> hoverProvider = null;
- if (element.getAttribute("hoverProvider") != null) {
- hoverProvider = new ExecutableExtension<IHoverProvider>(element, "hoverProvider");
- }
-
- String editCommandId = element.getAttribute("editCommandId");
-
- ExecutableExtension<INewWizard> newWizard = null;
- if (element.getAttribute("newWizard") != null) {
- newWizard = new ExecutableExtension<INewWizard>(element, "newWizard");
- }
-
- targetContributions.put(targetTypeId, new LaunchBarTargetContribution(targetName, iconStr,
- labelProvider, hoverProvider, editCommandId, newWizard));
- }
- }
- }
- }
-
- public LaunchBarManager getManager() {
- return manager;
- }
-
- public ILabelProvider getLabelProvider(ILaunchDescriptor descriptor) throws CoreException {
- ExecutableExtension<ILabelProvider> provider = descriptorLabelProviders.get(manager.getDescriptorTypeId(descriptor.getType()));
- return provider != null ? provider.get() : null;
- }
-
- public String getTargetTypeName(ILaunchTarget target) {
- return getTargetTypeName(target.getType());
- }
-
- public String getTargetTypeName(ILaunchTargetType targetType) {
- String typeId = manager.getTargetTypeId(targetType);
- String name = targetContributions.get(typeId).name;
- return name != null ? name : typeId;
- }
-
- public Image getTargetTypeIcon(ILaunchTargetType targetType) {
- String typeId = manager.getTargetTypeId(targetType);
- return targetContributions.get(typeId).getIcon();
- }
-
- public ILabelProvider getLabelProvider(ILaunchTarget target) throws CoreException {
- ExecutableExtension<ILabelProvider> provider = getContribution(target).labelProvider;
- return provider != null ? provider.get() : null;
- }
-
- public IHoverProvider getHoverProvider(ILaunchTarget target) throws CoreException {
- ExecutableExtension<IHoverProvider> hoverProvider = getContribution(target).hoverProvider;
- return hoverProvider != null ? hoverProvider.get() : null;
- }
-
- public String getEditCommand(ILaunchTarget target) {
- return getContribution(target).editCommandId;
- }
-
- public Map<ILaunchTargetType, ExecutableExtension<INewWizard>> getNewTargetWizards() {
- Map<ILaunchTargetType, ExecutableExtension<INewWizard>> wizards = new HashMap<>();
- for (Entry<String, LaunchBarTargetContribution> contrib : targetContributions.entrySet()) {
- if (contrib.getValue().newWizard != null) {
- ILaunchTargetType type = manager.getLaunchTargetType(contrib.getKey());
- if (type != null) {
- wizards.put(type, contrib.getValue().newWizard);
- }
- }
- }
- return wizards;
- }
-
- public Map<String, Image> getTargetIcons() {
- Map<String, Image> icons = new HashMap<>();
- for (LaunchBarTargetContribution contribution : targetContributions.values()) {
- Image icon = contribution.getIcon();
- if (icon != null) {
- icons.put(contribution.name, icon);
- }
- }
- return icons;
- }
-
- private LaunchBarTargetContribution getContribution(ILaunchTarget target) {
- LaunchBarTargetContribution c = targetContributions.get(manager.getTargetTypeId(target.getType()));
- if (c == null) {
- return DEFAULT_CONTRIBUTION;
- }
- return c;
- }
-
- private class LaunchBarTargetContribution {
- String name;
- String iconStr;
- Image icon;
- ExecutableExtension<ILabelProvider> labelProvider;
- ExecutableExtension<IHoverProvider> hoverProvider;
- String editCommandId;
- ExecutableExtension<INewWizard> newWizard;
-
- LaunchBarTargetContribution(String name, String iconStr,
- ExecutableExtension<ILabelProvider> labelProvider,
- ExecutableExtension<IHoverProvider> hoverProvider,
- String editCommand,
- ExecutableExtension<INewWizard> newWizard) {
- this.name = name;
- this.iconStr = iconStr;
- this.icon = null;
- this.labelProvider = labelProvider;
- this.hoverProvider = hoverProvider;
- this.editCommandId = editCommand;
- this.newWizard = newWizard;
- }
-
- Image getIcon() {
- if (icon == null) {
- if (iconStr != null && !iconStr.isEmpty()) {
- try {
- icon = ImageDescriptor.createFromURL(new URL(iconStr)).createImage();
- } catch (MalformedURLException e) {
- Activator.log(e);
- }
- }
- }
- return icon;
- }
-
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LocalTargetLabelProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LocalTargetLabelProvider.java
deleted file mode 100644
index f687bee406b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/LocalTargetLabelProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.cdt.launchbar.ui.internal;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.jface.viewers.LabelProvider;
-
-
-public class LocalTargetLabelProvider extends LabelProvider {
-
- @Override
- public String getText(Object element) {
- if (element instanceof ILaunchTarget) {
- return ((ILaunchTarget) element).getName();
- }
- return super.getText(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Messages.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Messages.java
deleted file mode 100644
index be81078ed7b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/Messages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.cdt.launchbar.ui.internal.messages"; //$NON-NLS-1$
- public static String LaunchBarControl_Build;
- public static String LaunchBarControl_Launch;
- public static String LaunchBarControl_Stop;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/BuildActiveCommandHandler.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/BuildActiveCommandHandler.java
deleted file mode 100644
index 73c6f70a152..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/BuildActiveCommandHandler.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.commands;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IBuildConfiguration;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Build active project
- */
-public class BuildActiveCommandHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- new UIJob(Display.getDefault(), "Building Active Configuration") {
- @Override
- public boolean belongsTo(Object family) {
- return ResourcesPlugin.FAMILY_MANUAL_BUILD.equals(family);
- }
-
- public IStatus runInUIThread(IProgressMonitor monitor) {
- try {
- final LaunchBarManager launchBarManager = Activator.getDefault().getLaunchBarUIManager().getManager();
- final ILaunchConfiguration config = launchBarManager.getActiveLaunchConfiguration();
-
- final Collection<IProject> projects = getProjects(config);
- if (BuildAction.isSaveAllSet()) {
- saveEditors(projects);
- }
-
- new Job("Building Active Configuration") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- if (config == null) {
- // Default, build the workspace
- ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
- return Status.OK_STATUS;
- }
-
- ILaunchMode launchMode = launchBarManager.getActiveLaunchMode();
- String mode = launchMode.getIdentifier();
- Set<String> modes = new HashSet<>();
- modes.add(mode);
- ILaunchDelegate delegate = config.getType().getPreferredDelegate(modes);
- if (delegate == null)
- delegate = config.getType().getDelegates(modes)[0];
- ILaunchConfigurationDelegate configDel = delegate.getDelegate();
- if (configDel instanceof ILaunchConfigurationDelegate2) {
- ILaunchConfigurationDelegate2 configDel2 = (ILaunchConfigurationDelegate2)configDel;
- boolean ret;
- ret = configDel2.preLaunchCheck(config, mode, monitor);
- if (!ret)
- return Status.CANCEL_STATUS;
- if (!configDel2.buildForLaunch(config, mode, monitor))
- return Status.OK_STATUS;
- }
-
- // Fall through, do a normal build
- if (projects.isEmpty()) {
- ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
- } else {
- Collection<IBuildConfiguration> buildConfigs = getBuildConfigs(projects);
- ResourcesPlugin.getWorkspace().build(buildConfigs.toArray(new IBuildConfiguration[buildConfigs.size()]),
- IncrementalProjectBuilder.INCREMENTAL_BUILD, true, monitor);
- // TODO, may need to get the buildReferences argument from the descriptor
- }
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- }
- }.schedule();
- } catch (CoreException e) {
- return e.getStatus();
- }
-
- return Status.OK_STATUS;
- };
- }.schedule();
-
- return Status.OK_STATUS;
- }
-
- protected Collection<IProject> getProjects(ILaunchConfiguration config) {
- Set<IProject> projects = new HashSet<>();
-
- if (config != null) {
- IResource[] mappedResources;
- try {
- mappedResources = config.getMappedResources();
- } catch (CoreException e) {
- return projects;
- }
- if (mappedResources != null) {
- for (IResource resource : mappedResources) {
- IProject project = resource.getProject();
- if (projects.contains(project))
- continue;
- projects.add(project);
- try {
- projects.addAll(Arrays.asList(project.getReferencedProjects()));
- } catch (CoreException e) {
- // skip
- }
- }
- }
- }
-
- return projects;
- }
-
- protected Collection<IBuildConfiguration> getBuildConfigs(Collection<IProject> projects) {
- Set<IBuildConfiguration> configs = new HashSet<>();
-
- for (IProject project : projects) {
- try {
- configs.add(project.getActiveBuildConfig());
- } catch (CoreException e) {
- // skip
- }
- }
-
- return configs;
- }
-
- protected void saveEditors(final Collection<IProject> projects) {
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
- for (IWorkbenchWindow window : windows) {
- IWorkbenchPage[] pages = window.getPages();
- for (IWorkbenchPage page : pages) {
- if (projects.isEmpty()) {
- page.saveAllEditors(false);
- } else {
- IEditorPart[] editors = page.getDirtyEditors();
- for (IEditorPart editor : editors) {
- IFile inputFile = ResourceUtil.getFile(editor.getEditorInput());
- if (inputFile != null) {
- if (projects.contains(inputFile.getProject())) {
- page.saveEditor(editor, false);
- }
- }
- }
- }
- }
- }
- }
- });
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/ConfigureActiveLaunchHandler.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/ConfigureActiveLaunchHandler.java
deleted file mode 100644
index 013365d37f9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/ConfigureActiveLaunchHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.commands;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class ConfigureActiveLaunchHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- LaunchBarManager launchBarManager = Activator.getDefault().getLaunchBarUIManager().getManager();
- ILaunchDescriptor desc = launchBarManager.getActiveLaunchDescriptor();
- ILaunchTarget target = launchBarManager.getActiveLaunchTarget();
- ILaunchConfiguration launchConfiguration = launchBarManager.getLaunchConfiguration(desc, target);
- if (launchConfiguration == null)
- return Status.OK_STATUS;
- ILaunchConfigurationWorkingCopy wc = launchConfiguration.getWorkingCopy();
-
- ILaunchMode activeLaunchMode = launchBarManager.getActiveLaunchMode();
- ILaunchGroup group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(launchConfiguration.getType(), activeLaunchMode.getIdentifier());
-
- if (DebugUITools.openLaunchConfigurationPropertiesDialog(HandlerUtil.getActiveShell(event), wc, group.getIdentifier()) == Window.OK)
- wc.doSave();
- } catch (CoreException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java
deleted file mode 100644
index 0fd69e4966d..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.commands;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.progress.UIJob;
-
-public class LaunchActiveCommandHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- new UIJob(Display.getDefault(), "Launching Active Configuration") {
- public IStatus runInUIThread(IProgressMonitor monitor) {
- try {
- LaunchBarManager launchBarManager = Activator.getDefault().getLaunchBarUIManager().getManager();
- ILaunchDescriptor desc = launchBarManager.getActiveLaunchDescriptor();
- ILaunchTarget target = launchBarManager.getActiveLaunchTarget();
- ILaunchConfiguration config = launchBarManager.getLaunchConfiguration(desc, target);
- if (config == null)
- return Status.OK_STATUS;
- ILaunchMode launchMode = launchBarManager.getActiveLaunchMode();
- DebugUITools.launch(config, launchMode.getIdentifier());
- } catch (CoreException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- };
- }.schedule();
-
- return Status.OK_STATUS;
- }
-
- protected String getMode(ILaunchMode launchMode) {
- return launchMode.getIdentifier(); //$NON-NLS-1$
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/StopActiveCommandHandler.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/StopActiveCommandHandler.java
deleted file mode 100644
index 6e81501c907..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/commands/StopActiveCommandHandler.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.commands;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-
-public class StopActiveCommandHandler extends AbstractHandler {
- private ILaunchBarManager launchBarManager;
-
- public StopActiveCommandHandler() {
- launchBarManager = Activator.getService(ILaunchBarManager.class);
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- stop();
- return null;
- }
-
- public void stop() {
- stopBuild();
- stopActiveLaunches();
- }
-
- protected void stopActiveLaunches() {
- final ILaunch[] activeLaunches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
- if (activeLaunches != null && activeLaunches.length > 0) {
- new Job("Stopping launches") {
- protected IStatus run(IProgressMonitor monitor) {
- // TODO only stop the launches for the active launch descriptor
- // Not sure we have the API to map that out yet.
- for (ILaunch launch : activeLaunches) {
- try {
- launch.terminate();
- } catch (DebugException e) {
- return e.getStatus();
- }
- }
- return Status.OK_STATUS;
- };
- }.schedule();
- }
- }
-
- protected void stopBuild() {
- Job job = new Job("Stopping build") {
- @Override
- protected IStatus run(IProgressMonitor progress) {
- // stops all builds
- final IJobManager jobManager = Job.getJobManager();
- Job[] jobs = jobManager.find(ResourcesPlugin.FAMILY_MANUAL_BUILD);
- for (int i = 0; i < jobs.length; i++) {
- Job job = jobs[i];
- job.cancel();
- }
- jobs = jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD);
- for (int i = 0; i < jobs.length; i++) {
- Job job = jobs[i];
- job.cancel();
- }
- return Status.OK_STATUS;
- }
- };
- job.schedule();
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CButton.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CButton.java
deleted file mode 100644
index e0961bbef09..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CButton.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-
-public class CButton extends Canvas {
-
- private boolean inButton;
- private Image hotImage;
- private Image coldImage;
-
- public CButton(Composite parent, int style) {
- super(parent, style);
-
- addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if (inButton) {
- if (hotImage != null) {
- e.gc.drawImage(hotImage, 0, 0);
- } else if (coldImage != null) {
- e.gc.drawImage(coldImage, 0, 0);
- }
- } else {
- if (coldImage != null) {
- e.gc.drawImage(coldImage, 0, 0);
- } else if (hotImage != null) {
- e.gc.drawImage(hotImage, 0, 0);
- }
- }
- }
- });
-
- addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- inButton = true;
- redraw();
- }
- @Override
- public void mouseExit(MouseEvent e) {
- inButton = false;
- redraw();
- }
- });
- }
-
- @Override
- public void dispose() {
- super.dispose();
-
- if (hotImage != null)
- hotImage.dispose();
-
- if (coldImage != null)
- coldImage.dispose();
- }
-
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- int width = 0;
- int height = 0;
- if (hotImage != null) {
- Rectangle bounds = hotImage.getBounds();
- width = bounds.width;
- height = bounds.height;
- }
- if (coldImage != null) {
- Rectangle bounds = coldImage.getBounds();
- if (bounds.width > width)
- width = bounds.width;
- if (bounds.height > height)
- height = bounds.height;
- }
- return new Point(width, height);
- }
-
- public void setHotImage(Image image) {
- this.hotImage = image;
- }
-
- public void setColdImage(Image image) {
- this.coldImage = image;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CSelector.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CSelector.java
deleted file mode 100644
index 6267212d2a5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/CSelector.java
+++ /dev/null
@@ -1,834 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.cdt.launchbar.ui.IHoverProvider;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.LineAttributes;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class CSelector extends Composite {
-
- private IStructuredContentProvider contentProvider;
- private ILabelProvider labelProvider;
- private IHoverProvider hoverProvider;
- private Comparator<Object> sorter;
-
- private Object input;
-
- private Composite buttonComposite;
- private String toolTipText;
- private boolean toolTipWasModified; // Used for the hover provider
-
- private static final int arrowMax = 2;
- private Transition arrowTransition;
-
- private Object selection;
-
- protected final Color backgroundColor;
- protected final Color outlineColor;
- protected final Color highlightColor;
- protected final Color white;
-
- private boolean mouseOver;
-
- private Image editImage;
- private boolean inEditButton;
- private Image buttonImage;
- private Label currentIcon;
- private Label currentLabel;
-
- private Shell popup;
- private ListItem listItems[];
- private int selIndex;
- private ScrolledComposite listScrolled;
- private final int itemH = 30;
- private int scrollBucket;
- private final int maxScrollBucket = 7;
- private int separatorIndex = -1;
-
-
- private MouseTrackListener mouseTrackListener = new MouseTrackListener() {
- @Override
- public void mouseEnter(MouseEvent e) {
- if (!mouseOver) {
- mouseOver = true;
- redraw();
- if (toolTipWasModified) {
- buttonComposite.setToolTipText(toolTipText);
- if (currentLabel != null) {
- currentLabel.setToolTipText(toolTipText);
- }
- if (currentIcon != null) {
- currentIcon.setToolTipText(toolTipText);
- }
- }
- }
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- if (hoverProvider != null && (popup == null || popup.isDisposed())) {
- final Object eventSource = e.getSource();
- if ((eventSource == currentLabel || eventSource == buttonComposite || eventSource == currentIcon)) {
- if (hoverProvider.displayHover(selection)) {
- buttonComposite.setToolTipText("");
- if (currentLabel != null) {
- currentLabel.setToolTipText("");
- }
- if (currentIcon != null) {
- currentIcon.setToolTipText("");
- }
- toolTipWasModified = true;
- }
- }
- }
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- if (mouseOver) {
- mouseOver = false;
- redraw();
- }
- }
- };
-
- private MouseListener mouseListener = new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent event) {
- if (popup == null || popup.isDisposed()) {
- openPopup();
- } else {
- closePopup();
- }
- }
- };
-
- private Listener focusOutListener = new Listener() {
- @Override
- public void handleEvent(Event event) {
- switch (event.type) {
- case SWT.FocusOut:
- Control focusControl = getDisplay().getFocusControl();
- if (focusControl != null && focusControl.getShell() == popup) {
- Point loc = getDisplay().getCursorLocation();
- if (!getBounds().contains(toControl(loc))) {
- // Don't do it if we're in the selector, we'll deal with that later
- closePopup();
- }
- }
- break;
-
- case SWT.MouseUp:
- if (popup != null && !popup.isDisposed()) {
- Point loc = getDisplay().getCursorLocation();
- if (!popup.getBounds().contains(loc) && !getBounds().contains(toControl(loc))) {
- closePopup();
- }
- }
- break;
- }
- }
-
- };
-
-
- public CSelector(Composite parent, int style) {
- super(parent, style);
-
- backgroundColor = new Color(getDisplay(), new RGB(249, 249, 249));
- outlineColor = new Color(getDisplay(), new RGB(189, 195, 200));
- highlightColor = new Color(getDisplay(), new RGB(223, 239, 241));
- white = getDisplay().getSystemColor(SWT.COLOR_WHITE);
-
- GridLayout mainButtonLayout = new GridLayout();
- setLayout(mainButtonLayout);
-
- addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- GC gc = e.gc;
- gc.setBackground(backgroundColor);
- gc.setForeground(outlineColor);
- Point size = getSize();
- final int arc = 3;
- gc.fillRoundRectangle(0, 0, size.x - 1, size.y - 1, arc, arc);
- gc.drawRoundRectangle(0, 0, size.x - 1, size.y - 1, arc, arc);
- }
- });
-
- addMouseListener(mouseListener);
- addMouseTrackListener(mouseTrackListener);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- backgroundColor.dispose();
- outlineColor.dispose();
- highlightColor.dispose();
- if (editImage != null)
- editImage.dispose();
- if (buttonImage != null)
- buttonImage.dispose();
- if (popup != null)
- popup.dispose();
- }
-
- public void setSelection(Object element) {
- this.selection = element;
-
- if (buttonComposite != null)
- buttonComposite.dispose();
-
- toolTipText = getToolTipText();
-
- boolean editable = false;
- int columns = 2;
-
- Image image = labelProvider.getImage(element);
- if (image != null)
- columns++;
-
- editable = isEditable(element);
- if (editable)
- columns++;
-
- buttonComposite = new Composite(this, SWT.NONE);
- GridLayout buttonLayout = new GridLayout(columns, false);
- buttonLayout.marginHeight = buttonLayout.marginWidth = 0;
- buttonComposite.setLayout(buttonLayout);
- buttonComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- buttonComposite.setBackground(backgroundColor);
- buttonComposite.addMouseListener(mouseListener);
- buttonComposite.addMouseTrackListener(mouseTrackListener);
- buttonComposite.setToolTipText(toolTipText);
-
- if (element != null) {
- if (image != null) {
- Label icon = createImage(buttonComposite, image);
- icon.addMouseListener(mouseListener);
- icon.addMouseTrackListener(mouseTrackListener);
- currentIcon = icon;
- currentIcon.setToolTipText(toolTipText);
- }
-
- Label label = createLabel(buttonComposite, element);
- label.addMouseListener(mouseListener);
- label.addMouseTrackListener(mouseTrackListener);
- currentLabel = label;
- currentLabel.setToolTipText(toolTipText);
- } else {
- Composite blank = new Composite(buttonComposite, SWT.NONE);
- blank.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- currentIcon = null;
- currentLabel = null;
- }
-
- final Canvas arrow = new Canvas(buttonComposite, SWT.NONE) {
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- return new Point(12, 16);
- }
- };
- arrow.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
- arrow.setBackground(backgroundColor);
- arrowTransition = new Transition(arrow, arrowMax, 80);
-
- arrow.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- final int hPadding = 2;
-
- GC gc = e.gc;
- LineAttributes attributes = new LineAttributes(2);
- attributes.cap = SWT.CAP_ROUND;
- gc.setLineAttributes(attributes);
-
- gc.setAlpha(mouseOver ? 255 : 100);
-
- Rectangle bounds = arrow.getBounds();
- int arrowWidth = bounds.width - hPadding * 2;
- int current = arrowTransition.getCurrent();
- gc.drawPolyline(new int[] { hPadding,
- bounds.height / 2 - current,
- hPadding + (arrowWidth / 2),
- bounds.height / 2 + current, hPadding + arrowWidth,
- bounds.height / 2 - current });
- }
- });
-
- arrow.addMouseListener(mouseListener);
- arrow.addMouseTrackListener(mouseTrackListener);
-
- if (editable) {
- Control editButton = createEditButton(buttonComposite, element);
- editButton.setBackground(backgroundColor);
-
- editButton.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent e) {
- // Need to run this after the current event storm
- // Or we get a disposed error.
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (CSelector.this.selection != null)
- handleEdit(selection);
- }
- });
- }
- });
- }
-
- layout();
- }
-
- protected abstract void fireSelectionChanged();
-
- public Object getSelection() {
- return selection;
- }
-
- public MouseListener getMouseListener() {
- return mouseListener;
- }
-
- public MouseTrackListener getMouseTrackListener() {
- return mouseTrackListener;
- }
-
- protected void openPopup() {
- Object[] elements = contentProvider.getElements(input);
- if (elements.length == 0 && !hasActionArea())
- return;
-
- arrowTransition.to(-arrowMax);
-
- if (popup != null && !popup.isDisposed()) {
- popup.dispose();
- }
-
- popup = new Shell(getShell(), SWT.TOOL | SWT.ON_TOP);
- GridLayout layout = new GridLayout();
- layout.marginHeight = layout.marginWidth = 0;
- layout.verticalSpacing = 0;
- popup.setLayout(layout);
-
- listScrolled = new ScrolledComposite(popup, SWT.V_SCROLL | SWT.NO_BACKGROUND);
- listScrolled.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- listScrolled.setExpandHorizontal(true);
- Composite listComp = new Composite(listScrolled, SWT.NONE);
- listScrolled.setContent(listComp);
- layout = new GridLayout();
- layout.marginHeight = layout.marginWidth = 0;
- layout.verticalSpacing = 0;
- listComp.setLayout(layout);
-
- for (Control child : listComp.getChildren())
- child.dispose();
-
- if (sorter != null)
- Arrays.sort(elements, sorter);
-
- listItems = new ListItem[elements.length];
-
- int heightHint = 0;
- for (int i = 0; i < elements.length; ++i) {
- if (i == separatorIndex) {
- Label label = new Label(listComp, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.BORDER);
- label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- }
- listItems[i] = new ListItem(listComp, SWT.NONE, elements[i], i);
- if (i < maxScrollBucket) { // this is how many visible by default
- listItems[i].lazyInit();
- if (i == 0) {
- heightHint = listItems[0].computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
- }
- } else {
- GridData gd = (GridData) listItems[i].getLayoutData();
- gd.heightHint = heightHint;
- }
- }
-
- Point listCompSize = listComp.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- listComp.setSize(listCompSize);
-
- if (hasActionArea())
- createActionArea(popup);
-
- Rectangle buttonBounds = getBounds();
- Point popupLocation = popup.getDisplay().map(this, null, 0,
- buttonBounds.height);
- popup.setLocation(popupLocation.x, popupLocation.y + 5);
-
- Point size = popup.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Point buttonSize = getSize();
- size.x = Math.min(size.x + 16, buttonSize.x * 4 / 3);
- size.y = Math.min(size.y, 250);
- popup.setSize(size);
-
- popup.setVisible(true);
- popup.setFocus();
- getDisplay().addFilter(SWT.FocusOut, focusOutListener);
- getDisplay().addFilter(SWT.MouseUp, focusOutListener);
-
- popup.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- getDisplay().removeFilter(SWT.FocusOut, focusOutListener);
- getDisplay().removeFilter(SWT.MouseUp, focusOutListener);
- }
- });
- selIndex = -1;
- scrollBucket = 0;
- if (hoverProvider != null) {
- hoverProvider.dismissHover(selection != null ? selection : null, true);
- }
- }
-
- private void closePopup() {
- arrowTransition.to(arrowMax);
- popup.setVisible(false);
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- popup.dispose();
- }
- });
- }
-
- TraverseListener listItemTraverseListener = new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- final ListItem currItem = selIndex >=0 ? listItems[selIndex] : null;
- if (currItem == null && e.keyCode != SWT.ARROW_DOWN) {
- return;
- }
- if (e.detail == SWT.TRAVERSE_ARROW_NEXT || e.detail == SWT.TRAVERSE_TAB_NEXT) {
- if (inEditButton || e.keyCode == SWT.ARROW_DOWN) {
- int maxIdx = listItems.length -1;
- if (selIndex < maxIdx) {
- inEditButton = false;
- if (currItem != null)
- currItem.setBackground(white);
- // move to next item
- selIndex++;
- if (scrollBucket < maxScrollBucket) {
- scrollBucket++;
- } else {
- // need to scroll the list up 1 item
- int sY = listScrolled.getOrigin().y;
- listScrolled.setOrigin(0, sY + itemH);
- }
- listItems[selIndex].setBackground(highlightColor);
- } else if (selIndex == maxIdx && maxIdx > maxScrollBucket) {
- // level the scroll for any offset at the bottom of the list
- listScrolled.setOrigin(0, itemH * (maxIdx - maxScrollBucket +1));
- }
- } else if (currItem.editButton != null) {
- // move focus on edit button
- inEditButton = true;
- currItem.editButton.redraw();
- }
- } else if (e.detail == SWT.TRAVERSE_ARROW_PREVIOUS || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
- if (!inEditButton || e.keyCode == SWT.ARROW_UP) {
- if (selIndex > 0) {
- inEditButton = false;
- currItem.setBackground(white);
- // move to previous item
- selIndex--;
- if (scrollBucket > 0) {
- scrollBucket--;
- } else {
- // need to scroll the list down 1 item
- int sY = listScrolled.getOrigin().y;
- listScrolled.setOrigin(0, sY - itemH);
- }
- listItems[selIndex].setBackground(highlightColor);
- } else if (selIndex == 0) {
- // level any offset @ beginning
- listScrolled.setOrigin(0, 0);
- }
- } else if (currItem.editButton != null) {
- // remove focus from edit button
- inEditButton = false;
- currItem.editButton.redraw();
- }
- } else if (e.detail == SWT.TRAVERSE_RETURN) {
- if (inEditButton) {
- inEditButton = false;
- // edit button in list item was pressed
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (CSelector.this.selection != null)
- handleEdit(currItem.element);
- }
- });
- } else {
- // list item was pressed
- popup.dispose();
- setSelection(currItem.element);
- fireSelectionChanged();
- }
- } else if (e.detail == SWT.TRAVERSE_ESCAPE) {
- popup.dispose();
- }
- }
- };
-
- private class ListItem extends Composite {
- protected final Object element;
- private Label icon;
- private Label label;
- protected Control editButton;
- private int index;
-
- public ListItem(Composite parent, int style, Object _element, int index) {
- super(parent, style);
- this.element = _element;
- this.index = index;
-
- setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
-
- Point size = getSize();
- GC gc = e.gc;
- gc.setForeground(outlineColor);
- gc.drawLine(0, size.y - 1, size.x, size.y - 1);
- if (label == null)
- lazyInit();
- }
- });
-
- // lazyInit();
- } // end ListItem(..)
-
- protected void lazyInit() {
- Image image = labelProvider.getImage(element);
- boolean editable = isEditable(element);
-
- int columns = 1;
- if (image != null)
- columns++;
- if (editable)
- columns++;
-
- GridLayout layout = new GridLayout(columns, false);
- layout.marginWidth = layout.marginHeight = 7;
- setLayout(layout);
-
- MouseListener listItemMouseListener = new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent e) {
- popup.dispose();
- setSelection(element);
- fireSelectionChanged();
- }
- };
-
- MouseTrackListener listItemMouseTrackListener = new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- setBackground(highlightColor);
- int idx = getIndex();
- if (idx != selIndex) {
- if (selIndex >= 0) {
- listItems[selIndex].setBackground(white);
- scrollBucket = Math.max(Math.min(scrollBucket + idx - selIndex, maxScrollBucket), 0);
- } else { // initially
- scrollBucket = Math.min(idx, maxScrollBucket);
- }
- }
- selIndex = idx;
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- setBackground(white);
- }
- };
-
- addMouseListener(listItemMouseListener);
- addMouseTrackListener(listItemMouseTrackListener);
-
- if (image != null) {
- icon = createImage(this, image);
- icon.addMouseListener(listItemMouseListener);
- icon.addMouseTrackListener(listItemMouseTrackListener);
- }
-
- label = createLabel(this, element);
- label.addMouseListener(listItemMouseListener);
- label.addMouseTrackListener(listItemMouseTrackListener);
-
- if (editable) {
- editButton = createEditButton(this, element);
- editButton.setBackground(white);
- editButton.addMouseTrackListener(listItemMouseTrackListener);
-
- editButton.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent e) {
- // Need to run this after the current event storm
- // Or we get a disposed error.
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (CSelector.this.selection != null)
- handleEdit(element);
- }
- });
- }
- });
-
- editButton.addTraverseListener(listItemTraverseListener);
- } else {
- addTraverseListener(listItemTraverseListener);
- }
-
- setBackground(white);
-
- layout(true);
- }
-
- @Override
- public void setBackground(Color color) {
- super.setBackground(color);
-
- if (icon != null && !icon.isDisposed())
- icon.setBackground(color);
-
- if (!label.isDisposed())
- label.setBackground(color);
-
- if (editButton != null && !editButton.isDisposed())
- editButton.setBackground(color);
- }
-
- public void setImage(Image image) {
- if (icon != null && !icon.isDisposed())
- icon.setImage(image);
- }
-
- public void setText(String text) {
- if (!label.isDisposed())
- label.setText(text);
- }
-
- protected int getIndex() {
- return index;
- }
- } // end ListItem class
-
- private Label createImage(Composite parent, Image image) {
- Rectangle bounds = image.getBounds();
- boolean disposeImage = false;
- if (bounds.height > 16 || bounds.width > 16) {
- buttonImage = new Image(getDisplay(), 16, 16);
- GC gc = new GC(buttonImage);
- gc.setAntialias(SWT.ON);
- gc.setInterpolation(SWT.HIGH);
- gc.drawImage(image, 0, 0, image.getBounds().width,
- image.getBounds().height, 0, 0, 16, 16);
- gc.dispose();
- image = buttonImage;
- }
- Label icon = new Label(parent, SWT.NONE);
- icon.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true));
- icon.setImage(image);
- if (disposeImage) {
- final Image disposableImage = image;
- icon.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- disposableImage.dispose();
- }
- });
- }
- return icon;
- }
-
- private Label createLabel(Composite parent, Object element) {
- Label label = new Label(parent, SWT.NONE);
- label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
- label.setText(labelProvider.getText(element));
- label.setFont(getDisplay().getSystemFont());
- return label;
- }
-
- private Control createEditButton(Composite parent, Object element) {
- if (editImage == null) {
- editImage = Activator.getImageDescriptor("icons/config_config.png").createImage();
- }
-
- final Canvas editButton = new Canvas(parent, SWT.NONE) {
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- Rectangle bounds = editImage.getBounds();
- return new Point(bounds.width, bounds.height);
- };
- };
-
- editButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true));
- editButton.setToolTipText("Edit");
-
- editButton.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- GC gc = e.gc;
- gc.setAlpha(inEditButton ? 255 : 64);
- gc.drawImage(editImage, 0, 0);
- }
- });
-
- editButton.addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- inEditButton = true;
- editButton.redraw();
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- inEditButton = false;
- editButton.redraw();
- }
- });
-
- return editButton;
- }
-
- public void setContentProvider(IStructuredContentProvider contentProvider) {
- this.contentProvider = contentProvider;
- }
-
- public IStructuredContentProvider getContentProvider() {
- return contentProvider;
- }
-
- public void setLabelProvider(ILabelProvider labelProvider) {
- this.labelProvider = labelProvider;
- }
-
- public ILabelProvider getLabelProvider() {
- return labelProvider;
- }
-
- public void setHoverProvider(IHoverProvider hoverProvider) {
- this.hoverProvider = hoverProvider;
- }
-
- public IHoverProvider getHoverProvider() {
- return hoverProvider;
- }
-
- public void setSorter(Comparator<Object> sorter) {
- this.sorter = sorter;
- }
-
- public void setInput(Object input) {
- this.input = input;
- }
-
- public Object getInput() {
- return input;
- }
-
- public void refresh() {
- // TODO add any new ones to the popup if it's open
- }
-
- public void update(Object element) {
- if (selection == element) {
- if (currentIcon != null && !currentIcon.isDisposed()) {
- currentIcon.setImage(labelProvider.getImage(element));
- }
-
- if (currentLabel != null && !currentLabel.isDisposed()) {
- currentLabel.setText(labelProvider.getText(element));
- }
- }
-
- if (popup != null && !popup.isDisposed()) {
- Object[] elements = contentProvider.getElements(input);
- int i;
- for (i = 0; i < elements.length; ++i)
- if (element == elements[i])
- break;
-
- if (i != elements.length) {
- listItems[i].setImage(labelProvider.getImage(element));
- listItems[i].setText(labelProvider.getText(element));
- }
- }
- }
-
- protected boolean hasActionArea() {
- return false;
- }
-
- protected void createActionArea(Composite parent) {
- // empty
- }
-
- protected boolean isEditable(Object element) {
- return false;
- }
-
- protected void handleEdit(Object element) {
- // nothing to do here
- }
-
- public int getSeparatorIndex() {
- return separatorIndex;
- }
-
- public void setSeparatorIndex(int separatorIndex) {
- this.separatorIndex = separatorIndex;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ConfigSelector.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ConfigSelector.java
deleted file mode 100644
index ef5ee63d945..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ConfigSelector.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.cdt.launchbar.ui.internal.DefaultDescriptorLabelProvider;
-import org.eclipse.cdt.launchbar.ui.internal.LaunchBarUIManager;
-import org.eclipse.cdt.launchbar.ui.internal.dialogs.LaunchConfigurationEditDialog;
-import org.eclipse.cdt.launchbar.ui.internal.dialogs.NewLaunchConfigWizard;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-@SuppressWarnings("restriction")
-public class ConfigSelector extends CSelector {
-
- private LaunchBarUIManager uiManager = Activator.getDefault().getLaunchBarUIManager();
- private DefaultDescriptorLabelProvider defaultProvider;
-
- private static final String[] noConfigs = new String[] { "No Launch Configurations" };
- private static final int SEPARATOR_INDEX = 3;
-
- public ConfigSelector(Composite parent, int style) {
- super(parent, style);
-
- setToolTipText("Launch configuration");
- defaultProvider = new DefaultDescriptorLabelProvider();
-
- setContentProvider(new IStructuredContentProvider() {
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
- @Override
- public void dispose() {
- }
- @Override
- public Object[] getElements(Object inputElement) {
- ILaunchDescriptor[] descs = uiManager.getManager().getLaunchDescriptors();
- if (descs.length > 0) {
- if (descs.length > SEPARATOR_INDEX + 1) {
- ILaunchDescriptor[] descsCopy = new ILaunchDescriptor[SEPARATOR_INDEX + descs.length];
- System.arraycopy(descs, 0, descsCopy, 0, SEPARATOR_INDEX); // copy first 3 elements
- System.arraycopy(descs, 0, descsCopy, SEPARATOR_INDEX, descs.length); // copy all into rest
- // sort rest
- Arrays.sort(descsCopy, SEPARATOR_INDEX, descsCopy.length, new Comparator<ILaunchDescriptor>() {
- @Override
- public int compare(ILaunchDescriptor o1, ILaunchDescriptor o2) {
- return o1.getName().compareTo(o2.getName());
- }
- });
- return descsCopy;
- } else
- return descs;
- }
- return noConfigs;
- }
- });
-
- setLabelProvider(new LabelProvider() {
- @Override
- public Image getImage(Object element) {
- if (element instanceof ILaunchDescriptor) {
- try {
- ILaunchDescriptor configDesc = (ILaunchDescriptor)element;
- ILabelProvider labelProvider = uiManager.getLabelProvider(configDesc);
- if (labelProvider != null) {
- Image img = labelProvider.getImage(element);
- if (img != null)
- return img;
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return defaultProvider.getImage(element);
- }
- @Override
- public String getText(Object element) {
- if (element instanceof String) {
- return (String)element;
- } else if (element instanceof ILaunchDescriptor) {
- try {
- ILaunchDescriptor configDesc = (ILaunchDescriptor)element;
- ILabelProvider labelProvider = uiManager.getLabelProvider(configDesc);
- if (labelProvider != null) {
- String text = labelProvider.getText(element);
- if (text != null)
- return text;
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return defaultProvider.getText(element);
- }
- });
- // no sorter on view, data is sorted by provider
- setSorter(null);
- setSeparatorIndex(SEPARATOR_INDEX);
- }
-
- @Override
- protected void fireSelectionChanged() {
- Object selected = getSelection();
- if (selected instanceof ILaunchDescriptor) {
- ILaunchDescriptor configDesc = (ILaunchDescriptor) selected;
- try {
- uiManager.getManager().setActiveLaunchDescriptor(configDesc);
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
-
- @Override
- public boolean isEditable(Object element) {
- return element instanceof ILaunchDescriptor;
- }
-
- @Override
- public void handleEdit(Object element) {
- try {
- Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- LaunchBarManager manager = uiManager.getManager();
- ILaunchDescriptor desc = (ILaunchDescriptor) element;
- ILaunchMode mode = manager.getActiveLaunchMode();
- ILaunchTarget target = manager.getActiveLaunchTarget();
- if (target == null) {
- MessageDialog.openError(shell, "No Active Target", "You must create a target to edit this launch configuration.");
- return;
- }
- ILaunchConfigurationType configType = manager.getLaunchConfigurationType(desc, target);
- if (configType == null) {
- MessageDialog.openError(shell, "No launch configuration type", "Cannot edit this configuration");
- return;
- }
- ILaunchGroup group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(configType, mode.getIdentifier());
- LaunchGroupExtension groupExt = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(group.getIdentifier());
- if (groupExt != null) {
- ILaunchConfiguration config = manager.getLaunchConfiguration(desc, target);
- if (config == null) {
- MessageDialog.openError(shell, "No launch configuration", "Cannot edit this configuration");
- return;
- }
- if (config.isWorkingCopy() && ((ILaunchConfigurationWorkingCopy) config).isDirty()) {
- config = ((ILaunchConfigurationWorkingCopy) config).doSave();
- }
- final LaunchConfigurationEditDialog dialog = new LaunchConfigurationEditDialog(shell, config, groupExt);
- dialog.setInitialStatus(Status.OK_STATUS);
- dialog.open();
- }
- } catch (CoreException e2) {
- Activator.log(e2);
- }
- }
-
- @Override
- public boolean hasActionArea() {
- return true;
- }
-
- @Override
- public void createActionArea(Composite parent) {
- Composite actionArea = new Composite(parent, SWT.NONE);
- GridLayout actionLayout = new GridLayout();
- actionLayout.marginWidth = actionLayout.marginHeight = 0;
- actionArea.setLayout(actionLayout);
- actionArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- final Composite createButton = new Composite(actionArea, SWT.NONE);
- createButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- GridLayout buttonLayout = new GridLayout();
- buttonLayout.marginWidth = buttonLayout.marginHeight = 7;
- createButton.setLayout(buttonLayout);
- createButton.setBackground(white);
- createButton.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- Point size = createButton.getSize();
- GC gc = e.gc;
- gc.setForeground(outlineColor);
- gc.drawLine(0, 0, size.x, 0);
- }
- });
-
- final Label createLabel = new Label(createButton, SWT.None);
- createLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- createLabel.setText("Create New Configuration...");
- createLabel.setBackground(white);
-
- MouseListener mouseListener = new MouseAdapter() {
- public void mouseUp(org.eclipse.swt.events.MouseEvent e) {
- final NewLaunchConfigWizard wizard = new NewLaunchConfigWizard();
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- if (dialog.open() == Window.OK) {
- new Job("Create Launch Configuration") {
- protected IStatus run(IProgressMonitor monitor) {
- try {
- wizard.getWorkingCopy().doSave();
- ILaunchMode lm = wizard.getLaunchMode();
- uiManager.getManager().setActiveLaunchMode(lm);
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- };
- }.schedule();
- }
- }
- };
-
- createButton.addMouseListener(mouseListener);
- createLabel.addMouseListener(mouseListener);
-
- MouseTrackListener mouseTrackListener = new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- createButton.setBackground(highlightColor);
- createLabel.setBackground(highlightColor);
- }
- @Override
- public void mouseExit(MouseEvent e) {
- createButton.setBackground(white);
- createLabel.setBackground(white);
- }
- };
- createButton.addMouseTrackListener(mouseTrackListener);
- createLabel.addMouseTrackListener(mouseTrackListener);
- }
-
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- return super.computeSize(250, hHint, changed);
- }
-
- @Override
- public void setSelection(Object element) {
- if (element == null)
- element = noConfigs[0];
- super.setSelection(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/LaunchBarControl.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/LaunchBarControl.java
deleted file mode 100644
index 46e8cf7270b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/LaunchBarControl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager.Listener;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.cdt.launchbar.ui.internal.Messages;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-public class LaunchBarControl implements Listener {
-
- public static final String ID = "org.eclipse.cdt.launchbar"; //$NON-NLS-1$
- public static final String CLASS_URI = "bundleclass://" + Activator.PLUGIN_ID + "/" + LaunchBarControl.class.getName(); //$NON-NLS-1$ //$NON-NLS-2$
-
- private LaunchBarManager manager = Activator.getDefault().getLaunchBarUIManager().getManager();
-
- private ConfigSelector configSelector;
- private ModeSelector modeSelector;
- private TargetSelector targetSelector;
-
- @PostConstruct
- public void createControl(Composite parent) {
- manager.addListener(this);
-
- Composite container = new Composite(parent, SWT.NONE);
- container.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
- GridLayout layout = new GridLayout(7, false);
- layout.marginHeight = 8;
- layout.marginWidth = 8;
- container.setLayout(layout);
- container.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- LaunchBarControl.this.dispose();
- }
- });
-
- createButton(container, Activator.IMG_BUTTON_BUILD, Messages.LaunchBarControl_Build, Activator.CMD_BUILD);
- createButton(container, Activator.IMG_BUTTON_LAUNCH, Messages.LaunchBarControl_Launch, Activator.CMD_LAUNCH);
- createButton(container, Activator.IMG_BUTTON_STOP, Messages.LaunchBarControl_Stop, Activator.CMD_STOP);
-
- modeSelector = new ModeSelector(container, SWT.NONE);
- modeSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
- modeSelector.setInput(manager);
-
- configSelector = new ConfigSelector(container, SWT.NONE);
- configSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
- configSelector.setInput(manager);
-
- Label label = new Label(container, SWT.NONE);
- label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
- label.setText("on" + ":");
-
- targetSelector = new TargetSelector(container, SWT.NONE);
- targetSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
- targetSelector.setInput(manager);
-
- ILaunchDescriptor configDesc = manager.getActiveLaunchDescriptor();
- configSelector.setSelection(configDesc == null ? null : configDesc);
-
- ILaunchMode mode = manager.getActiveLaunchMode();
- modeSelector.setSelection(mode == null ? null : mode);
-
- ILaunchTarget target = manager.getActiveLaunchTarget();
- targetSelector.setSelection(target == null ? null : target);
- }
-
- @PreDestroy
- public void dispose() {
- manager.removeListener(this);
- }
-
- private void createButton(Composite parent, String imageName, String toolTipText, final String command) {
- CButton button = new CButton(parent, SWT.NONE);
- button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
- Image srcImage = Activator.getDefault().getImage(imageName);
- Image image = new Image(parent.getDisplay(), srcImage, SWT.IMAGE_COPY);
- button.setHotImage(image);
- button.setToolTipText(toolTipText);
- button.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent e) {
- Activator.runCommand(command);
- }
- });
- }
-
- @Override
- public void activeLaunchDescriptorChanged() {
- if (configSelector != null && !configSelector.isDisposed()) {
- final ILaunchDescriptor configDesc = manager.getActiveLaunchDescriptor();
- configSelector.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!configSelector.isDisposed())
- configSelector.setSelection(configDesc == null ? null : configDesc);
- }
- });
- }
- }
-
- @Override
- public void activeLaunchModeChanged() {
- if (modeSelector != null && !modeSelector.isDisposed()) {
- final ILaunchMode mode = manager.getActiveLaunchMode();
- modeSelector.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!modeSelector.isDisposed())
- modeSelector.setSelection(mode == null ? null : mode);
- }
- });
- }
- }
-
- @Override
- public void activeLaunchTargetChanged() {
- if (targetSelector != null && !targetSelector.isDisposed()) {
- final ILaunchTarget target = manager.getActiveLaunchTarget();
- targetSelector.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!targetSelector.isDisposed())
- targetSelector.setSelection(target == null ? null : target);
- }
- });
- }
- }
-
- @Override
- public void launchDescriptorRemoved(ILaunchDescriptor descriptor) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void launchTargetsChanged() {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ModeSelector.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ModeSelector.java
deleted file mode 100644
index e653167f8aa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/ModeSelector.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-
-@SuppressWarnings("restriction")
-public class ModeSelector extends CSelector {
-
- private static final String[] noModes = new String[] { "---" };
-
- private final LaunchBarManager manager = Activator.getDefault().getLaunchBarUIManager().getManager();
-
- public ModeSelector(Composite parent, int style) {
- super(parent, style);
-
- setToolTipText("Launch configuration");
-
- setContentProvider(new IStructuredContentProvider() {
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
- @Override
- public void dispose() {
- }
- @Override
- public Object[] getElements(Object inputElement) {
- try {
- ILaunchMode[] modes = manager.getLaunchModes();
- if (modes.length > 0)
- return modes;
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- return noModes;
- }
- });
-
- setLabelProvider(new LabelProvider() {
- private Map<ImageDescriptor, Image> images = new HashMap<>();
- @Override
- public void dispose() {
- super.dispose();
- for (Image image : images.values()) {
- image.dispose();
- }
- }
- @Override
- public Image getImage(Object element) {
- if (element instanceof ILaunchMode) {
- ILaunchMode mode = (ILaunchMode) element;
- try {
- ILaunchGroup group = getLaunchGroup(mode.getIdentifier());
- if (group != null) {
- ImageDescriptor imageDesc = group.getImageDescriptor();
- Image image = images.get(imageDesc);
- if (image == null) {
- image = imageDesc.createImage();
- images.put(imageDesc, image);
- }
- return image;
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return super.getImage(element);
- }
- @Override
- public String getText(Object element) {
- if (element instanceof ILaunchMode) {
- ILaunchMode mode = (ILaunchMode) element;
- try {
- ILaunchGroup group = getLaunchGroup(mode.getIdentifier());
- if (group != null) {
- return group.getLabel().replace("&", "");
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return super.getText(element);
- }
- });
-
- setSorter(new Comparator<Object>() {
- @Override
- public int compare(Object o1, Object o2) {
- if (o1 instanceof ILaunchMode && o2 instanceof ILaunchMode) {
- String mode1 = ((ILaunchMode)o1).getIdentifier();
- String mode2 = ((ILaunchMode)o2).getIdentifier();
- // run comes first, then debug, then the rest
- if (mode1.equals("run")) {
- if (mode2.equals("run"))
- return 0;
- else
- return -1;
- }
- if (mode2.equals("run"))
- return 1;
- if (mode1.equals("debug")) {
- if (mode2.equals("debug"))
- return 0;
- else
- return -1;
- }
- if (mode2.equals("debug"))
- return 1;
- }
- return 0;
- }
- });
- }
-
-
- protected ILaunchGroup getLaunchGroup(String mode) throws CoreException {
- ILaunchConfigurationType type = manager.getLaunchConfigurationType(manager.getActiveLaunchDescriptor(), manager.getActiveLaunchTarget());
- if (type == null)
- return null;
- return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(type, mode);
- }
-
- @Override
- protected void fireSelectionChanged() {
- Object selected = getSelection();
- if (selected instanceof ILaunchMode) {
- ILaunchMode mode = (ILaunchMode) selected;
- try {
- manager.setActiveLaunchMode(mode);
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
-
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- return super.computeSize(150, hHint, changed);
- }
-
- @Override
- public void setSelection(Object element) {
- if (element == null)
- element = noModes[0];
- super.setSelection(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/TargetSelector.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/TargetSelector.java
deleted file mode 100644
index 68e9e471ea5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/TargetSelector.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import java.util.Comparator;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.ui.IHoverProvider;
-import org.eclipse.cdt.launchbar.ui.ILaunchBarUIConstants;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.cdt.launchbar.ui.internal.LaunchBarUIManager;
-import org.eclipse.cdt.launchbar.ui.internal.dialogs.NewLaunchTargetWizard;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-public class TargetSelector extends CSelector {
-
- private final LaunchBarUIManager uiManager = Activator.getDefault().getLaunchBarUIManager();
-
- private static final String[] noTargets = new String[] { "---" };
-
- public TargetSelector(Composite parent, int style) {
- super(parent, style);
-
- setContentProvider(new IStructuredContentProvider() {
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- try {
- ILaunchTarget[] targets = uiManager.getManager().getLaunchTargets();
- if (targets.length > 0)
- return targets;
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- return noTargets;
- }
- });
-
- setLabelProvider(new LabelProvider() {
- @Override
- public Image getImage(Object element) {
- if (element instanceof ILaunchTarget) {
- try {
- ILaunchTarget target = (ILaunchTarget) element;
- ILabelProvider labelProvider = uiManager.getLabelProvider(target);
- if (labelProvider != null) {
- return labelProvider.getImage(element);
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return super.getImage(element);
- }
-
- @Override
- public String getText(Object element) {
- if (element instanceof ILaunchTarget) {
- ILaunchTarget target = (ILaunchTarget) element;
- try {
- ILabelProvider labelProvider = uiManager.getLabelProvider(target);
- if (labelProvider != null) {
- return labelProvider.getText(element);
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- return target.getName();
- }
- return super.getText(element);
- }
- });
-
- setSorter(new Comparator<Object>() {
- @Override
- public int compare(Object o1, Object o2) {
- // Sort by name
- return 0;
- }
- });
-
- setHoverProvider(new IHoverProvider() {
- @Override
- public boolean displayHover(Object element) {
- if (element instanceof ILaunchTarget) {
- try {
- ILaunchTarget target = (ILaunchTarget) element;
- IHoverProvider hoverProvider = uiManager.getHoverProvider(target);
- if (hoverProvider != null) {
- return hoverProvider.displayHover(element);
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- return false;
- }
-
- @Override
- public void dismissHover(Object element, boolean immediate) {
- if (element instanceof ILaunchTarget) {
- try {
- ILaunchTarget target = (ILaunchTarget) element;
- IHoverProvider hoverProvider = uiManager.getHoverProvider(target);
- if (hoverProvider != null) {
- hoverProvider.dismissHover(element, immediate);
- }
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
- });
- }
-
- @Override
- public boolean isEditable(Object element) {
- if (element instanceof ILaunchTarget) {
- ILaunchTarget target = (ILaunchTarget) element;
- return uiManager.getEditCommand(target) != null;
- }
- return false;
- }
-
- @Override
- public void handleEdit(Object element) {
- if (element instanceof ILaunchTarget) {
- ILaunchTarget target = (ILaunchTarget) element;
- String commandId = uiManager.getEditCommand(target);
- Activator.runCommand(commandId, ILaunchBarUIConstants.TARGET_NAME, target.getName());
- }
- }
-
- @Override
- public boolean hasActionArea() {
- return !uiManager.getNewTargetWizards().isEmpty();
- }
-
- @Override
- public void createActionArea(final Composite parent) {
- Composite actionArea = new Composite(parent, SWT.NONE);
- GridLayout actionLayout = new GridLayout();
- actionLayout.marginWidth = actionLayout.marginHeight = 0;
- actionArea.setLayout(actionLayout);
- actionArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- final Composite createButton = new Composite(actionArea, SWT.NONE);
- createButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- GridLayout buttonLayout = new GridLayout();
- buttonLayout.marginWidth = buttonLayout.marginHeight = 7;
- createButton.setLayout(buttonLayout);
- createButton.setBackground(white);
- createButton.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- Point size = createButton.getSize();
- GC gc = e.gc;
- gc.setForeground(outlineColor);
- gc.drawLine(0, 0, size.x, 0);
- }
- });
-
- final Label createLabel = new Label(createButton, SWT.None);
- createLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- createLabel.setText("Create New Target...");
- createLabel.setBackground(white);
-
- MouseListener mouseListener = new MouseAdapter() {
- public void mouseUp(org.eclipse.swt.events.MouseEvent e) {
- NewLaunchTargetWizard wizard = new NewLaunchTargetWizard(uiManager);
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- dialog.open();
- }
- };
-
- createButton.addMouseListener(mouseListener);
- createLabel.addMouseListener(mouseListener);
-
- MouseTrackListener mouseTrackListener = new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- createButton.setBackground(highlightColor);
- createLabel.setBackground(highlightColor);
- }
- @Override
- public void mouseExit(MouseEvent e) {
- createButton.setBackground(white);
- createLabel.setBackground(white);
- }
- };
- createButton.addMouseTrackListener(mouseTrackListener);
- createLabel.addMouseTrackListener(mouseTrackListener);
- }
-
- @Override
- protected void fireSelectionChanged() {
- Object selection = getSelection();
- if (selection instanceof ILaunchTarget) {
- ILaunchTarget target = (ILaunchTarget) selection;
- try {
- uiManager.getManager().setActiveLaunchTarget(target);
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
- }
-
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- return super.computeSize(200, hHint, changed);
- }
-
- @Override
- public void setSelection(Object element) {
- if (element == null)
- element = noTargets[0];
- super.setSelection(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/Transition.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/Transition.java
deleted file mode 100644
index e8a6bc1e15e..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/controls/Transition.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.controls;
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-public class Transition implements Runnable {
-
- private final Control control;
- private final int tick;
- private int current;
- private int to;
- private int incr;
-
- public Transition(Control control, int current, int tick) {
- this.control = control;
- this.current = current;
- this.tick = tick;
- }
-
- @Override
- public void run() {
- current += incr;
- if (!control.isDisposed())
- control.redraw();
- if (!done())
- Display.getCurrent().timerExec(tick, this);
- }
-
- public void to(int to) {
- if (current == to)
- return;
-
- this.to = to;
- this.incr = current > to ? -1 : 1;
- Display.getCurrent().timerExec(tick, this);
- }
-
- public int getCurrent() {
- return current;
- }
-
- public boolean done() {
- return current == to;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/LaunchConfigurationEditDialog.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/LaunchConfigurationEditDialog.java
deleted file mode 100644
index 1feaaf78892..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/LaunchConfigurationEditDialog.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-@SuppressWarnings("restriction")
-public class LaunchConfigurationEditDialog extends LaunchConfigurationPropertiesDialog {
-
- private static final int DELETE_ID = 64;
- private static final int DUPLICATE_ID = 65;
- private static final int LAUNCH_ID = 66;
-
- public LaunchConfigurationEditDialog(Shell shell, ILaunchConfiguration launchConfiguration, LaunchGroupExtension group) {
- super(shell, launchConfiguration, group);
- }
-
- @Override
- public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
- PlatformUI.getWorkbench().getProgressService().run(fork, cancelable, runnable);
- }
-
- @Override
- protected Control createButtonBar(Composite parent) {
- // Clone super's implementation, removes the monitor since we don't run from here
- // And adds in the left button bar.
- Font font = parent.getFont();
- Composite composite = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
- layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
- layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- composite.setFont(font);
-
- // create help control if needed
- if (isHelpAvailable()) {
- createHelpControl(composite);
- }
-
- Composite leftButtonComp = new Composite(composite, SWT.NULL);
- layout = new GridLayout();
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- layout.numColumns = 0;
- leftButtonComp.setLayout(layout);
- leftButtonComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- leftButtonComp.setFont(parent.getFont());
-
- createButton(leftButtonComp, DELETE_ID, "Delete", false);
- createButton(leftButtonComp, DUPLICATE_ID, "Duplicate", false);
- createButton(leftButtonComp, LAUNCH_ID, "Launch", false);
-
- Composite mainButtonComp = new Composite(composite, SWT.NONE);
- layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- layout.numColumns = 0;
- mainButtonComp.setLayout(layout);
- mainButtonComp.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- mainButtonComp.setFont(parent.getFont());
-
- createButton(mainButtonComp, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(mainButtonComp, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-
- return composite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- // Do nothing since we now have the buttons created above.
- }
-
- @Override
- public void launchConfigurationAdded(ILaunchConfiguration configuration) {
- // update the dialog with the new config
- getTabViewer().setInput(configuration);
- }
-
- @Override
- protected void buttonPressed(int buttonId) {
- switch (buttonId) {
- case DELETE_ID:
- ILaunchConfiguration c = getLaunchConfiguration();
- if (c.isWorkingCopy())
- c = ((ILaunchConfigurationWorkingCopy)c).getOriginal();
- final ILaunchConfiguration config = c;
- if (MessageDialog.openConfirm(getShell(), "Confirm Delete",
- "Are you sure you want to delete " + config.getName())) {
- new Job("Deleting launch configuration") {
- protected IStatus run(IProgressMonitor monitor) {
- try {
- config.delete();
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- };
- }.schedule();
- cancelPressed();
- }
- break;
- case DUPLICATE_ID:
- final ILaunchConfiguration original = getLaunchConfiguration();
- final String newName = DebugPlugin.getDefault().getLaunchManager().generateLaunchConfigurationName(original.getName());
- new Job("Duplicating launch configuration") {
- protected IStatus run(IProgressMonitor monitor) {
- try {
- ILaunchConfigurationWorkingCopy newWorkingCopy = original.copy(newName);
- newWorkingCopy.doSave();
- return Status.OK_STATUS;
- } catch (CoreException e) {
- return e.getStatus();
- }
- };
- }.schedule();
- break;
- case LAUNCH_ID:
- okPressed();
- Activator.runCommand(Activator.CMD_LAUNCH);
- break;
- default:
- super.buttonPressed(buttonId);
- }
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigEditPage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigEditPage.java
deleted file mode 100644
index 54101af13f8..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigEditPage.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPresentationManager;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ColorRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-public class NewLaunchConfigEditPage extends WizardPage {
- ILaunchConfigurationWorkingCopy workingCopy;
- ILaunchConfigurationTabGroup tabGroup;
- private Text nameText;
- private CTabFolder tabFolder;
- private LaunchConfigurationDialog launchConfigurationDialog = new LaunchConfigurationDialog();
- private LaunchConfigurationManager launchConfigurationMgr = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-
- public NewLaunchConfigEditPage() {
- super("NewLaunchConfigEditPage");
- setTitle("Launch Configuration Properties");
- setDescription("Edit the new launch configuration properties");
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- comp.setLayout(new GridLayout(2, false));
- Label label = new Label(comp, SWT.NONE);
- label.setLayoutData(new GridData());
- label.setText("Name:");
- nameText = new Text(comp, SWT.BORDER);
- nameText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- ColorRegistry reg = JFaceResources.getColorRegistry();
- Color c1 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"), //$NON-NLS-1$
- c2 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"); //$NON-NLS-1$
- tabFolder = new CTabFolder(comp, SWT.BORDER | SWT.NO_REDRAW_RESIZE | SWT.FLAT);
- GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- gridData.horizontalSpan = 2;
- tabFolder.setLayoutData(gridData);
- tabFolder.setSimple(false);
- tabFolder.setSelectionBackground(new Color[] { c1, c2 }, new int[] { 100 }, true);
- tabFolder.setSelectionForeground(reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR")); //$NON-NLS-1$
-
- setControl(comp);
- nameText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- String name = nameText.getText().trim();
- workingCopy.rename(name);
-
- String errMessage = checkName(name);
- if (errMessage == null) {
- validateFields();
- } else {
- setErrorMessage(errMessage);
- }
- }
- });
- validateFields();
- }
-
- private String checkName(String name) {
- try {
- if (name.isEmpty()) {
- return "Name can not be empty";
- }
-
- ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
- if (manager.isExistingLaunchConfigurationName(name)) {
- ILaunchConfiguration config = ((LaunchManager) manager).findLaunchConfiguration(name);
- if (config != workingCopy.getOriginal()) {
- return ("A configuration with this name already exists");
- }
- }
- } catch (Exception e) {
- Activator.log(e);
- return (e.getLocalizedMessage());
- }
- return null;
- }
-
-
- void changeLaunchConfigType(ILaunchConfigurationType type) {
- if (type == null)
- return;
- try {
- String initialMode = ((NewLaunchConfigWizard) getWizard()).modePage.selectedGroup.getMode();
- workingCopy = type.newInstance(null, "New Configuration");
- tabGroup = LaunchConfigurationPresentationManager.getDefault().getTabGroup(workingCopy, initialMode);
- for (CTabItem item : tabFolder.getItems())
- item.dispose();
- tabGroup.createTabs(launchConfigurationDialog, initialMode);
- boolean firstTab = true;
- for (ILaunchConfigurationTab tab : tabGroup.getTabs()) {
- tab.setLaunchConfigurationDialog(launchConfigurationDialog);
- tab.createControl(tabFolder);
- tab.setDefaults(workingCopy);
- if (firstTab) {
- firstTab = false;
- }
- }
-
- // Do this after all the tabs have their controls created
- for (ILaunchConfigurationTab tab : tabGroup.getTabs()) {
- tab.initializeFrom(workingCopy);
-
- CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE);
- tabItem.setText(tab.getName());
- tabItem.setImage(!tab.isValid(workingCopy) && tab.getErrorMessage() != null ?
- launchConfigurationMgr.getErrorTabImage(tab) : tab.getImage());
- tabItem.setControl(tab.getControl());
- }
-
- // Clean up any created configs before we set the name and trigger
- // any validation
- ((NewLaunchConfigWizard) getWizard()).cleanUpConfigs();
-
- tabFolder.setSelection(0);
- nameText.setText(workingCopy.getName());
- } catch (CoreException e) {
- Activator.log(e);
- return;
- }
- }
-
- boolean performFinish() {
- if (workingCopy == null)
- return false;
- for (ILaunchConfigurationTab tab : tabGroup.getTabs())
- tab.performApply(workingCopy);
- return true;
- }
-
- public void validateFields() {
- if (workingCopy == null)
- return;
- String message = null;
- String old_msg = getErrorMessage();
- setErrorMessage(null);
- message = checkName(workingCopy.getName());
- if (message == null) {
- ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
- int tLen = tabs.length;
- int tfLen = tabFolder.getItems().length;
- for (int i = 0; i < tLen; i++) {
- ILaunchConfigurationTab tab = tabs[i];
- try {
- tab.isValid(workingCopy);
- message = tab.getErrorMessage();
- } catch (Exception e) {
- // if createControl hasn't been called yet can throw exception..
- // like the NPE issue in CTestingTab
- message = e.getMessage();
- }
- // this is similar to what LaunchConfigurationTabGroupViewer.refresh() does, which is not available in this case
- if (tLen == tfLen &&
- (old_msg == null && message != null || old_msg != null && message == null)) {
- CTabItem item = tabFolder.getItem(i);
- if (item != null) {
- item.setImage(message != null ? launchConfigurationMgr.getErrorTabImage(tab)
- : tab.getImage());
- }
- }
- if (message != null) {
- break;
- }
- }
- }
- setErrorMessage(message);
- if (getErrorMessage() != null) {
- setPageComplete(false);
- } else {
- setPageComplete(true);
- }
- }
-
- private class LaunchConfigurationDialog implements ILaunchConfigurationDialog {
- @Override
- public void run(boolean fork, boolean cancelable,
- IRunnableWithProgress runnable)
- throws InvocationTargetException, InterruptedException {
- // TODO Auto-generated method stub
- }
-
- @Override
- public void updateButtons() {
- }
-
- @Override
- public void updateMessage() {
- validateFields();
- }
-
- @Override
- public void setName(String name) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public String generateName(String name) {
- if (name == null)
- return "";
- return DebugPlugin.getDefault().getLaunchManager().generateLaunchConfigurationName(name);
- }
-
- @Override
- public ILaunchConfigurationTab[] getTabs() {
- return tabGroup.getTabs();
- }
-
- @Override
- public ILaunchConfigurationTab getActiveTab() {
- int i = tabFolder.getSelectionIndex();
- return tabGroup.getTabs()[i];
- }
-
- @Override
- public String getMode() {
- return ((NewLaunchConfigWizard) getWizard()).modePage.selectedGroup.getMode();
- }
-
- @Override
- public void setActiveTab(ILaunchConfigurationTab tab) {
- ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
- int tLen = tabs.length;
- for (int i = 0; i < tLen; i++) {
- ILaunchConfigurationTab tabi = tabs[i];
- if (tabi.equals(tab)) {
- setActiveTab(i);
- break;
- }
- }
- }
-
- @Override
- public void setActiveTab(int index) {
- tabFolder.setSelection(index);
- }
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigModePage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigModePage.java
deleted file mode 100644
index 119eb63c792..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigModePage.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-public class NewLaunchConfigModePage extends WizardPage {
-
- private Table table;
- ILaunchGroup selectedGroup;
-
- public NewLaunchConfigModePage() {
- super("Select Initial Launch Mode");
- setTitle("Initial Launch Mode");
- setDescription("Select initial launch mode.");
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- comp.setLayout(new GridLayout(1, false));
-
- table = new Table(comp, SWT.SINGLE | SWT.BORDER);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
- table.setLayoutData(data);
-
- Set<ILaunchGroup> done = new HashSet<>();
-
- for (ILaunchGroup group : DebugUITools.getLaunchGroups()) {
- if (group.getMode().equals("run")) {
- createModeItem(group);
- done.add(group);
- }
- }
-
- for (ILaunchGroup group : DebugUITools.getLaunchGroups()) {
- if (group.getMode().equals("debug")) {
- createModeItem(group);
- done.add(group);
- }
- }
-
- for (ILaunchGroup group : DebugUITools.getLaunchGroups()) {
- if (!done.contains(group)) {
- createModeItem(group);
- }
- }
-
- if (table.getItemCount() > 0) {
- // Select debug as default
- int i = 0;
- boolean hasDebug = false;
- for (TableItem item : table.getItems()) {
- if ("debug".equals(((ILaunchGroup) item.getData()).getMode())) {
- hasDebug = true;
- table.select(i);
- break;
- }
- i++;
- }
-
- if (!hasDebug) {
- table.select(0);
- }
- selectedGroup = (ILaunchGroup) table.getSelection()[0].getData();
- }
-
- table.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectedGroup = (ILaunchGroup)table.getSelection()[0].getData();
- ((NewLaunchConfigWizard)getWizard()).typePage.populateItems();
- }
- });
-
- setControl(comp);
- }
-
- private void createModeItem(ILaunchGroup group) {
- if (group.getCategory() != null || !group.isPublic())
- return;
-
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(group.getLabel().replace("&", ""));
- ImageDescriptor imageDesc = group.getImageDescriptor();
- if (imageDesc != null) {
- item.setImage(imageDesc.createImage());
- }
- item.setData(group);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigTypePage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigTypePage.java
deleted file mode 100644
index f182714e2f1..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigTypePage.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-public class NewLaunchConfigTypePage extends WizardPage {
-
- private Table table;
-
- public NewLaunchConfigTypePage() {
- super("Select Launch Configuration Type");
- setTitle("Launch Configuration Type");
- setDescription("Select the type of launch configuration to create.");
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- comp.setLayout(new GridLayout(1, false));
-
- table = new Table(comp, SWT.SINGLE | SWT.BORDER);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
- data.heightHint = 500;
- table.setLayoutData(data);
-
- populateItems();
-
- setControl(comp);
- }
-
- void populateItems() {
- ILaunchGroup group = ((NewLaunchConfigWizard)getWizard()).modePage.selectedGroup;
- if (group == null)
- return;
-
- table.removeAll();
-
- boolean haveItems = false;
- for (ILaunchConfigurationType type : DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes()) {
- if (!type.isPublic() || type.getCategory() != null || !type.supportsMode(group.getMode()))
- continue;
-
- haveItems = true;
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(type.getName());
- ImageDescriptor imageDesc = DebugUITools.getDefaultImageDescriptor(type);
- if (imageDesc != null)
- item.setImage(imageDesc.createImage());
- item.setData(type);
- }
-
- if (haveItems) {
- table.select(0);
- }
- setPageComplete(haveItems);
- }
-
- @Override
- public boolean canFlipToNextPage() {
- return isPageComplete();
- }
-
- @Override
- public IWizardPage getNextPage() {
- ILaunchConfigurationType type = (ILaunchConfigurationType)table.getSelection()[0].getData();
- NewLaunchConfigEditPage editPage = ((NewLaunchConfigWizard)getWizard()).editPage;
- editPage.changeLaunchConfigType(type);
- return editPage;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigWizard.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigWizard.java
deleted file mode 100644
index 2d53b5142b1..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchConfigWizard.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.jface.wizard.Wizard;
-
-public class NewLaunchConfigWizard extends Wizard implements ILaunchConfigurationListener {
-
- NewLaunchConfigModePage modePage = new NewLaunchConfigModePage();
- NewLaunchConfigTypePage typePage = new NewLaunchConfigTypePage();
- NewLaunchConfigEditPage editPage = new NewLaunchConfigEditPage();
-
- private List<ILaunchConfiguration> configsToDelete = new ArrayList<>();
-
- public NewLaunchConfigWizard() {
- setWindowTitle("Create Launch Configuration");
- initListeners();
- }
-
- @Override
- public void addPages() {
- addPage(modePage);
- addPage(typePage);
- addPage(editPage);
- }
-
- public ILaunchConfigurationWorkingCopy getWorkingCopy() {
- return editPage.workingCopy;
- }
-
- public ILaunchMode getLaunchMode() {
- String initMode = modePage.selectedGroup.getMode();
- return DebugPlugin.getDefault().getLaunchManager().getLaunchMode(initMode);
- }
-
- @Override
- public boolean performFinish() {
- cleanUpConfigs();
- return editPage.performFinish();
- }
-
- @Override
- public boolean performCancel() {
- cleanUpConfigs();
- return super.performCancel();
- }
-
- private void initListeners() {
- // while the wizard is open, some ill behaved launch config tabs save the working copy.
- // We need to make sure those saves are deleted when the dialog is finished.
- // We also need to turn off listening in the tool bar manager so that we don't treat these
- // as real launch configs.
- DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
- }
-
- void cleanUpConfigs() {
- DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(this);
- for (ILaunchConfiguration config : configsToDelete) {
- try {
- config.delete();
- } catch (CoreException e) {
- Activator.log(e);
- }
- }
- }
-
- @Override
- public void launchConfigurationAdded(ILaunchConfiguration configuration) {
- if (!configuration.isWorkingCopy())
- configsToDelete.add(configuration);
- }
-
- @Override
- public void launchConfigurationChanged(ILaunchConfiguration configuration) {
- // Nothing to do
- }
-
- @Override
- public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
- if (!configuration.isWorkingCopy())
- configsToDelete.remove(configuration);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetTypePage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetTypePage.java
deleted file mode 100644
index 81d601e3f1f..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetTypePage.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import java.util.Map.Entry;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.cdt.launchbar.core.internal.Activator;
-import org.eclipse.cdt.launchbar.core.internal.ExecutableExtension;
-import org.eclipse.cdt.launchbar.ui.internal.LaunchBarUIManager;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.PlatformUI;
-
-public class NewLaunchTargetTypePage extends WizardPage {
-
- private final LaunchBarUIManager uiManager;
- private Table table;
- private ExecutableExtension<INewWizard> currentExtension;
- private INewWizard nextWizard;
-
- public NewLaunchTargetTypePage(LaunchBarUIManager uiManager) {
- super("NewLaunchTargetTypePage");
- setTitle("Launch Target Type");
- setDescription("Select type of launch target to create.");
- this.uiManager = uiManager;
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- comp.setLayout(new GridLayout());
-
- table = new Table(comp, SWT.SINGLE | SWT.BORDER);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
- table.setLayoutData(data);
-
- setPageComplete(false);
- for (Entry<ILaunchTargetType, ExecutableExtension<INewWizard>> entry : uiManager.getNewTargetWizards().entrySet()) {
- TableItem item = new TableItem(table, SWT.NONE);
- ILaunchTargetType targetType = entry.getKey();
- item.setText(uiManager.getTargetTypeName(targetType));
- Image icon = uiManager.getTargetTypeIcon(targetType);
- if (icon != null) {
- item.setImage(icon);
- }
- item.setData(entry.getValue());
- table.select(0);
- setPageComplete(true);
- }
-
- setControl(comp);
- }
-
- @Override
- public boolean canFlipToNextPage() {
- return isPageComplete();
- }
-
- @Override
- public IWizardPage getNextPage() {
- @SuppressWarnings("unchecked")
- ExecutableExtension<INewWizard> extension = (ExecutableExtension<INewWizard>) table.getSelection()[0].getData();
- if (extension != currentExtension) {
- try {
- nextWizard = extension.create();
- nextWizard.init(PlatformUI.getWorkbench(), null);
- nextWizard.addPages();
- currentExtension = extension;
- } catch (CoreException e) {
- Activator.log(e.getStatus());
- }
- }
-
- if (nextWizard != null) {
- IWizardPage [] pages = nextWizard.getPages();
- if (pages.length > 0) {
- return pages[0];
- }
- }
-
- return super.getNextPage();
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetWizard.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetWizard.java
deleted file mode 100644
index 92bc5fe1317..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/dialogs/NewLaunchTargetWizard.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.dialogs;
-
-import org.eclipse.cdt.launchbar.ui.internal.LaunchBarUIManager;
-import org.eclipse.jface.wizard.Wizard;
-
-public class NewLaunchTargetWizard extends Wizard {
-
- private final NewLaunchTargetTypePage typePage;
-
- public NewLaunchTargetWizard(LaunchBarUIManager uiManager) {
- setWindowTitle("Launch Target Type");
- typePage = new NewLaunchTargetTypePage(uiManager);
- setForcePreviousAndNextButtons(true);
- }
-
- @Override
- public void addPages() {
- addPage(typePage);
- }
-
- @Override
- public boolean performFinish() {
- return true;
- }
-
- @Override
- public boolean canFinish() {
- // Need to move onto the new target wizard
- return false;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/messages.properties b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/messages.properties
deleted file mode 100644
index 52dfb3cfd9c..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-LaunchBarControl_Build=Build
-LaunchBarControl_Launch=Launch
-LaunchBarControl_Stop=Stop
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsActionProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsActionProvider.java
deleted file mode 100644
index 0f95a0803f0..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsActionProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.targetsView;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.window.SameShellProvider;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.navigator.CommonActionProvider;
-
-public class LaunchTargetsActionProvider extends CommonActionProvider {
-
- @Override
- public void fillContextMenu(IMenuManager menu) {
- menu.add(new PropertyDialogAction(new SameShellProvider(getActionSite().getViewSite().getShell()),
- getActionSite().getStructuredViewer()));
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsContentProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsContentProvider.java
deleted file mode 100644
index 272b5a41b2b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsContentProvider.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.targetsView;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class LaunchTargetsContentProvider implements ITreeContentProvider {
-
- private LaunchBarManager manager;
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof LaunchBarManager) {
- ILaunchTarget[] targets = ((LaunchBarManager) inputElement).getAllLaunchTargets();
- Arrays.sort(targets, new Comparator<ILaunchTarget>() {
- @Override
- public int compare(ILaunchTarget o1, ILaunchTarget o2) {
- return o1.getName().compareTo(o2.getName());
- }
- });
- return targets;
- }
- return null;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- return new Object[0];
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof ILaunchTarget) {
- return manager;
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof LaunchBarManager)
- return true;
- else if (element instanceof ILaunchTarget)
- return false;
- return false;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (newInput instanceof LaunchBarManager) {
- manager = (LaunchBarManager) newInput;
- }
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsLabelProvider.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsLabelProvider.java
deleted file mode 100644
index d84d5061b46..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsLabelProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.targetsView;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class LaunchTargetsLabelProvider extends LabelProvider {
-
- @Override
- public Image getImage(Object element) {
- return super.getImage(element);
- }
-
- @Override
- public String getText(Object element) {
- if (element instanceof ILaunchTarget) {
- return ((ILaunchTarget) element).getName();
- }
- return super.getText(element);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsNavigator.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsNavigator.java
deleted file mode 100644
index 3efb6449da1..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/LaunchTargetsNavigator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.targetsView;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager;
-import org.eclipse.cdt.launchbar.ui.internal.Activator;
-import org.eclipse.cdt.launchbar.ui.internal.LaunchBarUIManager;
-import org.eclipse.ui.navigator.CommonNavigator;
-
-public class LaunchTargetsNavigator extends CommonNavigator {
-
- private final LaunchBarUIManager uiManager = Activator.getDefault().getLaunchBarUIManager();
-
- public LaunchTargetsNavigator() {
- uiManager.getManager().addListener(new LaunchBarManager.Listener() {
- @Override
- public void launchTargetsChanged() {
- getSite().getShell().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- getCommonViewer().refresh();
- }
- });
- }
- @Override
- public void launchDescriptorRemoved(ILaunchDescriptor descriptor) {
- }
- @Override
- public void activeLaunchTargetChanged() {
- }
- @Override
- public void activeLaunchModeChanged() {
- }
- @Override
- public void activeLaunchDescriptorChanged() {
- }
- });
-
- }
-
- @Override
- protected Object getInitialInput() {
- return uiManager.getManager();
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/TargetPropertyPage.java b/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/TargetPropertyPage.java
deleted file mode 100644
index 801842898e6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.ui/src/org/eclipse/cdt/launchbar/ui/internal/targetsView/TargetPropertyPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems 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:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.ui.internal.targetsView;
-
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class TargetPropertyPage extends PropertyPage {
-
- private Text nameText;
-
- @Override
- protected Control createContents(Composite parent) {
- Composite comp = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(2, false);
- comp.setLayout(layout);
-
- ILaunchTarget target = (ILaunchTarget) getElement().getAdapter(ILaunchTarget.class);
-
- Label nameLabel = new Label(comp, SWT.NONE);
- nameLabel.setText("Target Name:");
-
- nameText = new Text(comp, SWT.BORDER);
- nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- nameText.setText(target.getName());
-
- return comp;
- }
-
- @Override
- public boolean performOk() {
- System.out.println("Would change name to " + nameText.getText());
- return true;
- }
-
-}

Back to the top