Added error log to the debug perspective
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.core / src / net / sourceforge / phpdt / internal / debug / core / PHPDebugCorePlugin.java
index 137b708..6fd64ee 100644 (file)
@@ -1,34 +1,70 @@
 package net.sourceforge.phpdt.internal.debug.core;
 
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import net.sourceforge.phpdt.internal.debug.core.logview.LogView;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+
 import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Status;
-//import org.eclipse.core.runtime.*;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
 /**
  * The main plugin class to be used in the desktop.
  */
-public class PHPDebugCorePlugin extends Plugin {
-       public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.debug.core"; //$NON-NLS-1$
+public class PHPDebugCorePlugin extends AbstractUIPlugin {
        //      The shared instance.
        protected static PHPDebugCorePlugin plugin;
+       public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.debug.core"; //$NON-NLS-1$
+       
+       public static IWorkbenchPage getActivePage() {
+               return getDefault().internalGetActivePage();
+       }
+       public static Shell getActiveWorkbenchShell() {
+               return getActiveWorkbenchWindow().getShell();
+       }
+       public static IWorkbenchWindow getActiveWorkbenchWindow() {
+               return getDefault().getWorkbench().getActiveWorkbenchWindow();
+       }
 
        /**
-        * The constructor.
+        * Returns the shared instance.
         */
-       public PHPDebugCorePlugin() {
-               super();
-               plugin = this;
-       } 
+       public static PHPDebugCorePlugin getDefault() {
+           return plugin;
+       }
+       
+       public static String getFormattedMessage(String key, String arg) {
+               String text = getResourceString(key);
+               return java.text.MessageFormat.format(text, new Object[] { arg });
+       }
+       public static String getResourceString(String key) {
+               ResourceBundle bundle = plugin.getResourceBundle();
+               if (bundle != null) {
+                       try {
+                               String bundleString = bundle.getString(key);
+                               //return "$"+bundleString;
+                               return bundleString;
+                       } catch (MissingResourceException e) {
+                               // default actions is to return key, which is OK
+                       }
+               }
+               return key;
+       }
 
        /**
-        * Returns the shared instance.
+        * Convenience method which returns the unique identifier of this plugin.
         */
-       public static PHPDebugCorePlugin getDefault() {
-               return plugin;
+       public static String getUniqueIdentifier() {
+               return PLUGIN_ID;
        }
 
        /**
@@ -50,12 +86,28 @@ public class PHPDebugCorePlugin extends Plugin {
        public static void log(Throwable e) {
                log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "PHPLaunchingPlugin.internalErrorOccurred", e)); //$NON-NLS-1$
        }
-
+       private ResourceBundle resourceBundle;
        /**
-        * Convenience method which returns the unique identifier of this plugin.
+        * The constructor.
         */
-       public static String getUniqueIdentifier() {
-               return PLUGIN_ID;
+       public PHPDebugCorePlugin() {
+               super();
+               plugin = this;
+               try {
+                       resourceBundle =
+                               ResourceBundle.getBundle(
+                                       "net.sourceforge.phpdt.internal.debug.core.debugresources"); //$NON-NLS-1$
+               } catch (MissingResourceException x) {
+                       resourceBundle = null;
+               }
+       } 
+       
+       public java.util.ResourceBundle getResourceBundle() {
+               return resourceBundle;
+       }
+       
+       private IWorkbenchPage internalGetActivePage() {
+               return getWorkbench().getActiveWorkbenchWindow().getActivePage();
        }
        
        /**