// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataquality.record.linkage.ui.composite.utils; import java.net.MalformedURLException; import java.net.URL; import org.apache.log4j.Logger; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.viewers.DecorationOverlayIcon; import org.eclipse.jface.viewers.IDecoration; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.PlatformUI; /** * Store and lazy load Imaged. <br/> * * $Id: ImageLib.java,v 1.5 2007/04/05 05:33:07 pub Exp $ * */ public final class ImageLib { protected static Logger log = Logger.getLogger(ImageLib.class); private static ImageRegistry imageRegistry; private static URL iconURL; public static final String SWITCH_IMAGE = "switch.png"; //$NON-NLS-1$ // public static final String REFRESH_IMAGE = "refresh.gif"; //$NON-NLS-1$ public static final String EXPLORE_IMAGE = "magnifier.png"; //$NON-NLS-1$ public static final String REFRESH_IMAGE = "run_exc.gif"; //$NON-NLS-1$ public static final String FOLDERNODE_IMAGE = "folder.png"; //$NON-NLS-1$ public static final String FOLDER_WIZ_IMAGE = "folder_wiz.gif"; //$NON-NLS-1$ public static final String FOLDER_NEW_IMAGE = "folder_new.png"; //$NON-NLS-1$ public static final String PROJECT_ACTIVE = "prject_active.gif"; //$NON-NLS-1$ public static final String REPORT_HISTORIZE = "report_go.png"; //$NON-NLS-1$ public static final String NEW_CONNECTION = "new_alias.gif"; //$NON-NLS-1$ public static final String DELETE_ACTION = "cross.png"; //$NON-NLS-1$ public static final String ADD_ACTION = "add.gif"; //$NON-NLS-1$ public static final String EDIT_ACTION = "edit.png"; //$NON-NLS-1$ public static final String UP_ACTION = "up.gif"; //$NON-NLS-1$ public static final String DOWN_ACTION = "down.gif"; //$NON-NLS-1$ public static final String PASTE_ACTION = "paste.gif"; //$NON-NLS-1$ public static final String COPY_ACTION = "copy.gif"; //$NON-NLS-1$ public static final String SECTION_PREVIEW = "eye.png"; //$NON-NLS-1$ public static final String ACTION_NEW_REPORT = "report_add.png"; //$NON-NLS-1$ public static final String ACTION_NEW_ANALYSIS = "chart_bar_add.png"; //$NON-NLS-1$ public static final String INDICATOR_OPTION = "page_white_gear.png"; //$NON-NLS-1$ public static final String ANALYSIS_OBJECT = "chart_bar.png"; //$NON-NLS-1$ public static final String REPORT_OBJECT = "report.png"; //$NON-NLS-1$ public static final String TD_COLUMN = "TdColumn.gif"; //$NON-NLS-1$ public static final String TD_DATAPROVIDER = "TdDataProvider.gif"; //$NON-NLS-1$ public static final String MDM_CONNECTION = "mdm_metadata.png"; //$NON-NLS-1$ public static final String EDITCONNECTION = "sample.gif"; //$NON-NLS-1$ public static final String CREATE_SQL_ACTION = "new_sqlEditor.png"; //$NON-NLS-1$ public static final String LICENSE_WIZ = "license_wiz.png"; //$NON-NLS-1$ public static final String PATTERN_REG = "pattern.png"; //$NON-NLS-1$ public static final String REGISTER_WIZ = "register_wiz.png"; //$NON-NLS-1$ public static final String CONNECTION = "connection.gif"; //$NON-NLS-1$ public static final String METADATA = "metadata.png"; //$NON-NLS-1$ public static final String OPTION = "option.png"; //$NON-NLS-1$ public static final String LIBRARIES = "libraries.png"; //$NON-NLS-1$ public static final String DATA_PROFILING = "server_chart.png"; //$NON-NLS-1$ public static final String EXPORT_REPORT = "export_rep.gif"; //$NON-NLS-1$ public static final String LEVEL_WARNING = "level_warning.gif"; //$NON-NLS-1$ public static final String WARN_OVR = "warn_ovr.gif"; //$NON-NLS-1$ public static final String EMOTICON_SMILE = "emoticon_smile.png"; //$NON-NLS-1$ public static final String EXCLAMATION = "exclamation.png"; //$NON-NLS-1$ public static final String CATALOG = "catalog.jpg"; //$NON-NLS-1$ public static final String ASC_SORT = "asc.gif"; //$NON-NLS-1$ public static final String DESC_SORT = "desc.gif"; //$NON-NLS-1$ public static final String SCHEMA = "schema.gif"; //$NON-NLS-1$ public static final String TABLE = "TdTable.gif"; //$NON-NLS-1$ public static final String VIEW = "view.gif"; //$NON-NLS-1$ public static final String DQ_RULE = "dqrule_red.png"; //$NON-NLS-1$ public static final String ADD_DQ = "add_dqrule.png";//$NON-NLS-1$ public static final String ADD_PATTERN = "add_pattern.png"; //$NON-NLS-1$ public static final String SAVE = "save.gif"; //$NON-NLS-1$ public static final String IMPORT = "import.gif"; //$NON-NLS-1$ public static final String EXPORT = "export.gif"; //$NON-NLS-1$ /** PK icon from SQL Explorer. */ public static final String PK_DECORATE = "pk_decorate.gif"; //$NON-NLS-1$ public static final String EDIT_COPY = "copy.gif"; //$NON-NLS-1$ /** index icon from SQL Explorer. */ public static final String INDEX_VIEW = "index.gif"; //$NON-NLS-1$ /** Collapse all icon. */ public static final String COLLAPSE_ALL = "collapseall.gif"; //$NON-NLS-1$ /** Expand all icon. */ public static final String EXPAND_ALL = "expandall.gif"; //$NON-NLS-1$ /** Icon for primary key. */ public static final String PK_COLUMN = "pkColumn.gif"; //$NON-NLS-1$ /** Icon for refresh workspace. */ public static final String REFRESH_SPACE = "refresh.gif"; //$NON-NLS-1$ /** Icon for Talend Exchange folder. */ public static final String EXCHANGE = "ecosystem_view.png"; //$NON-NLS-1$ /** Icon of indicator's definition. */ public static final String IND_DEFINITION = "IndicatorDefinition.png"; //$NON-NLS-1$ public static final String ADD_IND_DEFINITION = "IndicatorAdd.png"; //$NON-NLS-1$ /** Icon of indicator's category. */ public static final String IND_CATEGORY = "IndicatorCategory.gif"; //$NON-NLS-1$ /** Icon for Pagination. */ public static final String ICON_PAGE_LAST_LNK = "bottomb.gif"; //$NON-NLS-1$ public static final String ICON_PAGE_FIRST_LNK = "topb.gif"; //$NON-NLS-1$ public static final String ICON_PAGE_PREV_LNK = "prevb.gif"; //$NON-NLS-1$ public static final String ICON_PAGE_NEXT_LNK = "nextb.gif"; //$NON-NLS-1$ public static final String ICON_INFO = "info.gif"; //$NON-NLS-1$ public static final String ICON_LOCK = "lock.gif"; //$NON-NLS-1$ public static final String XML_DOC = "xmldoc.gif"; //$NON-NLS-1$ public static final String XML_ELEMENT_DOC = "xmlele.gif"; //$NON-NLS-1$ public static final String ICON_PROCESS = "process_icon.png"; //$NON-NLS-1$ public static final String ICON_PROCESS_WIZARD = "process_wiz.png"; //$NON-NLS-1$ public static final String ICON_ERROR_INFO = "error.gif"; //$NON-NLS-1$ public static final String RECYCLEBIN_EMPTY = "recyclebinempty.png"; //$NON-NLS-1$ public static final String RECYCLEBIN_OVERLAY = "recycle_bino_verlay.gif"; //$NON-NLS-1$ public static final String RECYCLEBIN_FULL = "recyclebinfull.png"; //$NON-NLS-1$ public static final String ICON_ERROR_VAR = "error_ovr.gif"; //$NON-NLS-1$ public static final String ICON_ADD_VAR = "add_ovr.gif"; //$NON-NLS-1$ public static final String FILE_DELIMITED = "filedelimited.gif"; //$NON-NLS-1$ public static final String SOURCE_FILE = "editor.png"; //$NON-NLS-1$ public static final String JAR_FILE = "jar_obj.gif"; //$NON-NLS-1$ public static final String ADD_SYN = "synonym/book_add.png"; //$NON-NLS-1$ public static final String DELETE_SYN = "synonym/book_delete.png"; //$NON-NLS-1$ public static final String EDIT_SYN = "synonym/book_edit.png"; //$NON-NLS-1$ public static final String FILTER_UP = "search_prev.gif"; //$NON-NLS-1$ public static final String FILTER_DOWN = "search_next.gif"; //$NON-NLS-1$ public static final String FILTER_RUN = "searchres.png"; //$NON-NLS-1$ public static final String FILTER_CLOSE = "search_rem.gif"; //$NON-NLS-1$ public static final String RULE_TEST = "test.gif"; //$NON-NLS-1$ public static final String ICON_LOCK_BYOTHER = "locked_red_overlay.gif"; //$NON-NLS-1$ public static final String TICK_IMAGE = "checked.gif"; //$NON-NLS-1$ public static final String PK_ICON = "primary_key.png"; //$NON-NLS-1$ public static final String PLUGIN_ID = "org.talend.dataquality.record.linkage.ui"; //$NON-NLS-1$ public static final String MASTER_IMAGE = "star_tMatchGroup_master.png";//$NON-NLS-1$ public static final Color COLOR_GREY = new Color(null, 56, 55, 58); /** * DOC bzhou ImageLib constructor comment. */ private ImageLib() { } /** * get <code>ImageDescriptor</code> with special imageName. * * @param imageName * @return */ public static ImageDescriptor getImageDescriptor(String imageName) { if (imageRegistry == null) { initialize(); } ImageDescriptor imageDesc = imageRegistry.getDescriptor(imageName); if (imageDesc == null) { addImage(imageName); return imageRegistry.getDescriptor(imageName); } return imageDesc; } /** * get <code>Image</code> with special imageName. * * @param imageName * @return */ public static Image getImage(String imageName) { if (imageRegistry == null) { initialize(); } if (imageRegistry == null) { return null; } Image image = imageRegistry.get(imageName); if (image == null) { addImage(imageName); return imageRegistry.get(imageName); } return image; } /** * initialize the fieds. */ static void initialize() { if (imageRegistry == null) { imageRegistry = new ImageRegistry(PlatformUI.getWorkbench().getDisplay()); iconURL = getIconLocation(); } } /** * get current icons URL. * * @return */ private static URL getIconLocation() { URL installURL = Platform.getBundle(PLUGIN_ID).getEntry("/"); //$NON-NLS-1$ try { return new URL(installURL, "icons/"); //$NON-NLS-1$ } catch (MalformedURLException e) { log.error(e, e); return null; } } /** * store the image with special name(the name with suffix,such as "sample.gif"). * * @param iconName */ public static void addImage(String iconName) { try { ImageDescriptor descriptor = ImageDescriptor.createFromURL(new URL(iconURL, iconName)); imageRegistry.put(iconName, descriptor); } catch (MalformedURLException e) { // skip, but try to go on to the next one... } } /** * DOC bZhou Comment method "createInvalidIcon". * * @param originalImgName * @return */ public static ImageDescriptor createInvalidIcon(String originalImgName) { return createInvalidIcon(getImageDescriptor(originalImgName)); } /** * DOC bZhou Comment method "createInvalidIcon". * * @param originalImg * @return */ public static ImageDescriptor createInvalidIcon(ImageDescriptor originalImg) { ImageDescriptor warnImg = getImageDescriptor(WARN_OVR); return originalImg != null ? createIcon(originalImg, warnImg) : null; } /** * DOC bZhou Comment method "createLockedIcon". * * @param originalImgName * @return */ public static ImageDescriptor createLockedIcon(String originalImgName) { return createLockedIcon(getImageDescriptor(originalImgName)); } /** * DOC bZhou Comment method "createLockedIcon". * * @param originalImg * @return */ public static ImageDescriptor createLockedIcon(ImageDescriptor originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_LOCK); return originalImg != null ? createIcon(originalImg, lockImg) : null; } /** * DOC bZhou Comment method "createIcon". * * @param originalImg * @param decorateImg * @return */ public static ImageDescriptor createIcon(ImageDescriptor originalImg, ImageDescriptor decorateImg) { return createIcon(originalImg.createImage(), decorateImg); } /** * DOC xqliu Comment method "createIcon". * * @param originalImg * @param decorateImg * @return */ public static ImageDescriptor createIcon(Image originalImg, ImageDescriptor decorateImg) { return new DecorationOverlayIcon(originalImg, decorateImg, IDecoration.BOTTOM_RIGHT); } /** * DOC qiongli Comment method "createLockedIcon". * * @param originalImgName * @return */ public static ImageDescriptor createErrorIcon(String originalImgName) { return createErrorIcon(getImageDescriptor(originalImgName)); } /** * DOC bZhou Comment method "createLockedIcon". * * @param originalImg * @return */ public static ImageDescriptor createErrorIcon(ImageDescriptor originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_ERROR_VAR); return originalImg != null ? createIcon(originalImg, lockImg) : null; } /* * DOC qiongli Comment method "createAddedIcon". * * @param originalImgName * * @return */ public static ImageDescriptor createAddedIcon(String originalImgName) { return createAddedIcon(getImageDescriptor(originalImgName)); } /** * DOC qiongli Comment method "createAddedIcon". * * @param originalImg * @return */ public static ImageDescriptor createAddedIcon(ImageDescriptor originalImg) { ImageDescriptor addImg = getImageDescriptor(ICON_ADD_VAR); return originalImg != null ? new DecorationOverlayIcon(originalImg.createImage(), addImg, IDecoration.TOP_RIGHT) : null; } public static ImageDescriptor createLockedByOtherIcon(String originalImgName) { return createLockedByOtherIcon(getImageDescriptor(originalImgName)); } public static ImageDescriptor createLockedByOtherIcon(ImageDescriptor originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_LOCK_BYOTHER); return originalImg != null ? createIcon(originalImg, lockImg) : null; } public static ImageDescriptor createLockedByOtherIcon(Image originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_LOCK_BYOTHER); return originalImg != null ? createIcon(originalImg, lockImg) : null; } public static ImageDescriptor createLockedByOwnIcon(String originalImgName) { return createLockedByOtherIcon(getImageDescriptor(originalImgName)); } public static ImageDescriptor createLockedByOwnIcon(ImageDescriptor originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_LOCK); return originalImg != null ? createIcon(originalImg, lockImg) : null; } public static ImageDescriptor createLockedByOwnIcon(Image originalImg) { ImageDescriptor lockImg = getImageDescriptor(ICON_LOCK); return originalImg != null ? createIcon(originalImg, lockImg) : null; } }