* Contributors:
* Christopher Lenz - initial implementation
*
- * $Id: WebUI.java,v 1.1 2004-09-02 18:26:49 jsurfer Exp $
+ * $Id: WebUI.java,v 1.3 2004-09-03 19:58:36 jsurfer Exp $
*/
package net.sourceforge.phpeclipse.ui;
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 org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.text.templates.ContextTypeRegistry;
import org.eclipse.jface.text.templates.persistence.TemplateStore;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
* The web development tools UI plugin.
*/
-public class WebUI extends AbstractUIPlugin {
- 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;
-
- /** The template store. */
- private TemplateStore fStore;
- /** The context type registry. */
- private ContributionContextTypeRegistry fRegistry;
- // Constructors ------------------------------------------------------------
-
- /**
- * The constructor.
- */
- public WebUI() {
- plugin = this;
- }
-
- // Public Methods ----------------------------------------------------------
-
- /**
- * Returns the shared instance.
- */
- public static WebUI getDefault() {
- return plugin;
- }
-
- // AbstractUIPlugin Implementation -----------------------------------------
-
- /*
- * @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 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 <code>null</code> 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;
- }
-
- /**
- * 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(JSContextType.JS_CONTEXT_TYPE);
- }
- return fRegistry;
- }
-}
+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();
+ }
+
+ 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 <code>null</code> 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;
+ }
+}
\ No newline at end of file