**********************************************************************/
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;
*/
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);
+
+ addField(stopApache);
+ addField(restartApache);
+
+ addField(externalParser);
- 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(chooseParser);
+ addField(parseOnSave);
+ }
+
+ /**
+ * @see IWorkbenchPreferencePage#init
+ */
+ public void init(IWorkbench workbench) {
+ }
}