1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

LaunchBar - show actually modes

fixed drop down selector to show actual mode names and icons instead of
only debug and run

Change-Id: Idd80cf8a14b382b76d5bd16ed6a52b98790fe865
Reviewed-on: https://git.eclipse.org/r/29833
Tested-by: Hudson CI
Reviewed-by: Elena Laskavaia <elaskavaia.cdt@gmail.com>
This commit is contained in:
Alena Laskavaia 2014-07-11 16:13:28 -04:00 committed by Elena Laskavaia
parent d25c5fa5b9
commit 8f40037326

View file

@ -73,7 +73,7 @@ public class ModeSelector extends CSelector {
ILaunchConfigurationDescriptor config = getManager().getActiveLaunchConfigurationDescriptor(); ILaunchConfigurationDescriptor config = getManager().getActiveLaunchConfigurationDescriptor();
if (config != null && element instanceof ILaunchMode) { if (config != null && element instanceof ILaunchMode) {
ILaunchMode mode = (ILaunchMode) element; ILaunchMode mode = (ILaunchMode) element;
ILaunchGroup group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getDefaultLaunchGroup(mode.getIdentifier()); ILaunchGroup group = getLaunchGroup(mode.getIdentifier());
if (group != null) { if (group != null) {
ImageDescriptor imageDesc = group.getImageDescriptor(); ImageDescriptor imageDesc = group.getImageDescriptor();
Image image = images.get(imageDesc); Image image = images.get(imageDesc);
@ -91,7 +91,7 @@ public class ModeSelector extends CSelector {
ILaunchConfigurationDescriptor config = getManager().getActiveLaunchConfigurationDescriptor(); ILaunchConfigurationDescriptor config = getManager().getActiveLaunchConfigurationDescriptor();
if (config != null && element instanceof ILaunchMode) { if (config != null && element instanceof ILaunchMode) {
ILaunchMode mode = (ILaunchMode) element; ILaunchMode mode = (ILaunchMode) element;
ILaunchGroup group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getDefaultLaunchGroup(mode.getIdentifier()); ILaunchGroup group = getLaunchGroup(mode.getIdentifier());
if (group != null) { if (group != null) {
return group.getLabel().replace("&", ""); return group.getLabel().replace("&", "");
} }
@ -129,6 +129,19 @@ public class ModeSelector extends CSelector {
}); });
} }
protected ILaunchGroup getLaunchGroup(String mode) {
ILaunchGroup[] groups = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroups();
ILaunchGroup extension = null;
for (int i = 0; i < groups.length; i++) {
extension = groups[i];
if (extension.getMode().equals(mode)) {
return extension;
}
}
return null;
}
@Override @Override
protected void fireSelectionChanged() { protected void fireSelectionChanged() {
Object selected = getSelection(); Object selected = getSelection();