--- /dev/null
+/**********************************************************************
+Copyright (c) 2000, 2002 IBM Corp. and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Common Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/cpl-v10.html
+
+Contributors:
+ IBM Corporation - Initial implementation
+ Klaus Hartlage - www.eclipseproject.de
+**********************************************************************/
+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.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;
+
+/**
+ *
+ * @author khartlage
+ */
+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) {
+ }
+ }
+ });
+
+ 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) {
+ }
+ }
+ });
+
+ 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) {
+ }
+
+}