import net.sourceforge.phpeclipse.preferences.ColorEditor;
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.PHPDOC_KEYWORD),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_KEYWORD_BOLD),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_KEYWORD_ITALIC),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_KEYWORD_UNDERLINE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHPDOC_TAG),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_TAG_BOLD),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_TAG_ITALIC),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_TAG_UNDERLINE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHPDOC_LINK),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_LINK_BOLD),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_LINK_ITALIC),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_LINK_UNDERLINE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHPDOC_DEFAULT),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_DEFAULT_BOLD),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_DEFAULT_ITALIC),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IPreferenceConstants.PHPDOC_DEFAULT_UNDERLINE),
+
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_USERDEF_XMLFILE),
+ // new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, IPreferenceConstants.PHP_EDITOR_BACKGROUND)
+ };
private final String[][] SyntaxColorListModel =
new String[][] {
PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.keywords"), IPreferenceConstants.PHP_KEYWORD }, {
PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.variables"), IPreferenceConstants.PHP_VARIABLE }, {
PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.types"), IPreferenceConstants.PHP_TYPE }, {
- PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.functions"), IPreferenceConstants.PHP_FUNCTIONNAME }, {
PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.constants"), IPreferenceConstants.PHP_CONSTANT }, {
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.functions"), IPreferenceConstants.PHP_FUNCTIONNAME }, {
PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.strings"), IPreferenceConstants.PHP_STRING }, {
- PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.others"), IPreferenceConstants.PHP_DEFAULT }
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.others"), IPreferenceConstants.PHP_DEFAULT }, {
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.phpdoc_keywords"), IPreferenceConstants.PHPDOC_KEYWORD }, {
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.phpdoc_tags"), IPreferenceConstants.PHPDOC_TAG }, {
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.phpdoc_links"), IPreferenceConstants.PHPDOC_LINK }, {
+ PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.phpdoc_others"), IPreferenceConstants.PHPDOC_DEFAULT }
};
private OverlayPreferenceStore OverlayStore;
};
private List SyntaxColorList;
+ /** The ColorEditor that choose the foreground color. */
private ColorEditor SyntaxForegroundColorEditor;
private Button BoldCheckBox;
private Button ItalicCheckBox;
private Button UnderlineCheckBox;
private FileFieldEditor userdefPHPSyntaxFileFFE;
+ // private BooleanFieldEditor showLineNumber;
+ // private IntegerFieldEditor formatterTabSize;
+ // private BooleanFieldEditor spacesForTabs;
public PHPSyntaxEditorPreferencePage() {
setDescription(PHPPreferencesMessages.getString("PHPEditorSyntaxPreferencePage.description")); //$NON-NLS-1$
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();
+
+
+// showLineNumber = new BooleanFieldEditor(PHPeclipsePlugin.LINE_NUMBER_RULER,
+// "Show line numbers", composite);
+// showLineNumber.setPreferencePage(this);
+// showLineNumber.setPreferenceStore(getPreferenceStore());
+// showLineNumber.load();
+
+// formatterTabSize = new IntegerFieldEditor(PHPeclipsePlugin.FORMATTER_TAB_SIZE,
+// "Displayed tab width", composite, 3);
+// formatterTabSize.setPreferencePage(this);
+// formatterTabSize.setPreferenceStore(getPreferenceStore());
+// formatterTabSize.load();
+//
+// spacesForTabs = new BooleanFieldEditor(PHPeclipsePlugin.SPACES_FOR_TABS,
+// "Spaces for Tabs", composite);
+// spacesForTabs.setPreferencePage(this);
+// spacesForTabs.setPreferenceStore(getPreferenceStore());
+// spacesForTabs.load();
return composite;
}
IPreferenceStore store = getPreferenceStore();
PHPeclipsePlugin.getDefault().savePluginPreferences();
userdefPHPSyntaxFileFFE.store();
+ // showLineNumber.store();
+ // spacesForTabs.store();
+ // formatterTabSize.store();
return true;
}
initializeFields();
handleSyntaxColorListSelection();
userdefPHPSyntaxFileFFE.loadDefault();
+ // showLineNumber.loadDefault();
+ // spacesForTabs.loadDefault();
+ // showLineNumber.loadDefault();
+ // formatterTabSize.loadDefault();
super.performDefaults();
}