/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.start.gui.internal;
import java.net.URL;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.application.IWorkbenchConfigurer;
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
import org.osgi.framework.Bundle;
/**
* Methods copied from {@link org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor}.
*
* @author Juergen Klein
* @author Christian Weiss
*/
@SuppressWarnings("restriction")
public abstract class WorkbenchAdvisorDelegate {
private WorkbenchAdvisorDelegate() {
super();
}
/**
* Declares all IDE-specific workbench images. This includes both "shared" images (named in
* {@link IDE.SharedImages}) and internal images (named in
* {@link org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages}).
*
* @see org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor#declareImage
*/
protected static void declareWorkbenchImages(IWorkbenchConfigurer configurer) {
final String iconsPath = "$nl$/icons/full/";
final String pathELocalTool = iconsPath + "elcl16/";
final String pathDLocalTool = iconsPath + "dlcl16/";
final String pathETool = iconsPath + "etool16/";
final String pathDTool = iconsPath + "dtool16/";
final String pathObject = iconsPath + "obj16/";
final String pathWizban = iconsPath + "wizban/";
Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);
String buildExecGIF = "build_exec.gif";
String searchSrcGIF = "search_src.gif";
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, pathETool + buildExecGIF,
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER, pathETool + buildExecGIF,
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED, pathDTool + buildExecGIF,
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, pathETool + searchSrcGIF, false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER, pathETool + searchSrcGIF,
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED, pathDTool + searchSrcGIF,
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, pathETool + "next_nav.gif", false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, pathETool + "prev_nav.gif", false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, pathWizban + "newprj_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ, pathWizban + "newfolder_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, pathWizban + "newfile_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ, pathWizban + "importdir_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ, pathWizban + "importzip_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ, pathWizban + "exportdir_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ, pathWizban + "exportzip_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ,
pathWizban + "workset_wiz.png", false); //$NON-NLS-1$
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG, pathWizban + "saveas_wiz.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_QUICKFIX_DLG, pathWizban + "quick_fix.png",
false);
declareWorkbenchImage(configurer, ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT, pathObject + "prj_obj.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, pathObject + "cprj_obj.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDE.SharedImages.IMG_OPEN_MARKER, pathELocalTool + "gotoobj_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ELCL_QUICK_FIX_ENABLED, pathELocalTool
+ "smartmode_co.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_DLCL_QUICK_FIX_DISABLED, pathDLocalTool
+ "smartmode_co.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK, pathObject + "taskmrk_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK, pathObject + "bkmrk_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, pathObject + "complete_tsk.gif",
true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, pathObject + "incomplete_tsk.gif",
true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, pathObject + "welcome_item.gif",
true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, pathObject + "welcome_banner.gif",
true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_ERROR_PATH, pathObject + "error_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WARNING_PATH, pathObject + "warn_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INFO_PATH, pathObject + "info_tsk.gif", true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_LCL_FLAT_LAYOUT, pathELocalTool + "flatLayout.gif",
true);
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_LCL_HIERARCHICAL_LAYOUT,
pathELocalTool + "hierarchicalLayout.gif", true); //$NON-NLS-1$
declareWorkbenchImage(configurer, ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEM_CATEGORY, pathETool
+ "problem_category.gif", true);
}
/**
* Declares an IDE-specific workbench image.
*
* @param ideBundle bundle
*
* @param symbolicName the symbolic name of the image
* @param path the path of the image file; this path is relative to the base of the IDE plug-in
* @param shared <code>true</code> if this is a shared image, and <code>false</code> if this is
* not a shared image
* @see org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor#declareImage
*/
private static void declareWorkbenchImage(IWorkbenchConfigurer configurer, Bundle ideBundle, String symbolicName, String path,
boolean shared) {
URL url = FileLocator.find(ideBundle, new Path(path), null);
ImageDescriptor desc = ImageDescriptor.createFromURL(url);
configurer.declareImage(symbolicName, desc, shared);
}
}