misc changes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPeclipsePlugin.java
index 911cceb..20ede98 100644 (file)
@@ -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,18 @@ 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";
+  
+  /**
+   * The id of the PHP plugin (value <code>"net.sourceforge.phpeclipse"</code>).
+   */ 
+  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 +94,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");
 
@@ -124,6 +150,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,