From dfa01d32941866a1d27a959a73c096b9d8b86378 Mon Sep 17 00:00:00 2001 From: khartlage Date: Wed, 27 Nov 2002 22:41:28 +0000 Subject: [PATCH] new Syntax Highlighting Preference Page (doesn't have an effect at the moment) --- .../phpeclipse/IPreferenceConstants.java | 58 ++++++++++++++++++ .../phpeclipse/PHPSyntaxPreferencePage.java | 62 ++++++++++++++++++++ .../sourceforge/phpeclipse/PHPeclipsePlugin.java | 38 +++++++----- 3 files changed, 143 insertions(+), 15 deletions(-) create mode 100644 net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/IPreferenceConstants.java create mode 100644 net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxPreferencePage.java diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/IPreferenceConstants.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/IPreferenceConstants.java new file mode 100644 index 0000000..f2cc73b --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/IPreferenceConstants.java @@ -0,0 +1,58 @@ +/********************************************************************** +Copyright (c) 2000, 2002 IBM Corp. and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Common Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/cpl-v10.html + +Contributors: + IBM Corporation - Initial implementation + Klaus Hartlage - www.eclipseproject.de +**********************************************************************/ +package net.sourceforge.phpeclipse; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +import net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider; +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IPluginDescriptor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +//import org.eclipse.jdt.internal.ui.JavaStatusConstants; +//import org.eclipse.jdt.internal.ui.JavaUIMessages; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * The main plugin class to be used in the desktop. + */ +public interface IPreferenceConstants { + public static final String LOCALHOST_PREF = "_localhost"; + public static final String DOCUMENTROOT_PREF = "_documentroot"; + public static final String USE_EXTERNAL_BROWSER_PREF = "_use_external_browser"; + public static final String EXTERNAL_BROWSER_PREF = "_external_browser"; + public static final String MYSQL_PREF = "_my_sql"; + public static final String APACHE_START_PREF = "_apache_start"; + public static final String APACHE_STOP_PREF = "_apache_stop"; + public static final String APACHE_RESTART_PREF = "_apache_restart"; + public static final String SHOW_OUTPUT_IN_CONSOLE = "_sho_output_in_console"; + public static final String EXTERNAL_PARSER_PREF = "_external_parser"; + + public static final String PHP_MULTILINE_COMMENT = "_php_multilineComment"; + public static final String PHP_SINGLELINE_COMMENT = "_php_singlelineComment"; + public static final String PHP_KEYWORD = "_php_keyword"; + public static final String PHP_VARIABLE = "_php_variable"; + public static final String PHP_FUNCTIONNAME = "_php_functionname"; + public static final String PHP_STRING = "_php_string"; + public static final String PHP_DEFAULT = "_php_default"; + + +} \ No newline at end of file diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxPreferencePage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxPreferencePage.java new file mode 100644 index 0000000..20a26f5 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPSyntaxPreferencePage.java @@ -0,0 +1,62 @@ +/********************************************************************** +Copyright (c) 2000, 2002 IBM Corp. and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Common Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/cpl-v10.html + +Contributors: + IBM Corporation - Initial implementation + Klaus Hartlage - www.eclipseproject.de +**********************************************************************/ +package net.sourceforge.phpeclipse; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.ColorFieldEditor; +import org.eclipse.jface.preference.DirectoryFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.StringFieldEditor; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +/** + * + * @author khartlage + */ +public class PHPSyntaxPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IPreferenceConstants { + + public PHPSyntaxPreferencePage() { + super(FieldEditorPreferencePage.GRID); + //Initialize the preference store we wish to use + setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore()); + } + + protected void createFieldEditors() { + final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore(); + + ColorFieldEditor multilineComment = + new ColorFieldEditor(PHP_MULTILINE_COMMENT, "Multi-line comment:", this.getFieldEditorParent()); + this.addField(multilineComment); + ColorFieldEditor singlelineComment = + new ColorFieldEditor(PHP_SINGLELINE_COMMENT, "Single-line comment:", this.getFieldEditorParent()); + this.addField(singlelineComment); + ColorFieldEditor keyWords = new ColorFieldEditor(PHP_KEYWORD, "Keywords:", this.getFieldEditorParent()); + this.addField(keyWords); + ColorFieldEditor variables = new ColorFieldEditor(PHP_VARIABLE, "Variables:", this.getFieldEditorParent()); + this.addField(variables); + ColorFieldEditor types = new ColorFieldEditor(PHP_FUNCTIONNAME, "Types:", this.getFieldEditorParent()); + this.addField(types); + ColorFieldEditor strings = new ColorFieldEditor(PHP_STRING, "Strings:", this.getFieldEditorParent()); + this.addField(strings); + ColorFieldEditor others = new ColorFieldEditor(PHP_DEFAULT, "Others:", this.getFieldEditorParent()); + this.addField(others); + } + + /** + * @see IWorkbenchPreferencePage#init + */ + public void init(IWorkbench workbench) { + } + +} diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java index 23d818c..b4b4e07 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java @@ -15,17 +15,15 @@ import java.util.MissingResourceException; import java.util.ResourceBundle; import net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider; +import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -//import org.eclipse.jdt.internal.ui.JavaStatusConstants; -//import org.eclipse.jdt.internal.ui.JavaUIMessages; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; @@ -34,17 +32,17 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; /** * The main plugin class to be used in the desktop. */ -public class PHPeclipsePlugin extends AbstractUIPlugin { - public static final String LOCALHOST_PREF = "_localhost"; - public static final String DOCUMENTROOT_PREF = "_documentroot"; - public static final String USE_EXTERNAL_BROWSER_PREF = "_use_external_browser"; - public static final String EXTERNAL_BROWSER_PREF = "_external_browser"; - public static final String MYSQL_PREF = "_my_sql"; - public static final String APACHE_START_PREF = "_apache_start"; - public static final String APACHE_STOP_PREF = "_apache_stop"; - public static final String APACHE_RESTART_PREF = "_apache_restart"; - public static final String SHOW_OUTPUT_IN_CONSOLE = "_sho_output_in_console"; - public static final String EXTERNAL_PARSER_PREF = "_external_parser"; +public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceConstants { +// public static final String LOCALHOST_PREF = "_localhost"; +// public static final String DOCUMENTROOT_PREF = "_documentroot"; +// public static final String USE_EXTERNAL_BROWSER_PREF = "_use_external_browser"; +// public static final String EXTERNAL_BROWSER_PREF = "_external_browser"; +// public static final String MYSQL_PREF = "_my_sql"; +// public static final String APACHE_START_PREF = "_apache_start"; +// public static final String APACHE_STOP_PREF = "_apache_stop"; +// public static final String APACHE_RESTART_PREF = "_apache_restart"; +// public static final String SHOW_OUTPUT_IN_CONSOLE = "_sho_output_in_console"; +// public static final String EXTERNAL_PARSER_PREF = "_external_parser"; /** * The id of the PHP plugin (value "net.sourceforge.phpeclipse"). @@ -248,5 +246,15 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { store.setDefault(APACHE_RESTART_PREF, "/apache/apache -k restart"); } + + // php syntax highlighting + PreferenceConverter.setDefault(store, PHP_MULTILINE_COMMENT, PHPColorProvider.MULTI_LINE_COMMENT); + PreferenceConverter.setDefault(store, PHP_SINGLELINE_COMMENT, PHPColorProvider.SINGLE_LINE_COMMENT); + PreferenceConverter.setDefault(store, PHP_KEYWORD, PHPColorProvider.KEYWORD); + PreferenceConverter.setDefault(store, PHP_VARIABLE, PHPColorProvider.VARIABLE); + PreferenceConverter.setDefault(store, PHP_FUNCTIONNAME, PHPColorProvider.FUNCTION_NAME); + PreferenceConverter.setDefault(store, PHP_STRING, PHPColorProvider.STRING); + PreferenceConverter.setDefault(store, PHP_DEFAULT, PHPColorProvider.DEFAULT); + } } \ No newline at end of file -- 1.7.1