X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java index eb7b852..816f5e9 100644 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java +++ b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java @@ -4,11 +4,11 @@ * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html - * + * * Contributors: * Christopher Lenz - initial implementation - * - * $Id: WebUI.java,v 1.4 2005-02-12 23:21:46 axelcl Exp $ + * + * $Id: WebUI.java,v 1.11 2007-11-08 01:37:06 scorphus Exp $ */ package net.sourceforge.phpeclipse.ui; @@ -16,10 +16,10 @@ package net.sourceforge.phpeclipse.ui; import java.io.IOException; import java.net.URL; -import net.sourceforge.phpeclipse.ui.templates.template.HTMLContextType; -import net.sourceforge.phpeclipse.ui.templates.template.JSContextType; -import net.sourceforge.phpeclipse.ui.templates.template.SmartyContextType; -import net.sourceforge.phpeclipse.ui.templates.template.XMLContextType; +import net.sourceforge.phpeclipse.ui.templates.template.HTMLTemplateContextType; +import net.sourceforge.phpeclipse.ui.templates.template.JSTemplateContextType; +import net.sourceforge.phpeclipse.ui.templates.template.SmartyTemplateContextType; +import net.sourceforge.phpeclipse.ui.templates.template.XMLTemplateContextType; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; @@ -41,139 +41,164 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; * The web development tools UI plugin. */ public class WebUI extends AbstractUIPlugin implements IPreferenceConstants { - private static final String CUSTOM_TEMPLATES_KEY = "net.sourceforge.phpeclipse.ui.templates"; //$NON-NLS-1$ - - // Constants --------------------------------------------------------------- - - public static final String ICON_OVERLAY_ERROR = "full/ovr16/error_co.gif"; //$NON-NLS-1$ - - public static final String ICON_OVERLAY_WARNING = "full/ovr16/warning_co.gif"; //$NON-NLS-1$ - - // Instance Variables ------------------------------------------------------ - - /** The shared instance. */ - private static WebUI plugin; - - public static IWorkbenchPage getActivePage() { - return getDefault().internalGetActivePage(); - } - - private IWorkbenchPage internalGetActivePage() { - return getWorkbench().getActiveWorkbenchWindow().getActivePage(); - } - - public static Shell getActiveWorkbenchShell() { - return getActiveWorkbenchWindow().getShell(); - } - - public static IWorkbenchWindow getActiveWorkbenchWindow() { - return getDefault().getWorkbench().getActiveWorkbenchWindow(); - } - // Public Methods ---------------------------------------------------------- - - /** - * Returns the shared instance. - */ - public static WebUI getDefault() { - return plugin; - } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); - } - - /** The context type registry. */ - private ContributionContextTypeRegistry fRegistry; - - /** The template store. */ - private TemplateStore fStore; - - // Constructors ------------------------------------------------------------ - - /** - * The constructor. - */ - public WebUI() { - plugin = this; - } - - /** - * Returns this plug-in's context type registry. - * - * @return the context type registry for this plug-in instance - */ - public ContextTypeRegistry getContextTypeRegistry() { - if (fRegistry == null) { - // create an configure the contexts available in the editor - fRegistry = new ContributionContextTypeRegistry(); - fRegistry.addContextType(XMLContextType.XML_CONTEXT_TYPE); - fRegistry.addContextType(HTMLContextType.HTML_CONTEXT_TYPE); - fRegistry.addContextType(SmartyContextType.SMARTY_CONTEXT_TYPE); - fRegistry.addContextType(JSContextType.JS_CONTEXT_TYPE); - } - return fRegistry; - } - - // Private Methods --------------------------------------------------------- - - /** - * Returns an image descriptor for the image corresponding to the specified key (which is the name of the image file). - * - * @param key - * The key of the image - * @return The descriptor for the requested image, or null if the image could not be found - */ - private ImageDescriptor getImageDescriptor(String key) { - try { - URL url = getBundle().getEntry("/icons/" + key); //$NON-NLS-1$ - return ImageDescriptor.createFromURL(url); - } catch (IllegalStateException e) { - return null; - } - } - - /** - * Returns this plug-in's template store. - * - * @return the template store of this plug-in instance - */ - public TemplateStore getTemplateStore() { - if (fStore == null) { - fStore = new ContributionTemplateStore(getContextTypeRegistry(), getDefault().getPreferenceStore(), CUSTOM_TEMPLATES_KEY); - try { - fStore.load(); - } catch (IOException e) { - WebUI.getDefault().getLog().log(new Status(IStatus.ERROR, "net.sourceforge.phpeclipse.ui", IStatus.OK, "", e)); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - return fStore; - } - - protected void initializeDefaultPreferences(IPreferenceStore store) { - store.setDefault(PHP_LOCALHOST_PREF, "http://localhost"); - store.setDefault(PHP_DOCUMENTROOT_PREF, getWorkspace().getRoot().getLocation().toString()); - 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"); - store.setDefault(PHP_SHOW_XML_FILES_LOCAL, "false"); - } - - /* - * @see AbstractUIPlugin#initializeImageRegistry(ImageRegistry) - */ - protected void initializeImageRegistry(ImageRegistry reg) { - reg.put(ICON_OVERLAY_ERROR, getImageDescriptor(ICON_OVERLAY_ERROR)); - reg.put(ICON_OVERLAY_WARNING, getImageDescriptor(ICON_OVERLAY_WARNING)); - } - // private IWorkbenchPage internalGetActivePage() { - // IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow(); - // if (window != null) - // return window.getActivePage(); - // return null; - // } + + public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.ui"; + + private static final String CUSTOM_TEMPLATES_KEY = "net.sourceforge.phpeclipse.ui.templates"; //$NON-NLS-1$ + + // Constants --------------------------------------------------------------- + + public static final String ICON_OVERLAY_ERROR = "full/ovr16/error_co.gif"; //$NON-NLS-1$ + + public static final String ICON_OVERLAY_WARNING = "full/ovr16/warning_co.gif"; //$NON-NLS-1$ + + // Instance Variables ------------------------------------------------------ + + /** The shared instance. */ + private static WebUI plugin; + + public static IWorkbenchPage getActivePage() { + return getDefault().internalGetActivePage(); + } + + private IWorkbenchPage internalGetActivePage() { + return getWorkbench().getActiveWorkbenchWindow().getActivePage(); + } + + public static Shell getActiveWorkbenchShell() { + return getActiveWorkbenchWindow().getShell(); + } + + public static IWorkbenchWindow getActiveWorkbenchWindow() { + return getDefault().getWorkbench().getActiveWorkbenchWindow(); + } + + // Public Methods ---------------------------------------------------------- + + /** + * Returns the shared instance. + */ + public static WebUI getDefault() { + return plugin; + } + + /** + * Returns the workspace instance. + */ + public static IWorkspace getWorkspace() { + return ResourcesPlugin.getWorkspace(); + } + + /** The context type registry. */ + private ContributionContextTypeRegistry fRegistry; + + /** The template store. */ + private TemplateStore fStore; + + // Constructors ------------------------------------------------------------ + + /** + * The constructor. + */ + public WebUI() { + plugin = this; + } + + /** + * Returns this plug-in's context type registry. + * + * @return the context type registry for this plug-in instance + */ + public ContextTypeRegistry getContextTypeRegistry() { + if (fRegistry == null) { + // create an configure the contexts available in the editor + fRegistry = new ContributionContextTypeRegistry(); + fRegistry.addContextType(XMLTemplateContextType.XML_CONTEXT_TYPE); + fRegistry.addContextType(HTMLTemplateContextType.HTML_CONTEXT_TYPE); + fRegistry.addContextType(SmartyTemplateContextType.SMARTY_CONTEXT_TYPE); + fRegistry.addContextType(JSTemplateContextType.JS_CONTEXT_TYPE); + } + return fRegistry; + } + + // Private Methods --------------------------------------------------------- + + /** + * Returns an image descriptor for the image corresponding to the specified + * key (which is the name of the image file). + * + * @param key + * The key of the image + * @return The descriptor for the requested image, or null if + * the image could not be found + */ + private ImageDescriptor getImageDescriptor(String key) { + try { + URL url = getBundle().getEntry("/icons/" + key); //$NON-NLS-1$ + return ImageDescriptor.createFromURL(url); + } catch (IllegalStateException e) { + return null; + } + } + + /** + * Returns this plug-in's template store. + * + * @return the template store of this plug-in instance + */ + public TemplateStore getTemplateStore() { + if (fStore == null) { + fStore = new ContributionTemplateStore(getContextTypeRegistry(), + getDefault().getPreferenceStore(), CUSTOM_TEMPLATES_KEY); + try { + fStore.load(); + } catch (IOException e) { + WebUI + .getDefault() + .getLog() + .log( + new Status( + IStatus.ERROR, + "net.sourceforge.phpeclipse.ui", IStatus.OK, "", e)); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + return fStore; + } + + protected void initializeDefaultPreferences(IPreferenceStore store) { + store.setDefault(PHP_LOCALHOST_PREF, "http://localhost"); + store.setDefault(PHP_DOCUMENTROOT_PREF, getWorkspace().getRoot() + .getFullPath().toString()); + // store.setDefault(PHP_BOOKMARK_DEFAULT, ""); + + store.setDefault(PHP_AUTO_PREVIEW_DEFAULT, "false"); + store.setDefault(PHP_BRING_TO_TOP_PREVIEW_DEFAULT, "false"); + store.setDefault(PHP_STICKY_BROWSER_URL_DEFAULT, "false"); + // store.setDefault(PHP_SHOW_HTML_FILES_LOCAL, "true"); + // store.setDefault(PHP_SHOW_XML_FILES_LOCAL, "false"); + } + + /* + * @see AbstractUIPlugin#initializeImageRegistry(ImageRegistry) + */ + protected void initializeImageRegistry(ImageRegistry reg) { + reg.put(ICON_OVERLAY_ERROR, getImageDescriptor(ICON_OVERLAY_ERROR)); + reg.put(ICON_OVERLAY_WARNING, getImageDescriptor(ICON_OVERLAY_WARNING)); + } + + // private IWorkbenchPage internalGetActivePage() { + // IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow(); + // if (window != null) + // return window.getActivePage(); + // return null; + // } + + public static void log(IStatus status) { + getDefault().getLog().log(status); + } + + public static void log(Throwable e) { + log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "" + + e.getLocalizedMessage(), e)); + } } \ No newline at end of file