import net.sourceforge.phpeclipse.preferences.OverlayPreferenceStore;
import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHP_DEFAULT_BOLD),
new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHP_DEFAULT_ITALIC),
new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHP_DEFAULT_UNDERLINE),
- new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_USERDEF_XMLFILE)};
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_USERDEF_XMLFILE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_EDITOR_BACKGROUND)};
private final String[][] SyntaxColorListModel =
new String[][] {
};
private List SyntaxColorList;
+ /** The ColorEditor that choose the foreground color. */
private ColorEditor SyntaxForegroundColorEditor;
private Button BoldCheckBox;
private Button ItalicCheckBox;
UnderlineCheckBox.setSelection(OverlayStore.getBoolean(key + "_underline"));
}
+ /**
+ * Create the group of options for other parameters (background color for example).
+ * @param parent the parent component
+ */
+ private void backgroundOptionPage(Composite parent) {
+ Label label = new Label(parent, SWT.LEFT);
+ label.setText(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.color")); //$NON-NLS-1$
+ GridData gd = new GridData();
+ gd.horizontalAlignment = GridData.BEGINNING;
+ label.setLayoutData(gd);
+ final ColorEditor syntaxBackgroundColorEditor = new ColorEditor(parent);
+ RGB rgb = PreferenceConverter.getColor(OverlayStore, IPreferenceConstants.PHP_EDITOR_BACKGROUND);
+ syntaxBackgroundColorEditor.setColorValue(rgb);
+ Button backgroundColorButton = syntaxBackgroundColorEditor.getButton();
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalAlignment = GridData.BEGINNING;
+ backgroundColorButton.setLayoutData(gd);
+ backgroundColorButton.addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // do nothing
+ }
+ public void widgetSelected(SelectionEvent e) {
+ PreferenceConverter.setValue(OverlayStore, IPreferenceConstants.PHP_EDITOR_BACKGROUND, syntaxBackgroundColorEditor.getColorValue());
+ }
+ });
+ }
+
+ /**
+ * Create the group of options for the syntax parameters.
+ * @param parent the parent component
+ * @return
+ */
private Control createSyntaxPage(Composite parent) {
Composite colorComposite = new Composite(parent, SWT.NULL);
gd.horizontalAlignment = GridData.BEGINNING;
gd.horizontalSpan = 2;
BoldCheckBox.setLayoutData(gd);
-
+
ItalicCheckBox = new Button(stylesComposite, SWT.CHECK);
ItalicCheckBox.setText(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.italic")); //$NON-NLS-1$
ItalicCheckBox.setEnabled(false);
gd.horizontalAlignment = GridData.BEGINNING;
gd.horizontalSpan = 2;
ItalicCheckBox.setLayoutData(gd);
-
+
UnderlineCheckBox = new Button(stylesComposite, SWT.CHECK);
UnderlineCheckBox.setText(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.underline")); //$NON-NLS-1$
UnderlineCheckBox.setEnabled(false);
syntaxGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
syntaxGroup.setLayout(layout);
createSyntaxPage(syntaxGroup);
-
+
+ Composite backgroundOptions = new Composite(composite,SWT.NULL);
+ backgroundOptions.setLayout(new GridLayout());
+ layout = new GridLayout();
+ layout.numColumns = 3;
+ Group backgroundOptionsGroup = new Group(backgroundOptions,SWT.NONE);
+ backgroundOptionsGroup.setText(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.background"));
+ backgroundOptionsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ backgroundOptionsGroup.setLayout(layout);
+ backgroundOptionPage(backgroundOptionsGroup);
+
initialize();
return composite;
}