Package org.apache.uima.tools.images.internal

Source Code of org.apache.uima.tools.images.internal.ImageLoader

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.uima.tools.images.internal;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.plugin.AbstractUIPlugin;

/**
*  A helper class to load images/icons from other plug-ins.
*
*/
public class ImageLoader
{
    static final public String PLUGIN_ID_O_E_SEARCH = "org.eclipse.search";
    static final public String ICON_SEARCH_EXPANDALL    = "icons/full/elcl16/expandall.gif";
    static final public String ICON_SEARCH_EXPANDALL_E  = "icons/full/elcl16/expandall.gif";
    static final public String ICON_SEARCH_EXPANDALL_D  = "icons/full/dlcl16/expandall.gif";
    static final public String ICON_SEARCH_COLLAPSEALL    = "icons/full/elcl16/collapseall.gif";
    static final public String ICON_SEARCH_COLLAPSEALL_E  = "icons/full/elcl16/collapseall.gif";
    static final public String ICON_SEARCH_COLLAPSEALL_D  = "icons/full/dlcl16/collapseall.gif";
    static final public String ICON_SEARCH_PREV  = "icons/full/elcl16/search_prev.gif";
    static final public String ICON_SEARCH_NEXT  = "icons/full/elcl16/search_next.gif";
   
    // Icons from "org.eclipse.ui"
    static final public String PLUGIN_ID_O_E_UI = "org.eclipse.ui";
    static final public String ICON_FOLDER      = "icons/full/obj16/fldr_obj.gif";
    static final public String ICON_FILE        = "icons/full/obj16/file_obj.gif";
    static final public String ICON_ERROR_TASK  = "icons/full/obj16/error_tsk.gif";
    static final public String ICON_UI_VIEW_MENU    = "icons/full/elcl16/view_menu.gif";

    static final public String PLUGIN_ID_O_E_JUNIT = "org.eclipse.jdt.junit";
    static final public String ICON_DOC_OK         = "icons/full/obj16/testok.gif";
    static final public String ICON_DOC_ERROR      = "icons/full/obj16/testerr.gif";
    static final public String ICON_JUNIT_TEST     = "icons/full/obj16/test.gif";
       
    static final public String PLUGIN_ID_O_E_PDE_UI     = "org.eclipse.pde.ui";
    static final public String ICON_ERROR_LOG           = "icons/view16/error_log.gif";
    static final public String ICON_PDE_UI_REFRESH      = "icons/elcl16/refresh.gif";

    static final public String PLUGIN_ID_O_E_DEBUG_UI     = "org.eclipse.debug.ui";
    static final public String ICON_DEBUG_UI_RUNLAST_E    = "icons/full/elcl16/runlast_co.gif";
    static final public String ICON_DEBUG_UI_RUNLAST_D    = "icons/full/dlcl16/runlast_co.gif";
    static final public String ICON_DEBUG_UI_TERMINATE_E  = "icons/full/elcl16/terminate_co.gif";
    static final public String ICON_DEBUG_UI_TERMINATE_D  = "icons/full/dcl16/terminate_co.gif";

    // From "org.eclipse.ui.ide"
    static final public String PLUGIN_ID_O_E_UI_IDE       = "org.eclipse.ui.ide";
    static final public String ICON_UI_IDE_IMPORT_PREF    = "icons/full/obj16/importpref_obj.gif";
    static final public String ICON_UI_IDE_FILTER         = "icons/full/elcl16/filter_ps.gif";

    // "org.eclipse.jdt.ui"
    static final public String PLUGIN_ID_O_E_JDT_UI = "org.eclipse.jdt.debug.ui";
    static final public String ICON_JDT_UI_HIERARCHY      = "icons/full/elcl16/hierarchy_co.gif";

    // "org.eclipse.jdt.debug.ui"
    static final public String PLUGIN_ID_O_E_JDT_DEBUG_UI = "org.eclipse.jdt.debug.ui";
    static final public String ICON_JDT_DEBUG_UI_FEATURE  = "icons/full/elcl16/final_co.gif";

    /*************************************************************************/
   
   
    static final public String ICON_UIMA_TOOLS_TYPE             = "icons/full/obj16/type.gif";
    static final public String ICON_UIMA_TOOLS_TYPE_ERROR       = "icons/full/obj16/type_error.gif";
    static final public String ICON_UIMA_TOOLS_FEATURE          = ICON_JDT_DEBUG_UI_FEATURE;
    static final public String ICON_UIMA_TOOLS_FEATURE_ERROR    = ICON_ERROR_TASK;
   
    /*************************************************************************/
   
    static private ImageLoader    instance;
    protected ImageRegistry         imageRegistry;
   
    static public ImageLoader getInstance()
    {
        if (instance == null) {
            instance = new ImageLoader();
        }
        return instance;
    }

    public ImageDescriptor registerImageDescriptor (String key,
                                        String pluginId, String iconFileName)
    {
        ImageDescriptor imgDesc = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconFileName);
        if (imgDesc != null) {
            // Register
            getImageRegistry().remove(key);
            getImageRegistry().put(key, imgDesc);
        }
        return imgDesc;
    }
   
    public ImageDescriptor getImageDescriptor(String key) {
        return getImageRegistry().getDescriptor(key);
    }

    public Image getImage(String key) {
        return getImageRegistry().get(key);
    }
   
    public void initializeImageRegistry ()
    {
        // Register COMMON Images
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_EXPANDALL_E, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_EXPANDALL_E);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_EXPANDALL_D, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_EXPANDALL_D);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_COLLAPSEALL_E, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_COLLAPSEALL_E);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_COLLAPSEALL_D, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_COLLAPSEALL_D);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_PREV, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_PREV);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_SEARCH_NEXT, ImageLoader.PLUGIN_ID_O_E_SEARCH, ImageLoader.ICON_SEARCH_NEXT);

        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_PDE_UI_REFRESH, ImageLoader.PLUGIN_ID_O_E_PDE_UI, ImageLoader.ICON_PDE_UI_REFRESH);

        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_UI_IDE_IMPORT_PREF, ImageLoader.PLUGIN_ID_O_E_UI_IDE, ImageLoader.ICON_UI_IDE_IMPORT_PREF);
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_UI_IDE_FILTER, ImageLoader.PLUGIN_ID_O_E_UI_IDE, ImageLoader.ICON_UI_IDE_FILTER);
     
        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_UI_VIEW_MENU, ImageLoader.PLUGIN_ID_O_E_UI, ImageLoader.ICON_UI_VIEW_MENU);

        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_UIMA_TOOLS_FEATURE, ImageLoader.PLUGIN_ID_O_E_JDT_DEBUG_UI, ImageLoader.ICON_UIMA_TOOLS_FEATURE);

        ImageLoader.getInstance().registerImageDescriptor(ImageLoader.ICON_JDT_UI_HIERARCHY, ImageLoader.PLUGIN_ID_O_E_JDT_UI, ImageLoader.ICON_JDT_UI_HIERARCHY);
       
    }
   
    public void dispose() {
        if (imageRegistry != null) {
            imageRegistry.dispose();
        }       
    }
   
    /*************************************************************************/

    /*************************************************************************/
   
    static public Image createImage (String pluginId, String iconFileName)
    {
        ImageDescriptor imgDesc = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconFileName);
        if (imgDesc != null) {
            return imgDesc.createImage();
        }
        return null;
    }

    /*************************************************************************/
   
    protected ImageRegistry createImageRegistry()
    {       
        // If we are in the UI Thread use that
        if (Display.getCurrent() != null) {
            return new ImageRegistry(Display.getCurrent());
        } else {
            // Invalid thread access if it is not the UI Thread
            // and the workbench is not created.
            throw new SWTError(SWT.ERROR_THREAD_INVALID_ACCESS);
        }
    }

    protected ImageRegistry getImageRegistry()
    {
        if (imageRegistry == null) {
            imageRegistry = createImageRegistry();
            // initializeImageRegistry(imageRegistry);
        }
        return imageRegistry;
    }

    /*************************************************************************/
   
}
TOP

Related Classes of org.apache.uima.tools.images.internal.ImageLoader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.