| /******************************************************************************* |
| * Copyright (c) 2000, 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.forms.examples.internal; |
| import java.net.URL; |
| import java.util.MissingResourceException; |
| import java.util.ResourceBundle; |
| |
| import org.eclipse.core.resources.IWorkspace; |
| import org.eclipse.core.resources.ResourcesPlugin; |
| import org.eclipse.core.runtime.FileLocator; |
| import org.eclipse.core.runtime.IPath; |
| import org.eclipse.core.runtime.Path; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| import org.eclipse.jface.resource.ImageRegistry; |
| import org.eclipse.swt.graphics.Image; |
| import org.eclipse.swt.widgets.Display; |
| import org.eclipse.ui.forms.FormColors; |
| import org.eclipse.ui.plugin.AbstractUIPlugin; |
| import org.osgi.framework.BundleContext; |
| /** |
| * The main plugin class to be used in the desktop. |
| */ |
| public class ExamplesPlugin extends AbstractUIPlugin { |
| //The shared instance. |
| private static ExamplesPlugin plugin; |
| //Resource bundle. |
| private ResourceBundle resourceBundle; |
| private FormColors formColors; |
| public static final String IMG_FORM_BG = "formBg"; |
| public static final String IMG_LARGE = "large"; |
| public static final String IMG_HORIZONTAL = "horizontal"; |
| public static final String IMG_VERTICAL = "vertical"; |
| public static final String IMG_SAMPLE = "sample"; |
| public static final String IMG_WIZBAN = "wizban"; |
| public static final String IMG_LINKTO_HELP = "linkto_help"; |
| public static final String IMG_HELP_TOPIC = "help_topic"; |
| public static final String IMG_CLOSE = "close"; |
| public static final String IMG_HELP_CONTAINER = "container_obj"; |
| public static final String IMG_HELP_TOC_OPEN = "toc_open"; |
| public static final String IMG_HELP_TOC_CLOSED = "toc_closed"; |
| public static final String IMG_HELP_SEARCH = "e_search_menu"; |
| public static final String IMG_CLEAR = "clear"; |
| public static final String IMG_NW = "nw"; |
| |
| /** |
| * The constructor. |
| */ |
| public ExamplesPlugin() { |
| plugin = this; |
| try { |
| resourceBundle = ResourceBundle |
| .getBundle("org.eclipse.ui.forms.examples.internal.ExamplesPluginResources"); |
| } catch (MissingResourceException x) { |
| resourceBundle = null; |
| } |
| } |
| |
| protected void initializeImageRegistry(ImageRegistry registry) { |
| registerImage(registry, IMG_FORM_BG, "form_banner.gif"); |
| registerImage(registry, IMG_LARGE, "large_image.gif"); |
| registerImage(registry, IMG_HORIZONTAL, "th_horizontal.gif"); |
| registerImage(registry, IMG_VERTICAL, "th_vertical.gif"); |
| registerImage(registry, IMG_SAMPLE, "sample.gif"); |
| registerImage(registry, IMG_WIZBAN, "newprj_wiz.gif"); |
| registerImage(registry, IMG_LINKTO_HELP, "linkto_help.gif"); |
| registerImage(registry, IMG_HELP_TOPIC, "topic.gif"); |
| registerImage(registry, IMG_HELP_CONTAINER, "container_obj.gif"); |
| registerImage(registry, IMG_HELP_TOC_CLOSED, "toc_closed.gif"); |
| registerImage(registry, IMG_HELP_TOC_OPEN, "toc_open.gif"); |
| registerImage(registry, IMG_CLOSE, "close_view.gif"); |
| registerImage(registry, IMG_HELP_SEARCH, "e_search_menu.gif"); |
| registerImage(registry, IMG_CLEAR, "clear.gif"); |
| registerImage(registry, IMG_NW, "nw.gif"); |
| } |
| |
| private void registerImage(ImageRegistry registry, String key, |
| String fileName) { |
| try { |
| IPath path = new Path("icons/" + fileName); |
| URL url = FileLocator.find(getBundle(), path, null); |
| if (url!=null) { |
| ImageDescriptor desc = ImageDescriptor.createFromURL(url); |
| registry.put(key, desc); |
| } |
| } catch (Exception e) { |
| } |
| } |
| |
| public FormColors getFormColors(Display display) { |
| if (formColors == null) { |
| formColors = new FormColors(display); |
| formColors.markShared(); |
| } |
| return formColors; |
| } |
| /** |
| * Returns the shared instance. |
| */ |
| public static ExamplesPlugin getDefault() { |
| return plugin; |
| } |
| /** |
| * Returns the workspace instance. |
| */ |
| public static IWorkspace getWorkspace() { |
| return ResourcesPlugin.getWorkspace(); |
| } |
| /** |
| * Returns the string from the plugin's resource bundle, or 'key' if not |
| * found. |
| */ |
| public static String getResourceString(String key) { |
| ResourceBundle bundle = ExamplesPlugin.getDefault().getResourceBundle(); |
| try { |
| return (bundle != null ? bundle.getString(key) : key); |
| } catch (MissingResourceException e) { |
| return key; |
| } |
| } |
| /** |
| * Returns the plugin's resource bundle, |
| */ |
| public ResourceBundle getResourceBundle() { |
| return resourceBundle; |
| } |
| public void stop(BundleContext context) throws Exception { |
| try { |
| if (formColors != null) { |
| formColors.dispose(); |
| formColors = null; |
| } |
| } finally { |
| super.stop(context); |
| } |
| } |
| public Image getImage(String key) { |
| return getImageRegistry().get(key); |
| } |
| public ImageDescriptor getImageDescriptor(String key) { |
| return getImageRegistry().getDescriptor(key); |
| } |
| } |