X-Git-Url: http://git.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 72d3508..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;
@@ -73,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;
@@ -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;
@@ -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,42 +560,54 @@ 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 ICompilationUnitDocumentProvider getCompilationUnitDocumentProvider() { if (fCompilationUnitDocumentProvider == null) @@ -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,10 +643,10 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon public synchronized IWorkingCopyManager getWorkingCopyManager() { if (fWorkingCopyManager == null) { - ICompilationUnitDocumentProvider provider= getCompilationUnitDocumentProvider(); - fWorkingCopyManager= new WorkingCopyManager(provider); - } - return fWorkingCopyManager; + ICompilationUnitDocumentProvider provider = getCompilationUnitDocumentProvider(); + fWorkingCopyManager = new WorkingCopyManager(provider); + } + return fWorkingCopyManager; } public synchronized MembersOrderPreferenceCache getMemberOrderPreferenceCache() { @@ -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 thenet.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. SeeIWorkspace.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
*/