a lot of fixes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPEclipseBasePreferencePage.java
index 8df6345..8d55567 100644 (file)
@@ -1,18 +1,14 @@
 package net.sourceforge.phpeclipse;
 
-import java.util.ArrayList;
-
 import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages;
 
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.DirectoryFieldEditor;
+import org.eclipse.jface.preference.FileFieldEditor;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
 import org.eclipse.jface.preference.StringFieldEditor;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
@@ -24,26 +20,34 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
 
 public class PHPEclipseBasePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
 
-  private SelectionListener SelectionListener;
-  private ModifyListener ModifyListener;
-  private ModifyListener TextModifyListener;
-
-  private ArrayList CheckBoxes = new ArrayList();
-  private ArrayList ComboBoxes = new ArrayList();
-  private ArrayList TextBoxes = new ArrayList();
-  private ArrayList RadioButtons = new ArrayList();
+//  private SelectionListener SelectionListener;
+//  private ModifyListener ModifyListener;
+//  private ModifyListener TextModifyListener;
+//
+//  private ArrayList CheckBoxes = new ArrayList();
+//  private ArrayList ComboBoxes = new ArrayList();
+//  private ArrayList TextBoxes = new ArrayList();
+//  private ArrayList RadioButtons = new ArrayList();
 
   StringFieldEditor localHostSFE;
   DirectoryFieldEditor documentRootDFE;
+  BooleanFieldEditor showExternalPreviewBFE;
   BooleanFieldEditor externalBrowserBFE;
   StringFieldEditor externalBrowserSFE;
   StringFieldEditor apacheStartSFE;
   StringFieldEditor apacheStopSFE;
   StringFieldEditor apacheRestartSFE;
   StringFieldEditor mySQLCommandSFE;
-  RadioGroupFieldEditor chooseParser;
-  StringFieldEditor externalParserSFE;
-  BooleanFieldEditor parseOnSave;
+  FileFieldEditor apacheRunFFE;
+  FileFieldEditor mysqlRunFFE;
+  FileFieldEditor phpRunFFE;
+//  RadioGroupFieldEditor chooseParser;
+//  StringFieldEditor externalParserSFE;
+//  BooleanFieldEditor parseOnSave;
+  BooleanFieldEditor apacheStartBFE;
+  BooleanFieldEditor apacheStopBFE;
+  BooleanFieldEditor apacheRestartBFE;
+  BooleanFieldEditor mysqlStartBFE;
 
   public PHPEclipseBasePreferencePage() {
     super();
@@ -55,30 +59,46 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
   protected void performDefaults() {
     localHostSFE.loadDefault();
     documentRootDFE.loadDefault();
+    showExternalPreviewBFE.loadDefault();
     externalBrowserBFE.loadDefault();
     externalBrowserSFE.loadDefault();
     apacheStartSFE.loadDefault();
     apacheStopSFE.loadDefault();
     apacheRestartSFE.loadDefault();
     mySQLCommandSFE.loadDefault();
-    chooseParser.loadDefault();
-    externalParserSFE.loadDefault();
-    parseOnSave.loadDefault();
+    phpRunFFE.loadDefault();
+    apacheRunFFE.loadDefault();
+    mysqlRunFFE.loadDefault();
+//    chooseParser.loadDefault();
+//    externalParserSFE.loadDefault();
+//    parseOnSave.loadDefault();
+    apacheStartBFE.loadDefault();
+    apacheStopBFE.loadDefault();
+    apacheRestartBFE.loadDefault();
+    mysqlStartBFE.loadDefault();
     super.performDefaults();
   }
 
   public boolean performOk() {
     localHostSFE.store();
     documentRootDFE.store();
+    showExternalPreviewBFE.store();
     externalBrowserBFE.store();
     externalBrowserSFE.store();
     apacheStartSFE.store();
     apacheStopSFE.store();
     apacheRestartSFE.store();
     mySQLCommandSFE.store();
-    chooseParser.store();
-    externalParserSFE.store();
-    parseOnSave.store();
+    phpRunFFE.store();
+    apacheRunFFE.store();
+    mysqlRunFFE.store();
+//    chooseParser.store();
+//    externalParserSFE.store();
+//    parseOnSave.store();
+    apacheStartBFE.store();
+    apacheStopBFE.store();
+    apacheRestartBFE.store();
+    mysqlStartBFE.store();
     return super.performOk();
   }
 
@@ -89,30 +109,36 @@ public class PHPEclipseBasePreferencePage extends PreferencePage implements IWor
     composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     composite.setLayout(new GridLayout());
     //Create Websettings
-    Composite webSettingsComposite = new Composite(composite, SWT.NONE);
+    //    Composite webSettingsComposite = new Composite(composite, SWT.NONE);
+    //    webSettingsComposite.setLayout(new GridLayout());
+    //    webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+    showExternalPreviewBFE =
+      new BooleanFieldEditor(
+        IPreferenceConstants.SHOW_EXTERNAL_PREVIEW_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.showexternalpreview"),
+        composite);
+    showExternalPreviewBFE.setPreferencePage(this);
+    showExternalPreviewBFE.setPreferenceStore(getPreferenceStore());
+    showExternalPreviewBFE.load();
+
+    //    Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE);
+    //    webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup"));
+    //    GridLayout gridLayout = new GridLayout();
+    //    //  gridLayout.numColumns = 3;
+    //    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+    //    webSettingsGroup.setLayoutData(gridData);
+    //    webSettingsGroup.setLayout(gridLayout);
+
+    Composite webSettingsComposite = new Composite(composite, SWT.NULL);
     webSettingsComposite.setLayout(new GridLayout());
     webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE);
     webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup"));
     webSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-       webSettingsGroup.setLayout(new GridLayout());
-    localHostSFE =
-      new StringFieldEditor(
-        IPreferenceConstants.LOCALHOST_PREF,
-        PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.localhost"),
-        webSettingsGroup);
-    localHostSFE.setPreferencePage(this);
-    localHostSFE.setPreferenceStore(getPreferenceStore());
-    localHostSFE.load();
-    documentRootDFE =
-      new DirectoryFieldEditor(
-        IPreferenceConstants.DOCUMENTROOT_PREF,
-        PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.docroot"),
-        webSettingsGroup);
-    documentRootDFE.setPreferencePage(this);
-    documentRootDFE.setPreferenceStore(getPreferenceStore());
-    documentRootDFE.load();
-new Label(webSettingsGroup, SWT.NONE);
+    webSettingsGroup.setLayout(new GridLayout());
+
+    // new Label(webSettingsGroup, SWT.NONE);
     externalBrowserBFE =
       new BooleanFieldEditor(
         IPreferenceConstants.USE_EXTERNAL_BROWSER_PREF,
@@ -121,7 +147,9 @@ new Label(webSettingsGroup, SWT.NONE);
     externalBrowserBFE.setPreferencePage(this);
     externalBrowserBFE.setPreferenceStore(getPreferenceStore());
     externalBrowserBFE.load();
-new Label(webSettingsGroup, SWT.NONE);
+    new Label(webSettingsGroup, SWT.NONE);
+    new Label(webSettingsGroup, SWT.NONE);
+    //  new Label(webSettingsGroup, SWT.NONE);
     externalBrowserSFE =
       new StringFieldEditor(
         IPreferenceConstants.EXTERNAL_BROWSER_PREF,
@@ -130,7 +158,26 @@ new Label(webSettingsGroup, SWT.NONE);
     externalBrowserSFE.setPreferencePage(this);
     externalBrowserSFE.setPreferenceStore(getPreferenceStore());
     externalBrowserSFE.load();
+    new Label(webSettingsGroup, SWT.NONE);
+
+    localHostSFE =
+      new StringFieldEditor(
+        IPreferenceConstants.LOCALHOST_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.localhost"),
+        webSettingsGroup);
+    localHostSFE.setPreferencePage(this);
+    localHostSFE.setPreferenceStore(getPreferenceStore());
+    localHostSFE.load();
+    new Label(webSettingsGroup, SWT.NONE);
 
+    documentRootDFE =
+      new DirectoryFieldEditor(
+        IPreferenceConstants.DOCUMENTROOT_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.docroot"),
+        webSettingsGroup);
+    documentRootDFE.setPreferencePage(this);
+    documentRootDFE.setPreferenceStore(getPreferenceStore());
+    documentRootDFE.load();
     //Create apache
     Composite apacheSettingsComposite = new Composite(composite, SWT.NULL);
     apacheSettingsComposite.setLayout(new GridLayout());
@@ -139,6 +186,18 @@ new Label(webSettingsGroup, SWT.NONE);
     apacheSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup"));
     apacheSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     apacheSettingsGroup.setLayout(new GridLayout());
+
+    apacheStartBFE =
+      new BooleanFieldEditor(
+        PHPeclipsePlugin.APACHE_START_BACKGROUND,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.start_background"),
+        apacheSettingsGroup);
+               apacheStartBFE.setPreferencePage(this);
+               apacheStartBFE.setPreferenceStore(getPreferenceStore());
+               apacheStartBFE.load();
+               
+    new Label(apacheSettingsGroup, SWT.NONE);
+    new Label(apacheSettingsGroup, SWT.NONE);
     apacheStartSFE =
       new StringFieldEditor(
         IPreferenceConstants.APACHE_START_PREF,
@@ -147,6 +206,18 @@ new Label(webSettingsGroup, SWT.NONE);
     apacheStartSFE.setPreferencePage(this);
     apacheStartSFE.setPreferenceStore(getPreferenceStore());
     apacheStartSFE.load();
+    new Label(apacheSettingsGroup, SWT.NONE);
+
+    apacheStopBFE =
+      new BooleanFieldEditor(
+        PHPeclipsePlugin.APACHE_STOP_BACKGROUND,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.stop_background"),
+        apacheSettingsGroup);
+               apacheStopBFE.setPreferencePage(this);
+               apacheStopBFE.setPreferenceStore(getPreferenceStore());
+               apacheStopBFE.load();
+    new Label(apacheSettingsGroup, SWT.NONE);
+    new Label(apacheSettingsGroup, SWT.NONE);
     apacheStopSFE =
       new StringFieldEditor(
         IPreferenceConstants.APACHE_STOP_PREF,
@@ -155,6 +226,18 @@ new Label(webSettingsGroup, SWT.NONE);
     apacheStopSFE.setPreferencePage(this);
     apacheStopSFE.setPreferenceStore(getPreferenceStore());
     apacheStopSFE.load();
+    new Label(apacheSettingsGroup, SWT.NONE);
+
+    apacheRestartBFE =
+      new BooleanFieldEditor(
+        PHPeclipsePlugin.APACHE_RESTART_BACKGROUND,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.restart_background"),
+        apacheSettingsGroup);
+               apacheRestartBFE.setPreferencePage(this);
+               apacheRestartBFE.setPreferenceStore(getPreferenceStore());
+               apacheRestartBFE.load();
+    new Label(apacheSettingsGroup, SWT.NONE);
+    new Label(apacheSettingsGroup, SWT.NONE);
     apacheRestartSFE =
       new StringFieldEditor(
         IPreferenceConstants.APACHE_RESTART_PREF,
@@ -163,6 +246,25 @@ new Label(webSettingsGroup, SWT.NONE);
     apacheRestartSFE.setPreferencePage(this);
     apacheRestartSFE.setPreferenceStore(getPreferenceStore());
     apacheRestartSFE.load();
+    new Label(apacheSettingsGroup, SWT.NONE);
+
+    apacheRunFFE =
+      new FileFieldEditor(
+        IPreferenceConstants.APACHE_RUN_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.run"),
+        apacheSettingsGroup);
+    apacheRunFFE.setPreferencePage(this);
+    apacheRunFFE.setPreferenceStore(getPreferenceStore());
+    apacheRunFFE.load();
+
+    phpRunFFE =
+      new FileFieldEditor(
+        IPreferenceConstants.PHP_RUN_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.console.php"),
+        apacheSettingsGroup);
+    phpRunFFE.setPreferencePage(this);
+    phpRunFFE.setPreferenceStore(getPreferenceStore());
+    phpRunFFE.load();
 
     //Create mySQL
     Composite mySQLSettingsComposite = new Composite(composite, SWT.NULL);
@@ -173,6 +275,18 @@ new Label(webSettingsGroup, SWT.NONE);
     mySQLSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup"));
     mySQLSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     mySQLSettingsGroup.setLayout(new GridLayout());
+
+    mysqlStartBFE =
+      new BooleanFieldEditor(
+        PHPeclipsePlugin.MYSQL_START_BACKGROUND,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup.start_background"),
+        mySQLSettingsGroup);
+               mysqlStartBFE.setPreferencePage(this);
+               mysqlStartBFE.setPreferenceStore(getPreferenceStore());
+               mysqlStartBFE.load();
+    new Label(mySQLSettingsGroup, SWT.NONE);
+    new Label(mySQLSettingsGroup, SWT.NONE);
+
     mySQLCommandSFE =
       new StringFieldEditor(
         IPreferenceConstants.MYSQL_PREF,
@@ -181,45 +295,60 @@ new Label(webSettingsGroup, SWT.NONE);
     mySQLCommandSFE.setPreferencePage(this);
     mySQLCommandSFE.setPreferenceStore(getPreferenceStore());
     mySQLCommandSFE.load();
+    new Label(mySQLSettingsGroup, SWT.NONE);
+
+    mysqlRunFFE =
+      new FileFieldEditor(
+        IPreferenceConstants.MYSQL_RUN_PREF,
+        PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup.run"),
+        mySQLSettingsGroup);
+    mysqlRunFFE.setPreferencePage(this);
+    mysqlRunFFE.setPreferenceStore(getPreferenceStore());
+    mysqlRunFFE.load();
+
+//    //Create parser settings composite
+//    Composite parserSettingsComposite = new Composite(composite, SWT.NONE);
+//    parserSettingsComposite.setLayout(new GridLayout());
+//    parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+//    Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE);
+//    parserSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers"));
+//    parserSettingsGroup.setLayout(new GridLayout());
+//    parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-    //Create parser settings composite
-    Composite parserSettingsComposite = new Composite(composite, SWT.NONE);
-    parserSettingsComposite.setLayout(new GridLayout());
-    parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE);
-    parserSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers"));
-    parserSettingsGroup.setLayout(new GridLayout());
-    parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    chooseParser =
-      new RadioGroupFieldEditor(
-        IPreferenceConstants.PHP_PARSER_DEFAULT,
-        PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.choose"),
-        1,
-        new String[][] {
-          { PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.internal"), IPreferenceConstants.PHP_INTERNAL_PARSER },
-          {
-        PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.external"), IPreferenceConstants.PHP_EXTERNAL_PARSER }
-    }, parserSettingsGroup);
-    chooseParser.setPreferencePage(this);
-    chooseParser.setPreferenceStore(getPreferenceStore());
-    chooseParser.load();
-       //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();
+//    chooseParser =
+//      new RadioGroupFieldEditor(
+//        IPreferenceConstants.PHP_PARSER_DEFAULT,
+//        PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.choose"),
+//        1,
+//        new String[][] {
+//          { PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.internal"), IPreferenceConstants.PHP_INTERNAL_PARSER },
+//          {
+//        PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.external"), IPreferenceConstants.PHP_EXTERNAL_PARSER }
+//    }, parserSettingsGroup);
+//    chooseParser.setPreferencePage(this);
+//    chooseParser.setPreferenceStore(getPreferenceStore());
+//    chooseParser.load();
+//    //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();
 
     return composite;
   }