Bug 189012 - Change Value dialogs do not have F1 help
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
index 0ab38a3..81b00dd 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
@@ -40,6 +40,9 @@
 	public static final String ADD_EXCEPTION_DIALOG= PREFIX + "add_exception_dialog_context"; //$NON-NLS-1$
 	public static final String DETAIL_DISPLAY_OPTIONS_DIALOG= PREFIX + "detail_options_dialog_context"; //$NON-NLS-1$
 	public static final String SELECT_MAIN_METHOD_DIALOG = PREFIX + "select_main_method_dialog"; //$NON-NLS-1$
+	public static final String EXPRESSION_INPUT_DIALOG = PREFIX + "expression_input_dialog"; //$NON-NLS-1$
+	public static final String STRING_VALUE_INPUT_DIALOG = PREFIX + "string_value_input_dialog"; //$NON-NLS-1$
+	public static final String DEFAULT_INPUT_DIALOG = PREFIX + "default_input_dialog"; //$NON-NLS-1$
 
 	// Preference/Property pages
 	public static final String JRE_PREFERENCE_PAGE= PREFIX + "jre_preference_page_context"; //$NON-NLS-1$
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
index fa7f1d2..f6874b8 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
@@ -19,6 +19,7 @@
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.jdt.debug.core.IJavaVariable;
 import org.eclipse.jdt.internal.debug.core.model.JDINullValue;
+import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
 import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
 import org.eclipse.jdt.internal.debug.ui.JDISourceViewer;
 import org.eclipse.jdt.internal.debug.ui.contentassist.CurrentFrameContext;
@@ -90,6 +91,11 @@
      * Creates and populates the dialog area
      */
     protected Control createDialogArea(Composite parent) {
+    	IWorkbench workbench = PlatformUI.getWorkbench();
+		workbench.getHelpSystem().setHelp(
+				parent,
+				IJavaDebugHelpContextIds.EXPRESSION_INPUT_DIALOG);
+		
         Composite composite= (Composite) super.createDialogArea(parent);
         
         // Create the composite which will hold the input widgetry
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaPrimitiveValueEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaPrimitiveValueEditor.java
index b12ac17..ed822ba 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaPrimitiveValueEditor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaPrimitiveValueEditor.java
@@ -14,10 +14,15 @@
 import org.eclipse.debug.core.model.IVariable;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.ui.actions.IVariableValueEditor;
+import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
 import org.eclipse.jface.dialogs.IInputValidator;
 import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
 
 import com.ibm.icu.text.MessageFormat;
 
@@ -49,7 +54,15 @@
             String message= MessageFormat.format(ActionMessages.JavaPrimitiveValueEditor_1, new String[] {name}); 
             String initialValue= variable.getValue().getValueString();
             PrimitiveValidator validator= new PrimitiveValidator();
-            InputDialog dialog= new InputDialog(shell, title, message, initialValue, validator);
+            InputDialog dialog= new InputDialog(shell, title, message, initialValue, validator){
+            	protected Control createDialogArea(Composite parent) {
+            		IWorkbench workbench = PlatformUI.getWorkbench();
+            		workbench.getHelpSystem().setHelp(
+            				parent,
+            				IJavaDebugHelpContextIds.DEFAULT_INPUT_DIALOG);
+            		return super.createDialogArea(parent);
+            	}
+            };
             if (dialog.open() == Window.OK) {
                 String stringValue = dialog.getValue();
                 if (stringValue.length() > 1 && stringValue.charAt(0) == '\\') {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StringValueInputDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StringValueInputDialog.java
index d4959be..e3763ed 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StringValueInputDialog.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StringValueInputDialog.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.jdt.debug.core.IJavaVariable;
+import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
 import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogSettings;
@@ -25,8 +26,11 @@
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
 
 /**
  * A dialog which prompts the user to enter a new value for a
@@ -54,6 +58,17 @@
         super(parentShell, variable);
     }
     
+    /* (non-Javadoc)
+     * @see org.eclipse.jdt.internal.debug.ui.actions.ExpressionInputDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+     */
+    protected Control createDialogArea(Composite parent) {
+    	IWorkbench workbench = PlatformUI.getWorkbench();
+		workbench.getHelpSystem().setHelp(
+				parent,
+				IJavaDebugHelpContextIds.STRING_VALUE_INPUT_DIALOG);
+    	return super.createDialogArea(parent);
+    }
+    
     /**
      * Override superclass method to insert toggle buttons
      * immediately after the input area.