diff options
author | Andrew Gvozdev | 2012-06-24 10:47:46 +0000 |
---|---|---|
committer | Andrew Gvozdev | 2012-06-24 10:47:46 +0000 |
commit | 9de02335d901a7e09e39a1b804bdbb2fd1de3685 (patch) | |
tree | f1431358fe0fcc1ba71473ca0d3fe14b584f8e51 /build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal | |
parent | bac3846b32680b7d09840ce376c2fc329618cd4d (diff) | |
download | org.eclipse.cdt-9de02335d901a7e09e39a1b804bdbb2fd1de3685.tar.gz org.eclipse.cdt-9de02335d901a7e09e39a1b804bdbb2fd1de3685.tar.xz org.eclipse.cdt-9de02335d901a7e09e39a1b804bdbb2fd1de3685.zip |
bug 382422: [sd90] Add MinGW specs detector
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal')
-rw-r--r-- | build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/language/settings/providers/BuiltinSpecsDetectorOptionPage.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/language/settings/providers/BuiltinSpecsDetectorOptionPage.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/language/settings/providers/BuiltinSpecsDetectorOptionPage.java index bb8d0062a53..9e89aef3315 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/language/settings/providers/BuiltinSpecsDetectorOptionPage.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/language/settings/providers/BuiltinSpecsDetectorOptionPage.java @@ -11,14 +11,21 @@ package org.eclipse.cdt.managedbuilder.internal.ui.language.settings.providers; import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider; +import org.eclipse.cdt.internal.ui.newui.StatusMessageLine; +import org.eclipse.cdt.managedbuilder.core.IToolChain; +import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.internal.ui.Messages; import org.eclipse.cdt.managedbuilder.language.settings.providers.AbstractBuiltinSpecsDetector; +import org.eclipse.cdt.managedbuilder.language.settings.providers.ToolchainBuiltinSpecsDetector; +import org.eclipse.cdt.managedbuilder.ui.properties.ManagedBuilderUIPlugin; import org.eclipse.cdt.ui.language.settings.providers.AbstractLanguageSettingProviderOptionPage; import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -43,6 +50,8 @@ public final class BuiltinSpecsDetectorOptionPage extends AbstractLanguageSettin private Text inputCommand; private Button allocateConsoleCheckBox; + private StatusMessageLine fStatusLine; + @Override public void createControl(Composite parent) { fEditable = parent.isEnabled(); @@ -52,6 +61,7 @@ public final class BuiltinSpecsDetectorOptionPage extends AbstractLanguageSettin createCompilerCommandInputControl(composite, provider); createBrowseButton(composite); createConsoleCheckbox(composite, provider); + createStatusLine(composite, provider); setControl(composite); } @@ -157,6 +167,25 @@ public final class BuiltinSpecsDetectorOptionPage extends AbstractLanguageSettin }); } + /** + * Create status line to display messages for user. + */ + private void createStatusLine(Composite composite, AbstractBuiltinSpecsDetector provider) { + fStatusLine = new StatusMessageLine(composite, SWT.LEFT, 2); + + if (provider instanceof ToolchainBuiltinSpecsDetector) { + String toolchainId = ((ToolchainBuiltinSpecsDetector) provider).getToolchainId(); + IToolChain toolchain = ManagedBuildManager.getExtensionToolChain(toolchainId); + if (toolchain == null) { + fStatusLine.setErrorStatus(new Status(IStatus.ERROR, ManagedBuilderUIPlugin.getUniqueIdentifier(), + IStatus.ERROR, "Toolchain support for CDT is not installed. Toolchain id=[" + toolchainId + "].", null)); + } else if (!toolchain.isSupported()) { + fStatusLine.setErrorStatus(new Status(IStatus.INFO, ManagedBuilderUIPlugin.getUniqueIdentifier(), IStatus.INFO, + "Toolchain " + toolchain.getName() + " is not detected on this system.", null)); + } + } + } + @Override public void performApply(IProgressMonitor monitor) throws CoreException { ILanguageSettingsProvider provider = providerTab.getProvider(providerId); |