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 6dea6cf..23d818c 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java @@ -14,10 +14,21 @@ 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; /** @@ -32,10 +43,20 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { 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"). + */ + public static final String ID_PLUGIN= "net.sourceforge.phpeclipse"; //$NON-NLS-1$ + //The shared instance. private static PHPeclipsePlugin plugin; //Resource bundle. private ResourceBundle resourceBundle; + + private PHPDocumentProvider fCompilationUnitDocumentProvider; /** * The Java virtual machine that we are running on. */ @@ -75,6 +96,13 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { } } + // @TODO: refactor this into a better method name ! + public PHPDocumentProvider getCompilationUnitDocumentProvider() { + if (fCompilationUnitDocumentProvider == null) + fCompilationUnitDocumentProvider= new PHPDocumentProvider(); + return fCompilationUnitDocumentProvider; + } + public static void setJVM() { String osName = System.getProperty("os.name"); @@ -93,7 +121,6 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { } else if (version == 3.0) { jvm = MRJ_3_0; } else if (version >= 3.1) { - // Assume that all 3.1 and later versions of MRJ work the same. jvm = MRJ_3_1; } @@ -125,6 +152,52 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { public static IWorkspace getWorkspace() { return ResourcesPlugin.getWorkspace(); } + + public static IWorkbenchPage getActivePage() { + return getDefault().getActivePage(); + } + + public static IWorkbenchWindow getActiveWorkbenchWindow() { + return getDefault().getWorkbench().getActiveWorkbenchWindow(); + } + + public static Shell getActiveWorkbenchShell() { + return getActiveWorkbenchWindow().getShell(); + } + + public static String getPluginId() { + return getDefault().getDescriptor().getUniqueIdentifier(); + } + + public static void log(IStatus status) { + getDefault().getLog().log(status); + } + +// public static void logErrorMessage(String message) { +// log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null)); +// } +// +// public static void logErrorStatus(String message, IStatus status) { +// if (status == null) { +// logErrorMessage(message); +// return; +// } +// MultiStatus multi= new MultiStatus(getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null); +// multi.add(status); +// log(multi); +// } +// +// public static void log(Throwable e) { +// log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, JavaUIMessages.getString("JavaPlugin.internal_error"), e)); //$NON-NLS-1$ +// } + + public static boolean isDebug() { + return getDefault().isDebugging(); + } + + static IPath getInstallLocation() { + return new Path(getDefault().getDescriptor().getInstallURL().getFile()); + } /** * Returns the string from the plugin's resource bundle, @@ -151,6 +224,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { store.setDefault(LOCALHOST_PREF, "http://localhost"); store.setDefault(USE_EXTERNAL_BROWSER_PREF, "false"); + store.setDefault(SHOW_OUTPUT_IN_CONSOLE, "true"); if (jvm == WINDOWS_9x) { store.setDefault(EXTERNAL_BROWSER_PREF, "command.com /c start iexplore {0}"); } else if (jvm == WINDOWS_NT) { @@ -159,17 +233,20 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); } if ((jvm == WINDOWS_9x) || (jvm == WINDOWS_NT)) { + store.setDefault(EXTERNAL_PARSER_PREF, "c:\\apache\\php\\php -l -f {0}"); store.setDefault(DOCUMENTROOT_PREF, "c:\\eclipse\\workspace"); store.setDefault(MYSQL_PREF, "c:\\apache\\mysql\\bin\\mysqld.exe --standalone"); - store.setDefault(APACHE_START_PREF, "c:\\apache\\apache.exe \"DocumentRoot \"{0}\"\""); + store.setDefault(APACHE_START_PREF, "c:\\apache\\apache.exe -c \"DocumentRoot \"{0}\"\""); store.setDefault(APACHE_STOP_PREF, "c:\\apache\\apache.exe -k shutdown"); store.setDefault(APACHE_RESTART_PREF, "c:\\apache\\apache.exe -k restart"); } else { + store.setDefault(EXTERNAL_PARSER_PREF, "/apache/php/php -l -f {0}"); store.setDefault(DOCUMENTROOT_PREF, "/eclipse/workspace"); store.setDefault(MYSQL_PREF, "/apache/mysql/bin/mysqld --standalone"); - store.setDefault(APACHE_START_PREF, "/apache/apache \"DocumentRoot \"{0}\"\""); + store.setDefault(APACHE_START_PREF, "/apache/apache -c \"DocumentRoot \"{0}\"\""); store.setDefault(APACHE_STOP_PREF, "/apache/apache.exe -k shutdown"); store.setDefault(APACHE_RESTART_PREF, "/apache/apache -k restart"); + } } } \ No newline at end of file