X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPEclipsePreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPEclipsePreferencePage.java new file mode 100644 index 0000000..05b2d4e --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPEclipsePreferencePage.java @@ -0,0 +1,133 @@ +/********************************************************************** +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) { + } + +}