X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java index 4b1d051..6eeecfb 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java @@ -5,20 +5,20 @@ 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.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; +import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.PropertyResourceBundle; import java.util.Set; import net.sourceforge.phpdt.core.IBuffer; @@ -28,9 +28,9 @@ import net.sourceforge.phpdt.core.IJavaElement; import net.sourceforge.phpdt.core.JavaCore; import net.sourceforge.phpdt.core.WorkingCopyOwner; import net.sourceforge.phpdt.externaltools.internal.model.ColorManager; -import net.sourceforge.phpdt.externaltools.internal.model.ExternalToolsPlugin; import net.sourceforge.phpdt.internal.core.BatchOperation; import net.sourceforge.phpdt.internal.core.JavaModelManager; +import net.sourceforge.phpdt.internal.core.util.Util; import net.sourceforge.phpdt.internal.corext.template.php.CodeTemplateContextType; import net.sourceforge.phpdt.internal.corext.template.php.HTMLContextType; import net.sourceforge.phpdt.internal.corext.template.php.JavaContextType; @@ -55,6 +55,7 @@ import net.sourceforge.phpeclipse.builder.FileStorage; import net.sourceforge.phpeclipse.builder.IdentifierIndexManager; import net.sourceforge.phpeclipse.phpeditor.CustomBufferFactory; import net.sourceforge.phpeclipse.phpeditor.DocumentAdapter; +import net.sourceforge.phpeclipse.phpeditor.ICompilationUnitDocumentProvider; import net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider; import net.sourceforge.phpeclipse.phpeditor.PHPSyntaxRdr; import net.sourceforge.phpeclipse.phpeditor.WorkingCopyManager; @@ -72,13 +73,13 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdapterManager; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.ISchedulingRule; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.GroupMarker; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; @@ -107,7 +108,6 @@ import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry; import org.eclipse.ui.editors.text.templates.ContributionTemplateStore; import org.eclipse.ui.ide.IDE; import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; import org.eclipse.ui.texteditor.ChainedPreferenceStore; import org.eclipse.ui.texteditor.ConfigurationElementSorter; import org.eclipse.ui.texteditor.IDocumentProvider; @@ -123,6 +123,10 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon * The id of the PHP plugin (value "net.sourceforge.phpeclipse"). */ public static final String PLUGIN_ID = "net.sourceforge.phpeclipse"; //$NON-NLS-1$ + public static final String EDITOR_ID = PHPeclipsePlugin.PLUGIN_ID+".PHPUnitEditor"; + public static final String ID_PERSPECTIVE = "net.sourceforge.phpeclipse.PHPPerspective"; //$NON-NLS-1$ + + IWorkspace w; /** * id of builder - matches plugin.xml (concatenate pluginid.builderid) @@ -131,7 +135,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon //public static final String BUILDER_INDEX_ID = PLUGIN_ID + ".indexbuilder"; /** General debug flag */ - + public static final boolean DEBUG = false; /** @@ -141,54 +145,51 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * The key to store customized templates. - * + * * @since 3.0 */ private static final String TEMPLATES_KEY = "net.sourceforge.phpdt.ui.text.custom_templates"; //$NON-NLS-1$ /** * The key to store customized code templates. - * + * * @since 3.0 */ private static final String CODE_TEMPLATES_KEY = "net.sourceforge.phpdt.ui.text.custom_code_templates"; //$NON-NLS-1$ /** * The key to store whether the legacy templates have been migrated - * + * * @since 3.0 */ // private static final String TEMPLATES_MIGRATION_KEY= "net.sourceforge.phpdt.ui.text.templates_migrated"; //$NON-NLS-1$ /** * The key to store whether the legacy code templates have been migrated - * + * * @since 3.0 */ // private static final String CODE_TEMPLATES_MIGRATION_KEY= "net.sourceforge.phpdt.ui.text.code_templates_migrated"; // //$NON-NLS-1$ - - private static ExternalToolsPlugin externalTools; +// private static ExternalToolsPlugin externalTools; /** * The Java virtual machine that we are running on. */ - private static int jvm; - - /** MRJ 2.0 */ - private static final int MRJ_2_0 = 0; - - /** MRJ 2.1 or later */ - private static final int MRJ_2_1 = 1; - - /** Java on Mac OS X 10.0 (MRJ 3.0) */ - private static final int MRJ_3_0 = 3; - - /** MRJ 3.1 */ - private static final int MRJ_3_1 = 4; - - /** JVM constant for any other platform */ - private static final int OTHER = -1; - + // private static int jvm; + // /** MRJ 2.0 */ + // private static final int MRJ_2_0 = 0; + // + // /** MRJ 2.1 or later */ + // private static final int MRJ_2_1 = 1; + // + // /** Java on Mac OS X 10.0 (MRJ 3.0) */ + // private static final int MRJ_3_0 = 3; + // + // /** MRJ 3.1 */ + // private static final int MRJ_3_1 = 4; + // + // /** JVM constant for any other platform */ + // private static final int OTHER = -1; // public static final String PHP_RESOURCES_VIEW_ID = PLUGIN_ID + // ".resourcesview.ViewPHPResources"; //$NON-NLS-1$ public static final String PHP_CODING_ACTION_SET_ID = PLUGIN_ID + ".ui.CodingActionSet"; //$NON-NLS-1$ @@ -207,28 +208,28 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * The template context type registry for the java editor. - * + * * @since 3.0 */ private ContextTypeRegistry fContextTypeRegistry; /** * The code template context type registry for the java editor. - * + * * @since 3.0 */ private ContextTypeRegistry fCodeTemplateContextTypeRegistry; /** * The template store for the java editor. - * + * * @since 3.0 */ private TemplateStore fTemplateStore; /** * The coded template store for the java editor. - * + * * @since 3.0 */ private TemplateStore fCodeTemplateStore; @@ -247,7 +248,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon private IBufferFactory fBufferFactory; - private PHPDocumentProvider fCompilationUnitDocumentProvider; + private ICompilationUnitDocumentProvider fCompilationUnitDocumentProvider; private JavaTextTools fJavaTextTools; @@ -270,28 +271,27 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Property change listener on this plugin's preference store. - * + * * @since 3.0 */ -// private IPropertyChangeListener fPropertyChangeListener; - + // private IPropertyChangeListener fPropertyChangeListener; /** * The combined preference store. - * + * * @since 3.0 */ private IPreferenceStore fCombinedPreferenceStore; /** * The extension point registry for the net.sourceforge.phpdt.ui.javaFoldingStructureProvider extension point. - * + * * @since 3.0 */ private JavaFoldingStructureProviderRegistry fFoldingStructureProviderRegistry; /** * Mockup preference store for firing events and registering listeners on project setting changes. FIXME: Temporary solution. - * + * * @since 3.0 */ private MockupPreferenceStore fMockupPreferenceStore; @@ -299,11 +299,11 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * The constructor. */ - public PHPeclipsePlugin(IPluginDescriptor descriptor) { - super(descriptor); + public PHPeclipsePlugin() { + super(); plugin = this; - setJVM(); - externalTools = new ExternalToolsPlugin(); +// externalTools = new ExternalToolsPlugin(); + // try { // resourceBundle = // ResourceBundle.getBundle("net.sourceforge.PHPeclipsePluginResources"); @@ -327,7 +327,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // } /** * Returns all Java editor text hovers contributed to the workbench. - * + * * @return an array of JavaEditorTextHoverDescriptor * @since 2.1 */ @@ -414,7 +414,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon *

* This will force a rebuild of the descriptors the next time a client asks for them. *

- * + * * @return an array of JavaEditorTextHoverDescriptor * @since 2.1 */ @@ -452,7 +452,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns an array of all editors that have an unsaved content. If the identical content is presented in more than one editor, * only one of those editor parts is part of the result. - * + * * @return an array of all dirty editor parts. */ public static IEditorPart[] getDirtyEditors() { @@ -493,15 +493,15 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon } static IPath getInstallLocation() { - return new Path(getDefault().getDescriptor().getInstallURL().getFile()); + return new Path(getDefault().getBundle().getEntry("/").getFile()); } - public static int getJVM() { - return jvm; - } + // public static int getJVM() { + // return jvm; + // } public static String getPluginId() { - return getDefault().getDescriptor().getUniqueIdentifier(); + return getDefault().getBundle().getSymbolicName() ; } /** @@ -560,44 +560,56 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon getDefault().getLog().log(status); } - public static void log(Throwable e) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "PHPeclipsePlugin.internalErrorOccurred", e)); //$NON-NLS-1$ + public static void log(Throwable t) { + log(error(t)); + } + + public static void log(String message, Throwable t) { + log(error(message, t)); } public static void logErrorMessage(String message) { log(new Status(IStatus.ERROR, getPluginId(), IJavaStatusConstants.INTERNAL_ERROR, message, null)); } - private static void setJVM() { - String osName = System.getProperty("os.name"); - if (osName.startsWith("Mac OS")) { - String mrjVersion = System.getProperty("mrj.version"); - String majorMRJVersion = mrjVersion.substring(0, 3); - jvm = OTHER; - try { - double version = Double.valueOf(majorMRJVersion).doubleValue(); - if (version == 2) { - jvm = MRJ_2_0; - } else if (version >= 2.1 && version < 3) { - jvm = MRJ_2_1; - } else if (version == 3.0) { - jvm = MRJ_3_0; - } else if (version >= 3.1) { - jvm = MRJ_3_1; - } - } catch (NumberFormatException nfe) { - } - } else if (osName.startsWith("Windows")) { - if (osName.indexOf("9") != -1) { - jvm = WINDOWS_9x; - } else { - jvm = WINDOWS_NT; - } - } + public static IStatus error(Throwable t) { + return error("PHPeclipsePlugin.internalErrorOccurred", t); //$NON-NLS-1$ } + public static IStatus error(String message, Throwable t) { + return new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, t); + } + + // private static void setJVM() { + // String osName = System.getProperty("os.name"); + // if (osName.startsWith("Mac OS")) { + // String mrjVersion = System.getProperty("mrj.version"); + // String majorMRJVersion = mrjVersion.substring(0, 3); + // jvm = OTHER; + // try { + // double version = Double.valueOf(majorMRJVersion).doubleValue(); + // if (version == 2) { + // jvm = MRJ_2_0; + // } else if (version >= 2.1 && version < 3) { + // jvm = MRJ_2_1; + // } else if (version == 3.0) { + // jvm = MRJ_3_0; + // } else if (version >= 3.1) { + // jvm = MRJ_3_1; + // } + // } catch (NumberFormatException nfe) { + // } + // } else if (osName.startsWith("Windows")) { + // if (osName.indexOf("9") != -1) { + // jvm = WINDOWS_9x; + // } else { + // jvm = WINDOWS_NT; + // } + // } + // } + // TODO: refactor this into a better method name ! - public synchronized PHPDocumentProvider getCompilationUnitDocumentProvider() { + public synchronized ICompilationUnitDocumentProvider getCompilationUnitDocumentProvider() { if (fCompilationUnitDocumentProvider == null) fCompilationUnitDocumentProvider = new PHPDocumentProvider(); return fCompilationUnitDocumentProvider; @@ -605,13 +617,22 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Get the identifier index manager for the given project - * + * * @param iProject * the current project * @return */ public IdentifierIndexManager getIndexManager(IProject iProject) { - String indexFilename = iProject.getLocation() + File.separator + "project.index"; + IPath path = iProject.getWorkingLocation(PHPeclipsePlugin.PLUGIN_ID); + path = path.append("project.index"); + String indexFilename = path.toString(); +// try { +// IdentDB db = IdentDB.getInstance(); +// } catch (ClassNotFoundException e) { +// e.printStackTrace(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } IdentifierIndexManager indexManager = (IdentifierIndexManager) fIndexManagerMap.get(indexFilename); if (indexManager == null) { indexManager = new IdentifierIndexManager(indexFilename); @@ -622,7 +643,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon public synchronized IWorkingCopyManager getWorkingCopyManager() { if (fWorkingCopyManager == null) { - PHPDocumentProvider provider = getCompilationUnitDocumentProvider(); + ICompilationUnitDocumentProvider provider = getCompilationUnitDocumentProvider(); fWorkingCopyManager = new WorkingCopyManager(provider); } return fWorkingCopyManager; @@ -683,58 +704,62 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // return resourceBundle; // } protected void initializeDefaultPreferences(IPreferenceStore store) { - // windows preferences: - // store.setDefault(LOCALHOST_PREF, "http://localhost"); - // store.setDefault(DOCUMENTROOT_PREF, - // getWorkspace().getRoot().getLocation().toString()); - // store.setDefault(PHP_LOCALHOST_PREF, "http://localhost"); - // store.setDefault(PHP_DOCUMENTROOT_PREF, getWorkspace().getRoot() - // .getLocation().toString()); - - // store.setDefault(SHOW_EXTERNAL_PREVIEW_PREF, "true"); -// store.setDefault(USE_EXTERNAL_BROWSER_PREF, "false"); - store.setDefault(SHOW_OUTPUT_IN_CONSOLE, "true"); - store.setDefault(PHP_OBFUSCATOR_DEFAULT, "c:\\temp"); - // store.setDefault(PHP_BOOKMARK_DEFAULT, ""); - // - // store.setDefault(PHP_AUTO_PREVIEW_DEFAULT, "true"); - // store.setDefault(PHP_BRING_TO_TOP_PREVIEW_DEFAULT, "true"); - // store.setDefault(PHP_SHOW_HTML_FILES_LOCAL, "true"); - - String windowsSystem = Platform.getWS(); - if (jvm == WINDOWS_9x) { -// store.setDefault(EXTERNAL_BROWSER_PREF, "command.com /c start iexplore {0}"); - } else if (windowsSystem.equals(Platform.WS_WIN32)) { -// store.setDefault(EXTERNAL_BROWSER_PREF, "rundll32 url.dll,FileProtocolHandler {0}"); - } else if (windowsSystem.equals(Platform.WS_CARBON)) { - // TODO How do we start Safari on Mac OS X ? -// store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); - } else { - store.setDefault(PHP_OBFUSCATOR_DEFAULT, "/tmp"); -// store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); - } - // if ((jvm == WINDOWS_9x) || (jvm == WINDOWS_NT)) { - // - if (windowsSystem.equals(Platform.WS_WIN32)) { - store.setDefault(PHP_RUN_PREF, "c:\\apache\\php\\php.exe"); - store.setDefault(EXTERNAL_PARSER_PREF, "c:\\apache\\php\\php -l -f {0}"); - store.setDefault(MYSQL_RUN_PREF, "c:\\apache\\mysql\\bin\\mysqld-nt.exe"); - store.setDefault(APACHE_RUN_PREF, "c:\\apache\\apache.exe"); - } else { - store.setDefault(PHP_RUN_PREF, "/apache/php/php"); - store.setDefault(EXTERNAL_PARSER_PREF, "/apache/php/php -l -f {0}"); - store.setDefault(MYSQL_RUN_PREF, "/apache/mysql/bin/mysqld"); - store.setDefault(APACHE_RUN_PREF, "/apache/apache"); + String operatingSystem = Platform.getOS(); + // maxosx, linux, solaris, win32,... + try { + InputStream is = getDefault().openStream( + new Path("prefs/default_" + operatingSystem + ".properties")); + PropertyResourceBundle resourceBundle = new PropertyResourceBundle(is); + Enumeration e = resourceBundle.getKeys(); + String key; + while (e.hasMoreElements()) { + key = (String)e.nextElement(); + store.setDefault(key, resourceBundle.getString( key )); + } + } catch (Exception e) { + // no default properties found + if (operatingSystem.equals(Platform.OS_WIN32)) { +// store.setDefault(PHP_RUN_PREF, "c:\\apache\\php\\php.exe"); +// store.setDefault(EXTERNAL_PARSER_PREF, "c:\\apache\\php\\php -l -f {0}"); +// store.setDefault(MYSQL_RUN_PREF, "c:\\apache\\mysql\\bin\\mysqld-nt.exe"); +// store.setDefault(APACHE_RUN_PREF, "c:\\apache\\apache.exe"); +// store.setDefault(XAMPP_START_PREF, "c:\\xampp\\xampp_start.exe"); +// store.setDefault(XAMPP_STOP_PREF, "c:\\xampp\\xampp_stop.exe"); +// store.setDefault( +// ETC_HOSTS_PATH_PREF, "c:\\windows\\system32\\drivers\\etc\\hosts"); + } else { +// store.setDefault(PHP_RUN_PREF, "/apache/php/php"); +// store.setDefault(EXTERNAL_PARSER_PREF, "/apache/php/php -l -f {0}"); +// store.setDefault(MYSQL_RUN_PREF, "/apache/mysql/bin/mysqld"); +// store.setDefault(APACHE_RUN_PREF, "/apache/apache"); +// store.setDefault(XAMPP_START_PREF, "xamp/xampp_start"); +// store.setDefault(XAMPP_STOP_PREF, "xampp/xampp_stop"); + } +// store.setDefault(MYSQL_PREF, "--standalone"); +// store.setDefault(APACHE_START_PREF, "-c \"DocumentRoot \"{0}\"\""); +// store.setDefault(APACHE_STOP_PREF, "-k shutdown"); +// store.setDefault(APACHE_RESTART_PREF, "-k restart"); +// store.setDefault(MYSQL_START_BACKGROUND, "true"); +// store.setDefault(APACHE_START_BACKGROUND, "true"); +// store.setDefault(APACHE_STOP_BACKGROUND, "true"); +// store.setDefault(APACHE_RESTART_BACKGROUND, "true"); } - store.setDefault(PHP_EXTENSION_PREFS, "php,php3,php4,php5,phtml,inc,module,class"); - store.setDefault(MYSQL_PREF, "--standalone"); - store.setDefault(APACHE_START_PREF, "-c \"DocumentRoot \"{0}\"\""); - store.setDefault(APACHE_STOP_PREF, "-k shutdown"); - store.setDefault(APACHE_RESTART_PREF, "-k restart"); - store.setDefault(MYSQL_START_BACKGROUND, "true"); - store.setDefault(APACHE_START_BACKGROUND, "true"); - store.setDefault(APACHE_STOP_BACKGROUND, "true"); - store.setDefault(APACHE_RESTART_BACKGROUND, "true"); + +// store.setDefault(SHOW_OUTPUT_IN_CONSOLE, "true"); +// store.setDefault(PHP_OBFUSCATOR_DEFAULT, "c:\\temp"); +// if (operatingSystem.equals(Platform.OS_WIN32)) { + // store.setDefault(EXTERNAL_BROWSER_PREF, "rundll32 url.dll,FileProtocolHandler {0}"); +// } else if (operatingSystem.equals(Platform.OS_MACOSX)) { +// store.setDefault(PHP_OBFUSCATOR_DEFAULT, "/tmp"); + // TODO How do we start Safari on Mac OS X ? + // store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); +// } else { +// store.setDefault(PHP_OBFUSCATOR_DEFAULT, "/tmp"); + // store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); +// } + +// store.setDefault(PHP_EXTENSION_PREFS, "php,php3,php4,php5,phtml,inc,module,class"); + // store.setDefault(PHP_PARSER_DEFAULT, PHP_EXTERNAL_PARSER); // store.setDefault(PHP_INTERNAL_PARSER, "false"); // store.setDefault(PHP_EXTERNAL_PARSER, "true"); @@ -745,15 +770,18 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // php syntax highlighting store.setDefault(PHP_USERDEF_XMLFILE, ""); //assume there is none chooA - PreferenceConverter.setDefault(store, PHP_MULTILINE_COMMENT, PHPColorProvider.MULTI_LINE_COMMENT); - PreferenceConverter.setDefault(store, PHP_SINGLELINE_COMMENT, PHPColorProvider.SINGLE_LINE_COMMENT); +// PreferenceConverter.setDefault(store, PHP_MULTILINE_COMMENT, PHPColorProvider.MULTI_LINE_COMMENT); +// PreferenceConverter.setDefault(store, PHP_SINGLELINE_COMMENT, PHPColorProvider.SINGLE_LINE_COMMENT); PreferenceConverter.setDefault(store, PHP_TAG, PHPColorProvider.TAG); PreferenceConverter.setDefault(store, PHP_KEYWORD, PHPColorProvider.KEYWORD); PreferenceConverter.setDefault(store, PHP_VARIABLE, PHPColorProvider.VARIABLE); + PreferenceConverter.setDefault(store, PHP_VARIABLE_DOLLAR, PHPColorProvider.VARIABLE); PreferenceConverter.setDefault(store, PHP_FUNCTIONNAME, PHPColorProvider.FUNCTION_NAME); PreferenceConverter.setDefault(store, PHP_CONSTANT, PHPColorProvider.CONSTANT); PreferenceConverter.setDefault(store, PHP_TYPE, PHPColorProvider.TYPE); - PreferenceConverter.setDefault(store, PHP_STRING, PHPColorProvider.STRING); +// PreferenceConverter.setDefault(store, PHP_STRING_DQ, PHPColorProvider.STRING_DQ); +// store.setDefault(PHP_STRING_BOLD_DQ, true); +// PreferenceConverter.setDefault(store, PHP_STRING_SQ, PHPColorProvider.STRING_SQ); PreferenceConverter.setDefault(store, PHP_DEFAULT, PHPColorProvider.DEFAULT); PreferenceConverter.setDefault(store, PHPDOC_KEYWORD, PHPColorProvider.PHPDOC_KEYWORD); PreferenceConverter.setDefault(store, PHPDOC_TAG, PHPColorProvider.PHPDOC_TAG); @@ -816,7 +844,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon new PHPSyntaxRdr(); JavaCore.initializeDefaultPluginPreferences(); PreferenceConstants.initializeDefaultValues(store); - externalTools.initializeDefaultPreferences(store); +// externalTools.initializeDefaultPreferences(store); MarkerAnnotationPreferences.initializeDefaultValues(store); } @@ -835,7 +863,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread. - * + * * @param filename * @throws CoreException */ @@ -881,7 +909,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread. - * + * * @param filename * @param line * @throws CoreException @@ -904,7 +932,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Open a file in the Workbench that may or may not exist in the workspace. Must be run on the UI thread. - * + * * @param filename * @param offset * @throws CoreException @@ -1083,29 +1111,27 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon * Backwards compatibility: propagate the Java editor tab width from a pre-3.0 plug-in to the new preference key. This is done * only once. */ -// final String oldTabWidthKey = PreferenceConstants.EDITOR_TAB_WIDTH; -// final String newTabWidthKey = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH; -// String tabWidthPropagatedKey = "tabWidthPropagated"; //$NON-NLS-1$ -// if (getPreferenceStore().contains(oldTabWidthKey) && !getPreferenceStore().isDefault(oldTabWidthKey)) { -// if (!getPreferenceStore().getBoolean(tabWidthPropagatedKey)) -// getPreferenceStore().setValue(newTabWidthKey, getPreferenceStore().getInt(oldTabWidthKey)); -// } -// getPreferenceStore().setValue(tabWidthPropagatedKey, true); -// -// /* -// * Backwards compatibility: set the Java editor tab width in this plug-in's preference store with the old key to let older -// * versions access it. Since 3.0 the tab width is managed by the extended texteditor and uses a new key. -// */ -// getPreferenceStore().putValue(oldTabWidthKey, getPreferenceStore().getString(newTabWidthKey)); - -// fPropertyChangeListener = new IPropertyChangeListener() { -// public void propertyChange(PropertyChangeEvent event) { -// if (newTabWidthKey.equals(event.getProperty())) -// getPreferenceStore().putValue(oldTabWidthKey, getPreferenceStore().getString(newTabWidthKey)); -// } -// }; -// getPreferenceStore().addPropertyChangeListener(fPropertyChangeListener); - + // final String oldTabWidthKey = PreferenceConstants.EDITOR_TAB_WIDTH; + // final String newTabWidthKey = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH; + // String tabWidthPropagatedKey = "tabWidthPropagated"; //$NON-NLS-1$ + // if (getPreferenceStore().contains(oldTabWidthKey) && !getPreferenceStore().isDefault(oldTabWidthKey)) { + // if (!getPreferenceStore().getBoolean(tabWidthPropagatedKey)) + // getPreferenceStore().setValue(newTabWidthKey, getPreferenceStore().getInt(oldTabWidthKey)); + // } + // getPreferenceStore().setValue(tabWidthPropagatedKey, true); + // + // /* + // * Backwards compatibility: set the Java editor tab width in this plug-in's preference store with the old key to let older + // * versions access it. Since 3.0 the tab width is managed by the extended texteditor and uses a new key. + // */ + // getPreferenceStore().putValue(oldTabWidthKey, getPreferenceStore().getString(newTabWidthKey)); + // fPropertyChangeListener = new IPropertyChangeListener() { + // public void propertyChange(PropertyChangeEvent event) { + // if (newTabWidthKey.equals(event.getProperty())) + // getPreferenceStore().putValue(oldTabWidthKey, getPreferenceStore().getString(newTabWidthKey)); + // } + // }; + // getPreferenceStore().addPropertyChangeListener(fPropertyChangeListener); /* * Backward compatibility for the refactoring preference key. */ @@ -1119,7 +1145,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon */ private void uninstallPreferenceStoreBackwardsCompatibility() { JFaceResources.getFontRegistry().removeListener(fFontPropertyChangeListener); -// getPreferenceStore().removePropertyChangeListener(fPropertyChangeListener); + // getPreferenceStore().removePropertyChangeListener(fPropertyChangeListener); } /* @@ -1137,9 +1163,9 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // JavaCore.getPlugin().getStateLocation(); getStateLocation(); // retrieve variable values - //JavaCore.getPlugin().getPluginPreferences().addPropertyChangeListener(new - // JavaModelManager.PluginPreferencesListener()); - // manager.loadVariablesAndContainers(); + PHPeclipsePlugin.getDefault().getPluginPreferences().addPropertyChangeListener( + new JavaModelManager.PluginPreferencesListener()); + // manager.loadVariablesAndContainers(); final IWorkspace workspace = ResourcesPlugin.getWorkspace(); workspace.addResourceChangeListener(manager.deltaState, IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_BUILD @@ -1150,33 +1176,31 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // process deltas since last activated in indexer thread so that indexes are up-to-date. // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=38658 - // Job processSavedState = new Job(Util.bind("savedState.jobName")) { //$NON-NLS-1$ - // protected IStatus run(IProgressMonitor monitor) { - // try { - // // add save participant and process delta atomically - // // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=59937 - // workspace.run( - // new IWorkspaceRunnable() { - // public void run(IProgressMonitor progress) throws CoreException { - // ISavedState savedState = workspace.addSaveParticipant(PHPeclipsePlugin.this, manager); - // if (savedState != null) { - // // the event type coming from the saved state is always POST_AUTO_BUILD - // // force it to be POST_CHANGE so that the delta processor can handle it - // manager.deltaState.getDeltaProcessor().overridenEventType = IResourceChangeEvent.POST_CHANGE; - // savedState.processResourceChangeEvents(manager.deltaState); - // } - // } - // }, - // monitor); - // } catch (CoreException e) { - // return e.getStatus(); - // } - // return Status.OK_STATUS; - // } - // }; - // processSavedState.setSystem(true); - // processSavedState.setPriority(Job.SHORT); // process asap - // processSavedState.schedule(); + Job processSavedState = new Job(Util.bind("savedState.jobName")) { //$NON-NLS-1$ + protected IStatus run(IProgressMonitor monitor) { + try { + // add save participant and process delta atomically + // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=59937 + workspace.run(new IWorkspaceRunnable() { + public void run(IProgressMonitor progress) throws CoreException { + ISavedState savedState = workspace.addSaveParticipant(PHPeclipsePlugin.this, manager); + if (savedState != null) { + // the event type coming from the saved state is always POST_AUTO_BUILD + // force it to be POST_CHANGE so that the delta processor can handle it + manager.deltaState.getDeltaProcessor().overridenEventType = IResourceChangeEvent.POST_CHANGE; + savedState.processResourceChangeEvents(manager.deltaState); + } + } + }, monitor); + } catch (CoreException e) { + return e.getStatus(); + } + return Status.OK_STATUS; + } + }; + processSavedState.setSystem(true); + processSavedState.setPriority(Job.SHORT); // process asap + processSavedState.schedule(); } catch (RuntimeException e) { manager.shutdown(); throw e; @@ -1245,7 +1269,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon // // JavaModelManager.PluginPreferencesListener()); // getPluginPreferences().addPropertyChangeListener( // new JavaModelManager.PluginPreferencesListener()); - // // TODO khartlage temp-del + // // TODO temp-del // // manager.loadVariablesAndContainers(); // final IWorkspace workspace = ResourcesPlugin.getWorkspace(); // workspace.addResourceChangeListener( @@ -1304,16 +1328,18 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns a combined preference store, this store is read-only. - * + * * @return the combined preference store - * + * * @since 3.0 */ public IPreferenceStore getCombinedPreferenceStore() { if (fCombinedPreferenceStore == null) { IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore(); - fCombinedPreferenceStore = new ChainedPreferenceStore(new IPreferenceStore[] { getPreferenceStore(), - new PreferencesAdapter(PHPeclipsePlugin.getDefault().getPluginPreferences()), generalTextStore }); + fCombinedPreferenceStore = new ChainedPreferenceStore(new IPreferenceStore[] { + getPreferenceStore(), + new PreferencesAdapter(PHPeclipsePlugin.getDefault().getPluginPreferences()), + generalTextStore }); } return fCombinedPreferenceStore; } @@ -1327,7 +1353,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns the registry of the extensions to the net.sourceforge.phpdt.ui.javaFoldingStructureProvider extension * point. - * + * * @return the registry of contributed IJavaFoldingStructureProvider * @since 3.0 */ @@ -1351,7 +1377,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon *

* If this method is called in the dynamic scope of another such call, this method simply runs the action. *

- * + * * @param action * the action to perform * @param monitor @@ -1382,7 +1408,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon * The supplied scheduling rule is used to determine whether this operation can be run simultaneously with workspace changes in * other threads. See IWorkspace.run(...) for more details. *

- * + * * @param action * the action to perform * @param rule @@ -1407,7 +1433,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns the template context type registry for the java plugin. - * + * * @return the template context type registry for the java plugin * @since 3.0 */ @@ -1425,7 +1451,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns the template store for the java editor templates. - * + * * @return the template store for the java editor templates * @since 3.0 */ @@ -1452,7 +1478,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns the template context type registry for the code generation templates. - * + * * @return the template context type registry for the code generation templates * @since 3.0 */ @@ -1468,7 +1494,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon /** * Returns the template store for the code generation templates. - * + * * @return the template store for the code generation templates * @since 3.0 */