Syntax Highlighting Prefs work now / Automatic parse on save option available
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPEclipsePreferencePage.java
index 3d6fe05..b9ab7df 100644 (file)
@@ -11,19 +11,12 @@ Contributors:
 **********************************************************************/
 package net.sourceforge.phpeclipse;
 
-import java.io.IOException;
-import java.text.MessageFormat;
-
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.DirectoryFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
 import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
@@ -33,101 +26,81 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
  */
 public class PHPEclipsePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
 
-       public PHPEclipsePreferencePage() {
-               super(FieldEditorPreferencePage.GRID);
-               //Initialize the preference store we wish to use
-               setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
-       }
-
-       protected void createFieldEditors() {
-               Shell shell = getShell();
-               final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
-
-               StringFieldEditor localhost = new StringFieldEditor(PHPeclipsePlugin.LOCALHOST_PREF, "&Localhost:", 60, getFieldEditorParent());
-
-               DirectoryFieldEditor documentRoot =
-                       new DirectoryFieldEditor(PHPeclipsePlugin.DOCUMENTROOT_PREF, "&DocumentRoot:", getFieldEditorParent());
-
-               BooleanFieldEditor useExternalBrowser =
-                       new BooleanFieldEditor(PHPeclipsePlugin.USE_EXTERNAL_BROWSER_PREF, "&Use External Browser", 60, getFieldEditorParent());
-
-               StringFieldEditor externalBrowser =
-                       new StringFieldEditor(PHPeclipsePlugin.EXTERNAL_BROWSER_PREF, "&External Browser command:", 60, getFieldEditorParent());
-
-               StringFieldEditor startMySQL =
-                       new StringFieldEditor(PHPeclipsePlugin.MYSQL_PREF, "&MySQL command:", 60, getFieldEditorParent());
-//             Button button = new Button(shell, SWT.PUSH);
-//             button.setText("Start MySQL");
-//             button.addSelectionListener(new SelectionAdapter() {
-//                     public void widgetSelected(SelectionEvent e) {
-//                             try {
-//                                     Runtime runtime = Runtime.getRuntime();
-//                                     runtime.exec(store.getString(PHPeclipsePlugin.MYSQL_PREF));
-//                             } catch (IOException e1) {
-//                             }
-//                     }
-//             });
-
-               StringFieldEditor startApache =
-                       new StringFieldEditor(PHPeclipsePlugin.APACHE_START_PREF, "Start &Apache command:", 60, getFieldEditorParent());
-//             Button startButton = new Button(shell, SWT.PUSH);
-//             startButton.setText("Start Apache");
-//             startButton.addSelectionListener(new SelectionAdapter() {
-//                     public void widgetSelected(SelectionEvent e) {
-//                             String[] arguments = { store.getString(PHPeclipsePlugin.DOCUMENTROOT_PREF)};
-//                             MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.APACHE_START_PREF));
-//
-//                             try {
-//                                     Runtime runtime = Runtime.getRuntime();
-//                                     runtime.exec(form.format(arguments));
-//                             } catch (IOException e2) {
-//                             }
-//                     }
-//             });
-
-               StringFieldEditor stopApache =
-                       new StringFieldEditor(PHPeclipsePlugin.APACHE_STOP_PREF, "&Stop Apache command:", 60, getFieldEditorParent());
-    Button stopButton = new Button(shell, SWT.PUSH);
-    stopButton.setText("Stop Apache");
-    stopButton.addSelectionListener(new SelectionAdapter() {
-      public void widgetSelected(SelectionEvent e) {
-        try {
-          Runtime runtime = Runtime.getRuntime();
-          runtime.exec(store.getString(PHPeclipsePlugin.MYSQL_PREF));
-        } catch (IOException e1) {
-        }
+  public PHPEclipsePreferencePage() {
+    super(FieldEditorPreferencePage.GRID);
+    //Initialize the preference store we wish to use
+    setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
+  }
+
+  protected void createFieldEditors() {
+    final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
+
+    StringFieldEditor localhost = new StringFieldEditor(PHPeclipsePlugin.LOCALHOST_PREF, "&Localhost:", 60, getFieldEditorParent());
+
+    DirectoryFieldEditor documentRoot =
+      new DirectoryFieldEditor(PHPeclipsePlugin.DOCUMENTROOT_PREF, "&DocumentRoot:", getFieldEditorParent());
+
+    BooleanFieldEditor useExternalBrowser =
+      new BooleanFieldEditor(PHPeclipsePlugin.USE_EXTERNAL_BROWSER_PREF, "&Use External Browser", getFieldEditorParent());
+
+    StringFieldEditor externalBrowser =
+      new StringFieldEditor(PHPeclipsePlugin.EXTERNAL_BROWSER_PREF, "&External Browser command:", 60, getFieldEditorParent());
+
+    StringFieldEditor startMySQL =
+      new StringFieldEditor(PHPeclipsePlugin.MYSQL_PREF, "&MySQL command:", 60, getFieldEditorParent());
+
+    StringFieldEditor startApache =
+      new StringFieldEditor(PHPeclipsePlugin.APACHE_START_PREF, "Start &Apache command:", 60, getFieldEditorParent());
+
+    StringFieldEditor stopApache =
+      new StringFieldEditor(PHPeclipsePlugin.APACHE_STOP_PREF, "&Stop Apache command:", 60, getFieldEditorParent());
+
+    StringFieldEditor restartApache =
+      new StringFieldEditor(PHPeclipsePlugin.APACHE_RESTART_PREF, "&Restart Apache command:", 60, getFieldEditorParent());
+
+    StringFieldEditor externalParser =
+      new StringFieldEditor(PHPeclipsePlugin.EXTERNAL_PARSER_PREF, "&External Parser command:", 60, getFieldEditorParent());
+
+
+  RadioGroupFieldEditor chooseParser = new RadioGroupFieldEditor(
+    IPreferenceConstants.PHP_PARSER_DEFAULT,
+    "Choose PHP parser",
+    1,
+    new String[][] {
+      {"Internal parser", 
+       IPreferenceConstants.PHP_INTERNAL_PARSER
+      },
+      {"External parser", 
+       IPreferenceConstants.PHP_EXTERNAL_PARSER
       }
-    });
+    },
+    this.getFieldEditorParent());
     
-               StringFieldEditor restartApache =
-                       new StringFieldEditor(PHPeclipsePlugin.APACHE_RESTART_PREF, "&Restart Apache command:", 60, getFieldEditorParent());
-    Button restartButton = new Button(shell, SWT.PUSH);
-    restartButton.setText("Restart Apache");
-    restartButton.addSelectionListener(new SelectionAdapter() {
-      public void widgetSelected(SelectionEvent e) {
-        try {
-          Runtime runtime = Runtime.getRuntime();
-          runtime.exec(store.getString(PHPeclipsePlugin.MYSQL_PREF));
-        } catch (IOException e1) {
-        }
-      }
-    });
+    BooleanFieldEditor parseOnSave =
+      new BooleanFieldEditor(PHPeclipsePlugin.PHP_PARSE_ON_SAVE, "&Parse automatically on save", getFieldEditorParent());
+
     
-               addField(localhost);
-               addField(documentRoot);
-               addField(useExternalBrowser);
-               addField(externalBrowser);
-               addField(startMySQL);
-               addField(startApache);
-//    add(startButton);
-               addField(stopApache);
-               addField(restartApache);
-       }
-
-       /**
-        * @see IWorkbenchPreferencePage#init
-        */
-       public void init(IWorkbench workbench) {
-       }
+    
+    addField(localhost);
+    addField(documentRoot);
+    addField(useExternalBrowser);
+    addField(externalBrowser);
+    addField(startMySQL);
+    addField(startApache);
+
+    addField(stopApache);
+    addField(restartApache);
+    
+    addField(externalParser);
+    
+    addField(chooseParser);
+    addField(parseOnSave);
+  }
+
+  /**
+   * @see IWorkbenchPreferencePage#init
+   */
+  public void init(IWorkbench workbench) {
+  }
 
 }