/*
* org.openmicroscopy.shoola.agents.metadata.IconManager
*
*------------------------------------------------------------------------------
* Copyright (C) 2006-2015 University of Dundee. All rights reserved.
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*------------------------------------------------------------------------------
*/
package org.openmicroscopy.shoola.agents.metadata;
//Java imports
//Third-party libraries
//Application-internal dependencies
import org.openmicroscopy.shoola.env.config.Registry;
import org.openmicroscopy.shoola.env.ui.AbstractIconManager;
/**
* Provides the icons used by the MetadataViewer.
* <p>The icons are retrieved by first calling the
* {@link #getInstance() getInstance} method and then the
* {@link #getIcon(int) getIcon} method passing one of the icon ID's specified
* by the static constants within this class icons will be retrieved
* from the MetadataViewer's graphics bundle, which implies that its
* configuration has been read in (this happens during the initialization
* procedure).</p>
*
* @author Jean-Marie Burel
* <a href="mailto:j.burel@dundee.ac.uk">j.burel@dundee.ac.uk</a>
* @author Donald MacDonald
* <a href="mailto:donald@lifesci.dundee.ac.uk">donald@lifesci.dundee.ac.uk</a>
* @version 3.0
* <small>
* (<b>Internal version:</b> $Revision: $Date: $)
* </small>
* @since OME3.0
*/
public class IconManager
extends AbstractIconManager
{
/** The <code>Refresh</code> icon. */
public static final int REFRESH = 0;
/** The <code>Collapse</code> icon. */
public static final int COLLAPSE = 1;
/** The <code>Annotation</code> icon. */
public static final int ANNOTATION = 2;
/** The <code>Tag</code> icon. */
public static final int TAG = 3;
/** The <code>Attachment</code> icon. */
public static final int ATTACHMENT = 4;
/** The <code>Properties</code> icon. */
public static final int PROPERTIES = 5;
/** The <code>URL</code> icon. */
public static final int URL = 6;
/** The <code>Image</code> icon. */
public static final int IMAGE = 7;
/** The <code>Project</code> icon. */
public static final int PROJECT = 8;
/** The <code>Dataset</code> icon. */
public static final int DATASET = 9;
/** The <code>Add</code> icon. */
public static final int ADD = 10;
/** The <code>Remove</code> icon. */
public static final int REMOVE = 11;
/** The <code>Browse</code> icon. */
public static final int BROWSE = 12;
/** The <code>View</code> icon. */
public static final int VIEW = 13;
/** The <code>Owner</code> icon. */
public static final int OWNER = 14;
/** The <code>Root</code> icon. */
public static final int ROOT = 15;
/** The <code>List view</code> icon. */
public static final int LIST_VIEW = 16;
/** The <code>Grid view</code> icon. */
public static final int GRID_VIEW = 17;
/** The <code>Download</code> icon. */
public static final int DOWNLOAD = 18;
/** The <code>Info</code> icon. */
public static final int INFO = 19;
/** The <code>Right arrow</code> icon. */
public static final int RIGHT_ARROW = 20;
/** The <code>Left arrow</code> icon. */
public static final int LEFT_ARROW = 21;
/** The <code>Double right arrow</code> icon. */
public static final int DOUBLE_RIGHT_ARROW = 22;
/** The <code>Double left arrow</code> icon. */
public static final int DOUBLE_LEFT_ARROW = 23;
/** The <code>Tags 48x48</code> icon. */
public static final int TAGS_48 = 24;
/** The <code>Order by date</code> icon. */
public static final int ORDER_BY_DATE = 25;
/** The <code>Order by user</code> icon. */
public static final int ORDER_BY_USER = 26;
/** The <code>Close</code> icon. */
public static final int CLOSE = 27;
/** The <code>Edit</code> icon. */
public static final int EDIT = 28;
/** The <code>Info 48x48</code> icon. */
public static final int INFO_48 = 29;
/** The <code>PDF 22x22</code> icon. */
public static final int PDF_DOC_22 = 30;
/** The <code>Text 22x22</code> icon. */
public static final int TEXT_DOC_22 = 32;
/** The <code>Word 22x22</code> icon. */
public static final int WORD_DOC_22 = 33;
/** The <code>Excel 22x22</code> icon. */
public static final int EXCEL_DOC_22 = 34;
/** The <code>Power point 22x22</code> icon. */
public static final int PPT_DOC_22 = 35;
/** The <code>XML 22x22</code> icon. */
public static final int XML_DOC_22 = 36;
/** The <code>Save</code> icon. */
public static final int SAVE = 37;
/** The <code>Columns view</code> icon. */
public static final int COLUMNS_VIEW = 38;
/** The <code>Upload</code> icon. */
public static final int UPLOAD = 39;
/** The <code>Sort</code> icon. */
public static final int SORT = 40;
/** The <code>URL</code> 48x48 icon. */
public static final int URL_48 = 41;
/** The <code>Attachment 48x48</code> icon. */
public static final int ATTACHMENT_48 = 42;
/** The <code>Metadata 48x48</code> icon. */
public static final int METADATA_48 = 43;
/** The <code>Doc</code> icon. */
public static final int DOC = 44;
/** The <code>Tag 12x12</code> icon. */
public static final int TAG_12 = 45;
/** The <code>HTML Document</code> icon. */
public static final int HTML_DOC_22 = 46;
/** The <code>Screen</code> icon. */
public static final int SCREEN = 47;
/** The <code>Plate</code> icon. */
public static final int PLATE = 48;
/** The <code>Attach</code> icon. */
public static final int ATTACH = 49;
/** The <code>Acquisition</code> icon. */
public static final int ACQUISITION = 50;
/** The <code>Plus</code> icon. */
public static final int PLUS_9 = 51;
/** The <code>Minus</code> icon. */
public static final int MINUS_9 = 52;
/** The <code>Edit 8x8</code> icon. */
public static final int EDIT_8 = 53;
/** The <code>Edit 12x12</code> icon. */
public static final int EDIT_12 = 54;
/** The <code>Edit 48x48</code> icon. */
public static final int EDIT_48 = 55;
/** The <code>Plus 12x12</code> icon. */
public static final int PLUS_12 = 56;
/** The <code>Minus 12x12</code> icon. */
public static final int MINUS_12 = 57;
/** The <code>Tag set</code> icon. */
public static final int TAG_SET = 58;
/** The <code>Download 12x12</code> icon. */
public static final int DOWNLOAD_12 = 59;
/** The <code>Create Movie</code> icon. */
public static final int MOVIE = 60;
/** The <code>Histogram</code> image. */
public static final int TEMPORARY_HISTOGRAM = 61;
/** The <code>Histogram</code> icon. */
public static final int HISTOGRAM = 62;
/** The <code>Contrast Stretching</code> icon. */
public static final int CONTRAST_STRETCHING = 63;
/** The <code>Plane slicing</code> icon. */
public static final int PLANE_SLICING = 64;
/** The <code>codomain</code> icon. */
public static final int CODOMAIN = 65;
/** The <code>domain</code> icon. */
public static final int DOMAIN = 66;
/** The <code>Renderer</code> icon. */
public static final int RENDERER = 67;
/** The <code>GreyScale</code> icon. */
public static final int GRAYSCALE = 68;
/** The <code>RGB</code> icon. */
public static final int RGB = 69;
/** The <code>Analyze</code> icon. */
public static final int ANALYSE = 70;
/** The <code>Analyze 48x48</code> icon. */
public static final int ANALYSE_48 = 71;
/** The <code>Export</code> icon. */
public static final int EXPORT_AS_OMETIFF = 72;
/** The <code>Export 48x48</code> icon. */
public static final int EXPORT_AS_OMETIFF_48 = 73;
/** A 22x22 version of the <code>movie</code> icon. */
public static final int MOVIE_22 = 74;
/** A 22x22 version of the <code>Export</code> icon. */
public static final int EXPORT_22 = 75;
/** A 22x22 version of the <code>Download</code> icon. */
public static final int DOWNLOAD_22 = 76;
/** A 48x48 version of the <code>Download</code> icon. */
public static final int DOWNLOAD_48 = 77;
/** The <code>publishing</code> icon. */
public static final int PUBLISHING = 78;
/** The <code>Split View</code> icon. */
public static final int SPLIT_VIEW = 79;
/** The 48x48 <code>Split View</code> icon. */
public static final int SPLIT_VIEW_48 = 80;
/** The <code>Analysis</code> icon. */
public static final int ANALYSIS = 81;
/** The 12x12 <code>Delete</code> icon. */
public static final int DELETE_12 = 82;
/** The <code>FRAP</code> icon. */
public static final int ANALYSE_FRAP = 83;
/** The 22x22 <code>FRAP</code> icon. */
public static final int ANALYSE_FRAP_22 = 84;
/** The 48x48 <code>FRAP</code> icon. */
public static final int ANALYSE_FRAP_48 = 85;
/** The <code>Python</code> icon. */
public static final int PYTHON = 86;
/** The <code>Java</code> icon. */
public static final int JAVA = 87;
/** The <code>Matlab</code> icon. */
public static final int MATLAB = 88;
/** The <code>C++</code> icon. */
public static final int CPP = 89;
/** The 48x48 <code>Python</code> icon. */
public static final int PYTHON_48 = 90;
/** The 48x48 <code>Java</code> icon. */
public static final int JAVA_48 = 91;
/** The 48x48 <code>Matlab</code> icon. */
public static final int MATLAB_48 = 92;
/** The 48x48 <code>C++</code> icon. */
public static final int CPP_48 = 93;
/** The 48x48 <code>Analysis</code> icon. */
public static final int ANALYSIS_48 = 94;
/** The <code>Reset</code> icon. */
public static final int RND_RESET = 95;
/** The <code>Up down</code> icon. */
public static final int UP_DOWN_9_12 = 96;
/** The <code>Upload Script</code> icon. */
public static final int UPLOAD_SCRIPT = 97;
/** The 48x48 <code>Upload Script</code> icon. */
public static final int UPLOAD_SCRIPT_48 = 98;
/** The 22x22 <code>User photo</code> icon. */
public static final int USER_PHOTO_22 = 99;
/** The 48x48 <code>User photo</code> icon. */
public static final int USER_PHOTO_48 = 100;
/** The 32x32 <code>User photo</code> icon. */
public static final int USER_PHOTO_32 = 101;
/** The <code>Rendering Settings redo</code> icon. */
public static final int RND_REDO = 102;
/** The <code>Rendering Settings Min-Max</code> icon. */
public static final int RND_MIN_MAX = 103;
/** The <code>Rendering Settings Owner</code> icon. */
public static final int RND_OWNER = 104;
/** The <code>Rendering Settings Undo</code> icon. */
public static final int RND_UNDO = 105;
/** The <code>Rendering Settings Apply to all</code> icon. */
public static final int RND_APPLY_TO_ALL = 106;
/** The <code>Analysis</code> icon. */
public static final int ANALYSIS_RUN = 107;
/** The <code>Black arrow down</code> icon. */
public static final int BLACK_ARROW_DOWN = 108;
/** The <code>Transparent</code> icon. */
public static final int TRANSPARENT_32 = 109;
/** The <code>Script with UI</code> icon. */
public static final int SCRIPT_WITH_UI = 110;
/** The 22x22 <code>Script with UI</code> icon. */
public static final int SCRIPT_WITH_UI_22 = 111;
/** The 32x32 <code>Script with UI</code> icon. */
public static final int PREVIEW_THUMBNAILS_32 = 112;
/** The <code>Plot 12x12</code> icon. */
public static final int PLOT_12 = 113;
/** The 22x22 <code>Delete</code> icon. */
public static final int DELETE_22 = 114;
/** The 22x22 <code>Apply</code> icon. */
public static final int APPLY_22 = 115;
/** The 48x48 <code>FLIM</code> icon. */
public static final int FLIM_48 = 116;
/** The <code>Save As</code> icon. */
public static final int SAVE_AS = 117;
/** The 48x48 <code>Save As</code> icon. */
public static final int SAVE_AS_48 = 118;
/** The 22x22 <code>Save As</code> icon. */
public static final int SAVE_AS_22 = 119;
/** The 16x16 <code>Viewer</code> icon. */
public static final int VIEWER = 120;
/** The <code>Edit 12x12</code> icon. */
public static final int VIEW_DOC_12 = 121;
/** The <code>View</code> icon. */
public static final int VIEWER_IJ = 122;
/** The <code>File Path</code> icon. */
public static final int FILE_PATH = 123;
/** The <code>Link</code> icon. */
public static final int LINK = 124;
/** The <code>Copy</code> icon. */
public static final int COPY = 125;
/** The <code>Paste</code> icon. */
public static final int PASTE = 126;
/** The <code>Plus</code> icon. */
public static final int PLUS = 127;
/**
* The maximum ID used for the icon IDs.
* Allows to correctly build arrays for direct indexing.
*/
private static final int MAX_ID = 127;
/** Paths of the icon files. */
private static String[] relPaths = new String[MAX_ID+1];
static {
relPaths[REFRESH] = "nuvola_reload16.png";
relPaths[COLLAPSE] = "eclipse_collapseall16.png";
relPaths[ANNOTATION] = "nuvola_kwrite16.png";
relPaths[TAG] = "nuvola_message16.png";//"nuvola_knotes16.png";
relPaths[ATTACHMENT] = "nuvola_attach16.png";
relPaths[PROPERTIES] = "nuvola_kate16.png";
relPaths[URL] = "nuvola_browser16.png";
relPaths[PROJECT] = "nuvola_folder_darkblue_open16.png";
relPaths[DATASET] = "nuvola_folder_image16.png";
relPaths[IMAGE] = "nuvola_image16.png";
relPaths[ADD] = "nuvola_image16.png";
relPaths[REMOVE] = "nuvola_fileclose16.png";
relPaths[VIEW] = "viewer16.png";
relPaths[BROWSE] = "zoom16.png";
relPaths[OWNER] = "nuvola_kdmconfig16.png";
relPaths[ROOT] = "nuvola_trashcan_empty16.png";
relPaths[LIST_VIEW] = "nuvola_view_text16.png";
relPaths[GRID_VIEW] = "nuvola_view_multicolumn16.png";
relPaths[DOWNLOAD] = "nuvola_download_manager16.png";
relPaths[LEFT_ARROW] = "nuvola_1leftarrow16.png";
relPaths[RIGHT_ARROW] = "nuvola_1rightarrow16.png";
relPaths[DOUBLE_LEFT_ARROW] = "nuvola_2leftarrow16.png";
relPaths[DOUBLE_RIGHT_ARROW] = "nuvola_2rightarrow16.png";
relPaths[ORDER_BY_DATE] = "eclipse_trace_persp16.png";
relPaths[ORDER_BY_USER] = "nuvola_kdmconfig16.png";
relPaths[CLOSE] = "eclipse_alphab_sort_co16.png";
relPaths[EDIT] = "nuvola_editpaste16.png";
relPaths[INFO] = "nuvola_messagebox_info16.png";
relPaths[INFO_48] = "nuvola_messagebox_info48.png";
relPaths[PDF_DOC_22] = "nuvola_acroread22.png";
relPaths[TEXT_DOC_22] = "nuvola_txt22.png";
relPaths[WORD_DOC_22] = "alienOSX_Microsoft_Word22.png";
relPaths[PPT_DOC_22] = "alienOSX_Microsoft_PowerPoint22.png";
relPaths[EXCEL_DOC_22] = "alienOSX_Microsoft_Excel22.png";
relPaths[XML_DOC_22] = "txt_xml22.png";
relPaths[HTML_DOC_22] = "txt_html22.png";
relPaths[SAVE] = "nuvola_filesave16.png";
relPaths[COLUMNS_VIEW] = "nuvola_view_left_right16.png";
relPaths[UPLOAD] = "nuvola_download_manager_green_flipped16.png";
relPaths[SORT] = "nuvola_player_play_gray16.png";
relPaths[ATTACHMENT_48] = "nuvola_attach48.png";
relPaths[URL_48] = "nuvola_browser48.png";
relPaths[METADATA_48] = "nuvola_browser48.png";
relPaths[DOC] = "nuvola_kword16.png";
relPaths[TAG_12] = "nuvola_message12.png";
relPaths[SCREEN] = "nuvola_folder_blue_open_modified_screen16.png";
relPaths[PLATE] = "plate16.png";
relPaths[ATTACH] = "nuvola_attach16.png";
relPaths[ACQUISITION] = "nuvola_attach16.png";
relPaths[PLUS_9] = "plus.png";
relPaths[MINUS_9] = "minus.png";
relPaths[EDIT_8] = "nuvola_ksig8.png";
relPaths[EDIT_12] = "color_line-thin12.png";//nuvola_ksig11.png";
relPaths[EDIT_48] = "nuvola_ksig48.png";
relPaths[PLUS_12] = "plus11.png";
relPaths[MINUS_12] = "minus11.png";
relPaths[TAG_SET] = "nuvola_knotesRedRed16.png";
relPaths[DOWNLOAD_12] = "nuvola_download_manager11.png";
relPaths[MOVIE] = "crystal_video16.png";
relPaths[TEMPORARY_HISTOGRAM] = "histogram_temporary.png";
relPaths[HISTOGRAM] = "histogram16.png";
relPaths[CONTRAST_STRETCHING] = "openOffice_stock_new-drawing-16.png";
relPaths[PLANE_SLICING] = "openOffice_stock_new-labels-16.png";
relPaths[DOMAIN] = "nuvola_kmplot16.png";
relPaths[CODOMAIN] = "codomain16.png";
relPaths[RENDERER] = "render16.png";
relPaths[GRAYSCALE] = "grayscale16.png";
relPaths[RGB] = "rgb16.png";
relPaths[ANALYSE] = "nuvola_kchart16.png";
relPaths[ANALYSE_48] = "nuvola_kchart48.png";
relPaths[EXPORT_AS_OMETIFF] = "export16.png";
relPaths[EXPORT_AS_OMETIFF_48] = "export48.png";
relPaths[MOVIE_22] = "crystal_video22.png";
relPaths[EXPORT_22] = "export22.png";
relPaths[DOWNLOAD_22] = "nuvola_download_manager22.png";
relPaths[DOWNLOAD_48] = "nuvola_download_manager48.png";
relPaths[PUBLISHING] = "splitViewFigure16.png";
relPaths[SPLIT_VIEW] = "splitViewFigure16.png";
relPaths[SPLIT_VIEW_48] = "splitViewFigure48.png";
relPaths[ANALYSIS] = "nuvola_kcmsystem16.png";
relPaths[DELETE_12] = "nuvola_cancel11.png";
relPaths[ANALYSE_FRAP_22] = "FRAP22.png";
relPaths[ANALYSE_FRAP] = "FRAP16.png";
relPaths[ANALYSE_FRAP_48] = "FRAP48.png";
relPaths[PYTHON] = "tango_text-x-python16.png";
relPaths[MATLAB] = "crystal_source_cpp16.png";
relPaths[JAVA] = "tango_text-x-java-source16.png";
relPaths[CPP] = "crystal_source_cpp16.png";
relPaths[PYTHON_48] = "tango_text-x-python48.png";
relPaths[MATLAB_48] = "crystal_source_java48.png";
relPaths[JAVA_48] = "tango_text-x-java-source48.png";
relPaths[CPP_48] = "crystal_source_cpp48.png";
relPaths[ANALYSIS_48] = "nuvola_kcmsystem48.png";
relPaths[RND_RESET] = "nuvola_undo16.png";
relPaths[UP_DOWN_9_12] = "upDown.png";
relPaths[UPLOAD_SCRIPT] = "nuvola_script_add16.png";
relPaths[UPLOAD_SCRIPT_48] = "nuvola_script_add48.png";
relPaths[USER_PHOTO_22] = "nuvola_personal22.png"; //"nuvola_licq22.png";
relPaths[USER_PHOTO_48] = "nuvola_personal48.png";//"nuvola_licq48.png";
relPaths[USER_PHOTO_32] = "nuvola_personal32.png";
relPaths[RND_REDO] = "nuvola_redo16.png";
relPaths[RND_MIN_MAX] = "nuvola_rendering_minmax16.png";
relPaths[RND_OWNER] = "nuvola_rendering_owner16.png";
relPaths[RND_UNDO] = "nuvola_reset16.png";
relPaths[RND_APPLY_TO_ALL] = "rendering_applyAll16.png";
relPaths[ANALYSIS_RUN] = "nuvola_script_run16.png";
relPaths[BLACK_ARROW_DOWN] = "eclipse_view_menu16.png";
relPaths[TRANSPARENT_32] = "eclipse_transparent32.png";
relPaths[SCRIPT_WITH_UI] = "nuvola_script_ui16.png";
relPaths[SCRIPT_WITH_UI_22] = "nuvola_script_ui22.png";
relPaths[PREVIEW_THUMBNAILS_32] = "preview_thumbs32.png";
relPaths[TAGS_48] = "nuvola_knotes48.png";
relPaths[PLOT_12] = "nuvola_kmplot12.png";
relPaths[APPLY_22] = "nuvola_apply22.png";
relPaths[DELETE_22] = "nuvola_cancel22.png";
relPaths[FLIM_48] = "nuvola_messagebox_info48.png";
relPaths[SAVE_AS] = "download_image16.png";
relPaths[SAVE_AS_48] = "download_image48.png";
relPaths[SAVE_AS_22] = "download_image22.png";
relPaths[VIEWER] = "viewer16.png";
relPaths[VIEW_DOC_12] = "nuvola_editcopy12.png";
relPaths[VIEWER_IJ] = "imageJ16.png";
relPaths[FILE_PATH] = "icon_fs_path16.png";
relPaths[LINK] = "nuvola_enhanced_browsing16.png";
relPaths[COPY] = "eclipse_copy_edit16.png";
relPaths[PASTE] = "eclipse_paste_edit16.png";
relPaths[PLUS] = "nuvola_edit_add16.png";
}
/** The sole instance. */
private static IconManager singleton;
/**
* Returns the <code>IconManager</code> object.
*
* @return See above.
*/
public static IconManager getInstance()
{
if (singleton == null)
singleton = new IconManager(MetadataViewerAgent.getRegistry());
return singleton;
}
/**
* Creates a new instance and configures the parameters.
*
* @param registry Reference to the registry.
*/
private IconManager(Registry registry)
{
super(registry, "/resources/icons/Factory", relPaths);
}
}