Use external tools package to run commands for apache, mysql, php
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPEclipseParserPreferencePage.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPEclipseParserPreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPEclipseParserPreferencePage.java
new file mode 100644 (file)
index 0000000..45b4179
--- /dev/null
@@ -0,0 +1,113 @@
+package net.sourceforge.phpeclipse;
+
+import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+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.layout.GridData;
+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.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class PHPEclipseParserPreferencePage 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();
+
+
+  RadioGroupFieldEditor chooseParser;
+  StringFieldEditor externalParserSFE;
+  BooleanFieldEditor parseOnSave;
+
+  public PHPEclipseParserPreferencePage() {
+    super();
+    setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
+    setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$
+  }
+  public void init(IWorkbench workbench) {
+  }
+  protected void performDefaults() {
+    chooseParser.loadDefault();
+    externalParserSFE.loadDefault();
+    parseOnSave.loadDefault();
+    super.performDefaults();
+  }
+
+  public boolean performOk() {
+    chooseParser.store();
+    externalParserSFE.store();
+    parseOnSave.store();
+    return super.performOk();
+  }
+
+  protected Control createContents(Composite parent) {
+    initializeDialogUnits(parent);
+    final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
+    Composite composite = new Composite(parent, SWT.LEFT);
+    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+    composite.setLayout(new GridLayout());
+    //Create Websettings
+    //    Composite webSettingsComposite = new Composite(composite, SWT.NONE);
+    //    webSettingsComposite.setLayout(new GridLayout());
+    //    webSettingsComposite.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();
+
+    return composite;
+  }
+}