package net.sourceforge.phpeclipse; import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.DirectoryFieldEditor; 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 { // private SelectionListener SelectionListener; // private ModifyListener ModifyListener; // private ModifyListener TextModifyListener; // // private ArrayList CheckBoxes = new ArrayList(); // private ArrayList ComboBoxes = new ArrayList(); // private ArrayList TextBoxes = new ArrayList(); // private ArrayList RadioButtons = new ArrayList(); StringFieldEditor localHostSFE; DirectoryFieldEditor documentRootDFE; BooleanFieldEditor showExternalPreviewBFE; BooleanFieldEditor externalBrowserBFE; StringFieldEditor externalBrowserSFE; StringFieldEditor apacheStartSFE; StringFieldEditor apacheStopSFE; StringFieldEditor apacheRestartSFE; StringFieldEditor mySQLCommandSFE; FileFieldEditor apacheRunFFE; FileFieldEditor mysqlRunFFE; FileFieldEditor phpRunFFE; // RadioGroupFieldEditor chooseParser; // StringFieldEditor externalParserSFE; // BooleanFieldEditor parseOnSave; 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() { localHostSFE.loadDefault(); documentRootDFE.loadDefault(); showExternalPreviewBFE.loadDefault(); externalBrowserBFE.loadDefault(); externalBrowserSFE.loadDefault(); apacheStartSFE.loadDefault(); apacheStopSFE.loadDefault(); apacheRestartSFE.loadDefault(); mySQLCommandSFE.loadDefault(); phpRunFFE.loadDefault(); apacheRunFFE.loadDefault(); mysqlRunFFE.loadDefault(); // chooseParser.loadDefault(); // externalParserSFE.loadDefault(); // parseOnSave.loadDefault(); apacheStartBFE.loadDefault(); apacheStopBFE.loadDefault(); apacheRestartBFE.loadDefault(); mysqlStartBFE.loadDefault(); super.performDefaults(); } public boolean performOk() { localHostSFE.store(); documentRootDFE.store(); showExternalPreviewBFE.store(); externalBrowserBFE.store(); externalBrowserSFE.store(); apacheStartSFE.store(); apacheStopSFE.store(); apacheRestartSFE.store(); mySQLCommandSFE.store(); phpRunFFE.store(); apacheRunFFE.store(); mysqlRunFFE.store(); // chooseParser.store(); // externalParserSFE.store(); // parseOnSave.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()); //Create Websettings // Composite webSettingsComposite = new Composite(composite, SWT.NONE); // webSettingsComposite.setLayout(new GridLayout()); // webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); showExternalPreviewBFE = new BooleanFieldEditor( IPreferenceConstants.SHOW_EXTERNAL_PREVIEW_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.showexternalpreview"), composite); showExternalPreviewBFE.setPreferencePage(this); showExternalPreviewBFE.setPreferenceStore(getPreferenceStore()); showExternalPreviewBFE.load(); // Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE); // webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup")); // GridLayout gridLayout = new GridLayout(); // // gridLayout.numColumns = 3; // GridData gridData = new GridData(GridData.FILL_HORIZONTAL); // webSettingsGroup.setLayoutData(gridData); // webSettingsGroup.setLayout(gridLayout); Composite webSettingsComposite = new Composite(composite, SWT.NULL); webSettingsComposite.setLayout(new GridLayout()); webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE); webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup")); webSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); webSettingsGroup.setLayout(new GridLayout()); // new Label(webSettingsGroup, SWT.NONE); externalBrowserBFE = new BooleanFieldEditor( IPreferenceConstants.USE_EXTERNAL_BROWSER_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.useexternal"), webSettingsGroup); externalBrowserBFE.setPreferencePage(this); externalBrowserBFE.setPreferenceStore(getPreferenceStore()); externalBrowserBFE.load(); new Label(webSettingsGroup, SWT.NONE); new Label(webSettingsGroup, SWT.NONE); // new Label(webSettingsGroup, SWT.NONE); externalBrowserSFE = new StringFieldEditor( IPreferenceConstants.EXTERNAL_BROWSER_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.browser"), webSettingsGroup); externalBrowserSFE.setPreferencePage(this); externalBrowserSFE.setPreferenceStore(getPreferenceStore()); externalBrowserSFE.load(); new Label(webSettingsGroup, SWT.NONE); localHostSFE = new StringFieldEditor( IPreferenceConstants.LOCALHOST_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.localhost"), webSettingsGroup); localHostSFE.setPreferencePage(this); localHostSFE.setPreferenceStore(getPreferenceStore()); localHostSFE.load(); new Label(webSettingsGroup, SWT.NONE); documentRootDFE = new DirectoryFieldEditor( IPreferenceConstants.DOCUMENTROOT_PREF, PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.docroot"), webSettingsGroup); documentRootDFE.setPreferencePage(this); documentRootDFE.setPreferenceStore(getPreferenceStore()); documentRootDFE.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(); // //Create parser settings composite // Composite parserSettingsComposite = new Composite(composite, SWT.NONE); // parserSettingsComposite.setLayout(new GridLayout()); // parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE); // parserSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers")); // parserSettingsGroup.setLayout(new GridLayout()); // parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // chooseParser = // new RadioGroupFieldEditor( // IPreferenceConstants.PHP_PARSER_DEFAULT, // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.choose"), // 1, // new String[][] { // { PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.internal"), IPreferenceConstants.PHP_INTERNAL_PARSER }, // { // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.external"), IPreferenceConstants.PHP_EXTERNAL_PARSER } // }, parserSettingsGroup); // chooseParser.setPreferencePage(this); // chooseParser.setPreferenceStore(getPreferenceStore()); // chooseParser.load(); // //create a copmposte just for the StringEditor - makes layout simpler // Composite externalParserCompo = new Composite(parserSettingsGroup, SWT.NONE); // externalParserSFE = // new StringFieldEditor( // IPreferenceConstants.EXTERNAL_PARSER_PREF, // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.extcommand"), // externalParserCompo // /*parserSettingsGroup*/ // ); // externalParserSFE.setPreferencePage(this); // externalParserSFE.setPreferenceStore(getPreferenceStore()); // externalParserSFE.load(); // // parseOnSave = // new BooleanFieldEditor( // PHPeclipsePlugin.PHP_PARSE_ON_SAVE, // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.pos"), // parserSettingsGroup); // parseOnSave.setPreferencePage(this); // parseOnSave.setPreferenceStore(getPreferenceStore()); // parseOnSave.load(); return composite; } }