package net.sourceforge.phpeclipse; import net.sourceforge.phpdt.internal.ui.util.PHPFileUtil; import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FileFieldEditor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; 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.swt.widgets.Label; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; public class PHPEclipseBasePreferencePage extends PreferencePage implements IWorkbenchPreferencePage { StringFieldEditor phpParserExtensionsSFE; StringFieldEditor apacheStartSFE; StringFieldEditor apacheStopSFE; StringFieldEditor apacheRestartSFE; StringFieldEditor mySQLCommandSFE; FileFieldEditor apacheRunFFE; FileFieldEditor mysqlRunFFE; FileFieldEditor phpRunFFE; BooleanFieldEditor apacheStartBFE; BooleanFieldEditor apacheStopBFE; BooleanFieldEditor apacheRestartBFE; BooleanFieldEditor mysqlStartBFE; public PHPEclipseBasePreferencePage() { super(); setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore()); setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$ } public void init(IWorkbench workbench) { } protected void performDefaults() { phpParserExtensionsSFE.loadDefault(); apacheStartSFE.loadDefault(); apacheStopSFE.loadDefault(); apacheRestartSFE.loadDefault(); mySQLCommandSFE.loadDefault(); phpRunFFE.loadDefault(); apacheRunFFE.loadDefault(); mysqlRunFFE.loadDefault(); apacheStartBFE.loadDefault(); apacheStopBFE.loadDefault(); apacheRestartBFE.loadDefault(); mysqlStartBFE.loadDefault(); super.performDefaults(); } public boolean performOk() { PHPFileUtil.setExtensins(null); phpParserExtensionsSFE.store(); apacheStartSFE.store(); apacheStopSFE.store(); apacheRestartSFE.store(); mySQLCommandSFE.store(); phpRunFFE.store(); apacheRunFFE.store(); mysqlRunFFE.store(); apacheStartBFE.store(); apacheStopBFE.store(); apacheRestartBFE.store(); mysqlStartBFE.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()); // allowed PHP file extensions for parsing Composite phpParserExtensionsComposite = new Composite(composite, SWT.NULL); phpParserExtensionsComposite.setLayout(new GridLayout()); phpParserExtensionsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); phpParserExtensionsSFE = new StringFieldEditor(IPreferenceConstants.PHP_EXTENSION_PREFS, PHPPreferencesMessages .getString("PHPBasePreferencePage.phpExtensionPrefs"), phpParserExtensionsComposite); phpParserExtensionsSFE.setPreferencePage(this); phpParserExtensionsSFE.setPreferenceStore(getPreferenceStore()); phpParserExtensionsSFE.load(); //Create apache Composite apacheSettingsComposite = new Composite(composite, SWT.NULL); apacheSettingsComposite.setLayout(new GridLayout()); apacheSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Group apacheSettingsGroup = new Group(apacheSettingsComposite, SWT.NONE); apacheSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup")); apacheSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); apacheSettingsGroup.setLayout(new GridLayout()); apacheStartBFE = new BooleanFieldEditor(PHPeclipsePlugin.APACHE_START_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.start_background"), apacheSettingsGroup); apacheStartBFE.setPreferencePage(this); apacheStartBFE.setPreferenceStore(getPreferenceStore()); apacheStartBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheStartSFE = new StringFieldEditor(IPreferenceConstants.APACHE_START_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.start"), apacheSettingsGroup); apacheStartSFE.setPreferencePage(this); apacheStartSFE.setPreferenceStore(getPreferenceStore()); apacheStartSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheStopBFE = new BooleanFieldEditor(PHPeclipsePlugin.APACHE_STOP_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.stop_background"), apacheSettingsGroup); apacheStopBFE.setPreferencePage(this); apacheStopBFE.setPreferenceStore(getPreferenceStore()); apacheStopBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheStopSFE = new StringFieldEditor(IPreferenceConstants.APACHE_STOP_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.stop"), apacheSettingsGroup); apacheStopSFE.setPreferencePage(this); apacheStopSFE.setPreferenceStore(getPreferenceStore()); apacheStopSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheRestartBFE = new BooleanFieldEditor(PHPeclipsePlugin.APACHE_RESTART_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.restart_background"), apacheSettingsGroup); apacheRestartBFE.setPreferencePage(this); apacheRestartBFE.setPreferenceStore(getPreferenceStore()); apacheRestartBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheRestartSFE = new StringFieldEditor(IPreferenceConstants.APACHE_RESTART_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.restart"), apacheSettingsGroup); apacheRestartSFE.setPreferencePage(this); apacheRestartSFE.setPreferenceStore(getPreferenceStore()); apacheRestartSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheRunFFE = new FileFieldEditor(IPreferenceConstants.APACHE_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.run"), apacheSettingsGroup); apacheRunFFE.setPreferencePage(this); apacheRunFFE.setPreferenceStore(getPreferenceStore()); apacheRunFFE.load(); phpRunFFE = new FileFieldEditor(IPreferenceConstants.PHP_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.console.php"), apacheSettingsGroup); phpRunFFE.setPreferencePage(this); phpRunFFE.setPreferenceStore(getPreferenceStore()); phpRunFFE.load(); //Create mySQL Composite mySQLSettingsComposite = new Composite(composite, SWT.NULL); mySQLSettingsComposite.setLayout(new GridLayout()); mySQLSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Group mySQLSettingsGroup = new Group(mySQLSettingsComposite, SWT.NONE); mySQLSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup")); mySQLSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mySQLSettingsGroup.setLayout(new GridLayout()); mysqlStartBFE = new BooleanFieldEditor(PHPeclipsePlugin.MYSQL_START_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.start_background"), mySQLSettingsGroup); mysqlStartBFE.setPreferencePage(this); mysqlStartBFE.setPreferenceStore(getPreferenceStore()); mysqlStartBFE.load(); new Label(mySQLSettingsGroup, SWT.NONE); new Label(mySQLSettingsGroup, SWT.NONE); mySQLCommandSFE = new StringFieldEditor(IPreferenceConstants.MYSQL_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.command"), mySQLSettingsGroup); mySQLCommandSFE.setPreferencePage(this); mySQLCommandSFE.setPreferenceStore(getPreferenceStore()); mySQLCommandSFE.load(); new Label(mySQLSettingsGroup, SWT.NONE); mysqlRunFFE = new FileFieldEditor(IPreferenceConstants.MYSQL_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.run"), mySQLSettingsGroup); mysqlRunFFE.setPreferencePage(this); mysqlRunFFE.setPreferenceStore(getPreferenceStore()); mysqlRunFFE.load(); return composite; } }