Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java27
1 files changed, 7 insertions, 20 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java
index d082e0c696e..42e1a7dcab4 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java
@@ -89,8 +89,6 @@ import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
-import org.osgi.framework.Bundle;
-
import org.eclipse.ui.dialogs.FilteredTree;
import org.eclipse.ui.dialogs.PatternFilter;
@@ -522,25 +520,17 @@ public class BuildOptionSettingsUI extends AbstractToolSettingUI {
*/
private class CustomFieldEditorDescriptor
{
- private final String editorClassName;
- private final String bundleName;
+ private final IConfigurationElement element;
- CustomFieldEditorDescriptor(String editorClassName, String bundleName) {
- this.editorClassName = editorClassName;
- this.bundleName = bundleName;
+ public CustomFieldEditorDescriptor(IConfigurationElement providerElement) {
+ this.element = providerElement;
}
FieldEditor createEditor() {
try {
- Bundle bundle = Platform.getBundle(this.bundleName);
- if(bundle != null) {
- Class<?> editorClass = bundle.loadClass(this.editorClassName);
- if(editorClass != null) {
- Object editor = editorClass.newInstance();
- if(editor instanceof FieldEditor && editor instanceof ICustomBuildOptionEditor) {
- return (FieldEditor)editor;
- }
- }
+ Object editor = element.createExecutableExtension("class"); //$NON-NLS-1$
+ if(editor instanceof FieldEditor && editor instanceof ICustomBuildOptionEditor) {
+ return (FieldEditor)editor;
}
}
catch(Exception x) {
@@ -567,11 +557,8 @@ public class BuildOptionSettingsUI extends AbstractToolSettingUI {
for(IExtension e : ep.getExtensions()) {
for(IConfigurationElement providerElement : e.getConfigurationElements()) {
String editorId = providerElement.getAttribute("id"); //$NON-NLS-1$
- String editorClassName = providerElement.getAttribute("class"); //$NON-NLS-1$
-
- String bundleName = providerElement.getContributor().getName();
- this.customFieldEditorDescriptorIndex.put(editorId, new CustomFieldEditorDescriptor(editorClassName, bundleName));
+ this.customFieldEditorDescriptorIndex.put(editorId, new CustomFieldEditorDescriptor(providerElement));
}
}
}

Back to the top