Add field for external parser to pref page
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPEclipseBasePreferencePage.java
index 439b0b5..8df6345 100644 (file)
@@ -18,6 +18,7 @@ import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
@@ -41,6 +42,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
   StringFieldEditor apacheRestartSFE;
   StringFieldEditor mySQLCommandSFE;
   RadioGroupFieldEditor chooseParser;
+  StringFieldEditor externalParserSFE;
   BooleanFieldEditor parseOnSave;
 
   public PHPEclipseBasePreferencePage() {
@@ -60,6 +62,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     apacheRestartSFE.loadDefault();
     mySQLCommandSFE.loadDefault();
     chooseParser.loadDefault();
+    externalParserSFE.loadDefault();
     parseOnSave.loadDefault();
     super.performDefaults();
   }
@@ -74,6 +77,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     apacheRestartSFE.store();
     mySQLCommandSFE.store();
     chooseParser.store();
+    externalParserSFE.store();
     parseOnSave.store();
     return super.performOk();
   }
@@ -91,7 +95,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE);
     webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup"));
     webSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    webSettingsGroup.setLayout(new GridLayout());
+       webSettingsGroup.setLayout(new GridLayout());
     localHostSFE =
       new StringFieldEditor(
         IPreferenceConstants.LOCALHOST_PREF,
@@ -108,6 +112,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     documentRootDFE.setPreferencePage(this);
     documentRootDFE.setPreferenceStore(getPreferenceStore());
     documentRootDFE.load();
+new Label(webSettingsGroup, SWT.NONE);
     externalBrowserBFE =
       new BooleanFieldEditor(
         IPreferenceConstants.USE_EXTERNAL_BROWSER_PREF,
@@ -116,6 +121,7 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     externalBrowserBFE.setPreferencePage(this);
     externalBrowserBFE.setPreferenceStore(getPreferenceStore());
     externalBrowserBFE.load();
+new Label(webSettingsGroup, SWT.NONE);
     externalBrowserSFE =
       new StringFieldEditor(
         IPreferenceConstants.EXTERNAL_BROWSER_PREF,
@@ -198,7 +204,19 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     chooseParser.setPreferencePage(this);
     chooseParser.setPreferenceStore(getPreferenceStore());
     chooseParser.load();
-    parseOnSave = new BooleanFieldEditor(PHPeclipsePlugin.PHP_PARSE_ON_SAVE, "&Parse automatically on save", parserSettingsGroup);
+       //create a copmposte just for the StringEditor - makes layout simpler
+       Composite externalParserCompo = new Composite(parserSettingsGroup, SWT.NONE);
+       externalParserSFE =
+                new StringFieldEditor(
+                  IPreferenceConstants.EXTERNAL_PARSER_PREF,
+                  PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.extcommand"),
+                       externalParserCompo/*parserSettingsGroup*/);
+       externalParserSFE.setPreferencePage(this);
+       externalParserSFE.setPreferenceStore(getPreferenceStore());
+       externalParserSFE.load();
+
+    parseOnSave = new BooleanFieldEditor(PHPeclipsePlugin.PHP_PARSE_ON_SAVE, 
+               PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.pos"), parserSettingsGroup);
     parseOnSave.setPreferencePage(this);
     parseOnSave.setPreferenceStore(getPreferenceStore());
     parseOnSave.load();