Added first PHP parser version (doesn't work correct actually)
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPeclipsePlugin.java
index 6dea6cf..5e95d2e 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";
+  public static final String SHOW_OUTPUT_IN_CONSOLE = "_sho_output_in_console";
+  /**
+   * 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");
 
@@ -93,7 +119,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 +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,
@@ -151,6 +222,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) {
@@ -161,13 +233,13 @@ public class PHPeclipsePlugin extends AbstractUIPlugin {
                if ((jvm == WINDOWS_9x) || (jvm == WINDOWS_NT)) {
       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(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");
                }