package net.sourceforge.phpeclipse; import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.preference.RadioGroupFieldEditor; 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.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; public class PHPEclipseParserPreferencePage 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(); RadioGroupFieldEditor chooseParser; StringFieldEditor externalParserSFE; BooleanFieldEditor parseOnSave; public PHPEclipseParserPreferencePage() { super(); setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore()); setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$ } public void init(IWorkbench workbench) { } protected void performDefaults() { chooseParser.loadDefault(); externalParserSFE.loadDefault(); parseOnSave.loadDefault(); super.performDefaults(); } public boolean performOk() { chooseParser.store(); externalParserSFE.store(); parseOnSave.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)); //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; } }