Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Krasilnikov2007-11-07 07:39:07 +0000
committerOleg Krasilnikov2007-11-07 07:39:07 +0000
commit34a23ed0e5b110ec59a50ba2a2cc6e72fb582c83 (patch)
tree0c0d7f510eba823c35f59cf5d3a3e71cee131873
parent9df71b337e9a3c1b20e70ead6214f24e91b3ff6c (diff)
downloadorg.eclipse.cdt-34a23ed0e5b110ec59a50ba2a2cc6e72fb582c83.tar.gz
org.eclipse.cdt-34a23ed0e5b110ec59a50ba2a2cc6e72fb582c83.tar.xz
org.eclipse.cdt-34a23ed0e5b110ec59a50ba2a2cc6e72fb582c83.zip
Bug # 207315 : contextId was ignored by IOption
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java16
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java45
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java15
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionComboFieldEditor.java5
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionSettingsUI.java13
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/FileListControlFieldEditor.java4
6 files changed, 89 insertions, 9 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
index a4a8e588042..1ca857c9824 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
@@ -58,6 +58,7 @@ public interface IOption extends IBuildObject {
public static final String COMMAND = "command"; //$NON-NLS-1$
public static final String COMMAND_FALSE = "commandFalse"; //$NON-NLS-1$
public static final String TOOL_TIP = "tip"; //$NON-NLS-1$
+ public static final String CONTEXT_ID = "contextId"; //$NON-NLS-1$
public static final String DEFAULT_VALUE = "defaultValue"; //$NON-NLS-1$
public static final String ENUM_VALUE = "enumeratedOptionValue"; //$NON-NLS-1$
public static final String IS_DEFAULT = "isDefault"; //$NON-NLS-1$
@@ -242,6 +243,21 @@ public interface IOption extends IBuildObject {
public void setToolTip(String tooltip);
/**
+ * Answers a <code>String</code> containing the contextId
+ * associated with the option
+ * @return String
+ */
+ public String getContextId();
+
+ /**
+ * Sets a <code>String</code> containing the contextId
+ * associated with the option
+ *
+ * @param String
+ */
+ public void setContextId(String id);
+
+ /**
* Answers the user-defined preprocessor symbols.
*
* @return String[]
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
index 52697c51d01..f4f817e2824 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
@@ -61,6 +61,7 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
private String command;
private String commandFalse;
private String tip;
+ private String contextId;
private List enumList;
private Map enumCommands;
private Map enumNames;
@@ -188,6 +189,9 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
if (option.tip != null) {
tip = new String(option.tip);
}
+ if (option.contextId != null) {
+ contextId = new String(option.contextId);
+ }
if (option.categoryId != null) {
categoryId = new String(option.categoryId);
}
@@ -322,6 +326,9 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
// Get the tooltip for the option
tip = element.getAttribute(TOOL_TIP);
+ // Get the contextID for the option
+ contextId = element.getAttribute(CONTEXT_ID);
+
// Options hold different types of values
String valueTypeStr = element.getAttribute(VALUE_TYPE);
if (valueTypeStr != null) {
@@ -442,6 +449,11 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
tip = element.getAttribute(TOOL_TIP);
}
+ // Get the contextID for the option
+ if (element.getAttribute(CONTEXT_ID) != null) {
+ contextId = element.getAttribute(CONTEXT_ID);
+ }
+
// Options hold different types of values
if (element.getAttribute(VALUE_TYPE) != null) {
String valueTypeStr = element.getAttribute(VALUE_TYPE);
@@ -689,6 +701,9 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
element.setAttribute(TOOL_TIP, tip);
}
+ if (contextId != null) {
+ element.setAttribute(CONTEXT_ID, contextId);
+ }
/*
* Note: We store value & value-type as a pair, so we know what type of value we are
* dealing with when we read it back in.
@@ -1107,6 +1122,19 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
return tip;
}
/* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOption#getContextId()
+ */
+ public String getContextId() {
+ if (contextId == null) {
+ if (superClass != null) {
+ return superClass.getContextId();
+ } else {
+ return EMPTY_STRING;
+ }
+ }
+ return contextId;
+ }
+ /* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IOption#getDefinedSymbols()
*/
public String[] getDefinedSymbols() throws BuildException {
@@ -1589,7 +1617,7 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
}
}
}
-
+
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IOption#setToolTip(String)
*/
@@ -1605,6 +1633,20 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
}
/* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOption#setContextId(String)
+ */
+ public void setContextId(String id) {
+ if (id == null && contextId == null) return;
+ if (id == null || contextId == null || !id.equals(contextId)) {
+ contextId = id;
+ if(!isExtensionElement()){
+ isDirty = true;
+ rebuildState = true;
+ }
+ }
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IOption#setResourceFilter(int)
*/
public void setResourceFilter(int filter) {
@@ -1863,6 +1905,7 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
command == null &&
commandFalse == null &&
tip == null &&
+ contextId == null &&
enumList == null &&
enumCommands == null &&
enumNames == null &&
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
index 618253e3e68..84a0da761d2 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
@@ -334,6 +334,13 @@ public class OptionReference implements IOption {
}
/* (non-Javadoc)
+ * @see org.eclipse.cdt.core.build.managed.IOption#getContextID()
+ */
+ public String getContextId() {
+ return option.getContextId();
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.cdt.core.build.managed.IOption#getDefinedSymbols()
*/
public String[] getDefinedSymbols() throws BuildException {
@@ -805,7 +812,13 @@ public class OptionReference implements IOption {
*/
public void setToolTip(String tooltip) {
}
-
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.build.managed.IOption#setContextId(String)
+ */
+ public void setContextId(String contextId) {
+ }
+
public PluginVersionIdentifier getVersion() {
return option.getVersion();
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionComboFieldEditor.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionComboFieldEditor.java
index c81300a20be..2b67feb10d0 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionComboFieldEditor.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionComboFieldEditor.java
@@ -20,6 +20,7 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.PlatformUI;
public class BuildOptionComboFieldEditor extends FieldEditor {
@@ -46,13 +47,15 @@ public class BuildOptionComboFieldEditor extends FieldEditor {
* @param name
* @param label
* @param tooltip
+ * @param contextId
* @param opts
* @param sel
* @param parent
*/
- public BuildOptionComboFieldEditor(String name, String label, String tooltip, String [] opts, String sel, Composite parent) {
+ public BuildOptionComboFieldEditor(String name, String label, String tooltip, String contextId, String [] opts, String sel, Composite parent) {
this(name, label, opts, sel, parent);
setToolTip(tooltip);
+ if (!contextId.equals("")) PlatformUI.getWorkbench().getHelpSystem().setHelp(optionSelector, contextId); //$NON-NLS-1$
}
/**
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 aae4ae768a8..b34b3548f75 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
@@ -28,6 +28,7 @@ import org.eclipse.cdt.managedbuilder.core.IOptionApplicability;
import org.eclipse.cdt.managedbuilder.core.IOptionCategory;
import org.eclipse.cdt.managedbuilder.core.IResourceInfo;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
+import org.eclipse.cdt.ui.newui.AbstractPage;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.DirectoryFieldEditor;
import org.eclipse.jface.preference.FieldEditor;
@@ -38,6 +39,7 @@ import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.PlatformUI;
public class BuildOptionSettingsUI extends AbstractToolSettingUI {
private Map fieldsMap = new HashMap();
@@ -122,19 +124,20 @@ public class BuildOptionSettingsUI extends AbstractToolSettingUI {
stringField.getTextControl(fieldEditorParent).setToolTipText(opt.getToolTip());
stringField.getLabelControl(fieldEditorParent).setToolTipText(opt.getToolTip());
-
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(stringField.getTextControl(fieldEditorParent), opt.getContextId());
fieldEditor = stringField;
} break;
case IOption.BOOLEAN: {
class TooltipBooleanFieldEditor extends BooleanFieldEditor {
- public TooltipBooleanFieldEditor(String name, String labelText, String tooltip, Composite parent) {
+ public TooltipBooleanFieldEditor(String name, String labelText, String tooltip, Composite parent, String contextId) {
super(name, labelText, parent);
getChangeControl(parent).setToolTipText(tooltip);
+ if (!contextId.equals(AbstractPage.EMPTY_STR)) PlatformUI.getWorkbench().getHelpSystem().setHelp(getChangeControl(parent), contextId);
}
}
- fieldEditor = new TooltipBooleanFieldEditor(optId, opt.getName(), opt.getToolTip(), fieldEditorParent);
+ fieldEditor = new TooltipBooleanFieldEditor(optId, opt.getName(), opt.getToolTip(), fieldEditorParent, opt.getContextId());
} break;
case IOption.ENUMERATED: {
@@ -156,7 +159,7 @@ public class BuildOptionSettingsUI extends AbstractToolSettingUI {
String[] enumValidNames = new String[enumValidList.size()];
enumValidList.copyInto(enumValidNames);
- fieldEditor = new BuildOptionComboFieldEditor(optId, opt.getName(), opt.getToolTip(), enumValidNames, sel, fieldEditorParent);
+ fieldEditor = new BuildOptionComboFieldEditor(optId, opt.getName(), opt.getToolTip(), opt.getContextId(), enumValidNames, sel, fieldEditorParent);
} break;
case IOption.INCLUDE_PATH:
@@ -174,7 +177,7 @@ public class BuildOptionSettingsUI extends AbstractToolSettingUI {
case IOption.UNDEF_LIBRARY_PATHS:
case IOption.UNDEF_LIBRARY_FILES:
case IOption.UNDEF_MACRO_FILES: {
- fieldEditor = new FileListControlFieldEditor(optId, opt.getName(), opt.getToolTip(), fieldEditorParent, opt.getBrowseType());
+ fieldEditor = new FileListControlFieldEditor(optId, opt.getName(), opt.getToolTip(), opt.getContextId(), fieldEditorParent, opt.getBrowseType());
} break;
default:
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/FileListControlFieldEditor.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/FileListControlFieldEditor.java
index 44fc4f7927a..5428e1850ca 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/FileListControlFieldEditor.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/FileListControlFieldEditor.java
@@ -32,7 +32,7 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
-
+import org.eclipse.ui.PlatformUI;
/**
* Field editor that uses FileListControl for user input.
@@ -79,11 +79,13 @@ public class FileListControlFieldEditor extends FieldEditor {
String name,
String labelText,
String tooltip,
+ String contextId,
Composite parent,
int type) {
this(name, labelText, parent, type);
// can't use setToolTip(tooltip) as label not created yet
getLabelControl(parent).setToolTipText(tooltip);
+ if (!contextId.equals("")) PlatformUI.getWorkbench().getHelpSystem().setHelp(list.getListControl(), contextId); //$NON-NLS-1$
}
/**

Back to the top