package net.sourceforge.phpdt.externaltools.preferences; import net.sourceforge.phpeclipse.externaltools.ExternalToolsPlugin; 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 PHPExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { // StringFieldEditor phpParserExtensionsSFE; StringFieldEditor xamppStartSFE; StringFieldEditor xamppStopSFE; StringFieldEditor apacheStartSFE; StringFieldEditor apacheStopSFE; StringFieldEditor apacheRestartSFE; StringFieldEditor mySQLCommandSFE; StringFieldEditor externalParserSFE; FileFieldEditor apacheRunFFE; FileFieldEditor mysqlRunFFE; FileFieldEditor phpRunFFE; FileFieldEditor httpdConfFFE; FileFieldEditor etcHostsFFE; BooleanFieldEditor apacheStartBFE; BooleanFieldEditor apacheStopBFE; BooleanFieldEditor apacheRestartBFE; BooleanFieldEditor mysqlStartBFE; public PHPExternalToolsPreferencePage() { super(); setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore()); setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$ } public void init(IWorkbench workbench) { } protected void performDefaults() { // phpParserExtensionsSFE.loadDefault(); xamppStartSFE.loadDefault(); xamppStopSFE.loadDefault(); apacheStartSFE.loadDefault(); apacheStopSFE.loadDefault(); apacheRestartSFE.loadDefault(); mySQLCommandSFE.loadDefault(); externalParserSFE.loadDefault(); phpRunFFE.loadDefault(); apacheRunFFE.loadDefault(); httpdConfFFE.loadDefault(); etcHostsFFE.loadDefault(); mysqlRunFFE.loadDefault(); apacheStartBFE.loadDefault(); apacheStopBFE.loadDefault(); apacheRestartBFE.loadDefault(); mysqlStartBFE.loadDefault(); super.performDefaults(); } public boolean performOk() { // PHPFileUtil.setExtensions(null); // phpParserExtensionsSFE.store(); xamppStartSFE.store(); xamppStopSFE.store(); apacheStartSFE.store(); apacheStopSFE.store(); apacheRestartSFE.store(); mySQLCommandSFE.store(); externalParserSFE.store(); phpRunFFE.store(); apacheRunFFE.store(); httpdConfFFE.store(); etcHostsFFE.store(); mysqlRunFFE.store(); apacheStartBFE.store(); apacheStopBFE.store(); apacheRestartBFE.store(); mysqlStartBFE.store(); return super.performOk(); } protected Control createContents(Composite parent) { initializeDialogUnits(parent); final IPreferenceStore store = ExternalToolsPlugin.getDefault().getPreferenceStore(); Composite composite = new Composite(parent, SWT.LEFT); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); composite.setLayout(new GridLayout()); //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()); xamppStartSFE = new StringFieldEditor(ExternalToolsPlugin.XAMPP_START_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.xampp_start"), apacheSettingsGroup); xamppStartSFE.setPage(this); xamppStartSFE.setPreferenceStore(getPreferenceStore()); xamppStartSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); xamppStopSFE = new StringFieldEditor(ExternalToolsPlugin.XAMPP_STOP_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.xampp_stop"), apacheSettingsGroup); xamppStopSFE.setPage(this); xamppStopSFE.setPreferenceStore(getPreferenceStore()); xamppStopSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheStartBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_START_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.start_background"), apacheSettingsGroup); apacheStartBFE.setPage(this); apacheStartBFE.setPreferenceStore(getPreferenceStore()); apacheStartBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheStartSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_START_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.start"), apacheSettingsGroup); apacheStartSFE.setPage(this); apacheStartSFE.setPreferenceStore(getPreferenceStore()); apacheStartSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheStopBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_STOP_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.stop_background"), apacheSettingsGroup); apacheStopBFE.setPage(this); apacheStopBFE.setPreferenceStore(getPreferenceStore()); apacheStopBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheStopSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_STOP_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.stop"), apacheSettingsGroup); apacheStopSFE.setPage(this); apacheStopSFE.setPreferenceStore(getPreferenceStore()); apacheStopSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheRestartBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_RESTART_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.restart_background"), apacheSettingsGroup); apacheRestartBFE.setPage(this); apacheRestartBFE.setPreferenceStore(getPreferenceStore()); apacheRestartBFE.load(); new Label(apacheSettingsGroup, SWT.NONE); new Label(apacheSettingsGroup, SWT.NONE); apacheRestartSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_RESTART_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.restart"), apacheSettingsGroup); apacheRestartSFE.setPage(this); apacheRestartSFE.setPreferenceStore(getPreferenceStore()); apacheRestartSFE.load(); new Label(apacheSettingsGroup, SWT.NONE); apacheRunFFE = new FileFieldEditor(ExternalToolsPlugin.APACHE_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.apacheGroup.run"), apacheSettingsGroup); apacheRunFFE.setPage(this); apacheRunFFE.setPreferenceStore(getPreferenceStore()); apacheRunFFE.load(); httpdConfFFE = new FileFieldEditor(ExternalToolsPlugin.HTTPD_CONF_PATH_PREF, "Path to httpd.conf:", apacheSettingsGroup); httpdConfFFE.setPage(this); httpdConfFFE.setPreferenceStore(getPreferenceStore()); httpdConfFFE.load(); etcHostsFFE = new FileFieldEditor(ExternalToolsPlugin.ETC_HOSTS_PATH_PREF, "Path to etc/hosts:", apacheSettingsGroup); etcHostsFFE.setPage(this); etcHostsFFE.setPreferenceStore(getPreferenceStore()); etcHostsFFE.load(); phpRunFFE = new FileFieldEditor(ExternalToolsPlugin.PHP_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.console.php"), apacheSettingsGroup); phpRunFFE.setPage(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(ExternalToolsPlugin.MYSQL_START_BACKGROUND, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.start_background"), mySQLSettingsGroup); mysqlStartBFE.setPage(this); mysqlStartBFE.setPreferenceStore(getPreferenceStore()); mysqlStartBFE.load(); new Label(mySQLSettingsGroup, SWT.NONE); new Label(mySQLSettingsGroup, SWT.NONE); mySQLCommandSFE = new StringFieldEditor(ExternalToolsPlugin.MYSQL_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.command"), mySQLSettingsGroup); mySQLCommandSFE.setPage(this); mySQLCommandSFE.setPreferenceStore(getPreferenceStore()); mySQLCommandSFE.load(); new Label(mySQLSettingsGroup, SWT.NONE); mysqlRunFFE = new FileFieldEditor(ExternalToolsPlugin.MYSQL_RUN_PREF, PHPPreferencesMessages .getString("PHPBasePreferencePage.mySQLGroup.run"), mySQLSettingsGroup); mysqlRunFFE.setPage(this); mysqlRunFFE.setPreferenceStore(getPreferenceStore()); mysqlRunFFE.load(); Composite parserSettingsComposite = new Composite(composite, SWT.NULL); parserSettingsComposite.setLayout(new GridLayout()); parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE); parserSettingsGroup.setText("External parser command"); parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); parserSettingsGroup.setLayout(new GridLayout()); externalParserSFE = new StringFieldEditor( ExternalToolsPlugin.EXTERNAL_PARSER_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.extcommand"), parserSettingsGroup ); externalParserSFE.setPage(this); externalParserSFE.setPreferenceStore(getPreferenceStore()); externalParserSFE.load(); return composite; } }