/* * org.openmicroscopy.shoola.agents.dataBrowser.IconManager * *------------------------------------------------------------------------------ * Copyright (C) 2006-2014 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.dataBrowser; //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 TreeViewer. * <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 TreeViewer'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>Zoom in</code> icon. */ public static final int ZOOM_IN = 0; /** The <code>Zoom out</code> icon. */ public static final int ZOOM_OUT = 1; /** The <code>Thumbnail view</code> icon. */ public static final int THUMBNAIL_VIEW = 2; /** The <code>Column view</code> icon. */ public static final int COLUMN_VIEW = 3; /** The 48x48 <code>Filtering</code> icon. */ public static final int FILTERING_48 = 4; /** The <code>Filtering</code> icon. */ public static final int FILTERING = 5; /** The <code>Slide Show View</code> icon. */ public static final int SLIDE_SHOW_VIEW = 6; /** The <code>Metadata</code> icon. */ public static final int METADATA = 7; /** The <code>Pin</code> icon. */ public static final int PIN = 8; /** The <code>Pause</code> icon. */ public static final int PAUSE = 9; /** The <code>Forward</code> icon. */ public static final int FORWARD = 10; /** The <code>Backward</code> icon. */ public static final int BACKWARD = 11; /** The <code>Previous</code> icon. */ public static final int PREVIOUS = 12; /** The <code>Next</code> icon. */ public static final int NEXT = 13; /** The <code>Image</code> icon. */ public static final int IMAGE = 14; /** The <code>Dataset</code> icon. */ public static final int DATASET = 15; /** The <code>Project</code> icon. */ public static final int PROJECT = 16; /** The <code>Annotation</code> icon. */ public static final int ANNOTATION = 17; /** The <code>Transparent</code> icon. */ public static final int TRANSPARENT = 18; /** The <code>Annotation 8</code> icon. */ public static final int ANNOTATION_8 = 19; /** The <code>Manager</code> icon. */ public static final int MANAGER = 20; /** The <code>Roll Over</code> icon. */ public static final int ROLL_OVER = 21; /** The <code>Create</code> icon. */ public static final int CREATE = 22; /** The 48x48 <code>Create</code> icon. */ public static final int CREATE_48 = 23; /** The <code>Sort by date</code> icon. */ public static final int SORT_BY_DATE = 24; /** The <code>Sort by name</code> icon. */ public static final int SORT_BY_NAME = 25; /** The <code>View</code> icon. */ public static final int VIEWER = 26; /** The <code>Copy</code> icon. */ public static final int COPY = 27; /** The <code>Paste</code> icon. */ public static final int PASTE = 28; /** The <code>Remove</code> icon. */ public static final int REMOVE = 29; /** The <code>Refresh</code> icon. */ public static final int REFRESH = 30; /** The <code>Cut</code> icon. */ public static final int CUT = 31; /** The <code>Undo</code> icon. */ public static final int UNDO = 32; /** The <code>Tag</code> icon. */ public static final int SET_ORIGINAL_RND_SETTINGS = 33; /** The 8x8 <code>Owner</code> icon. */ public static final int OWNER_8 = 34; /** The <code>Image annotated</code> icon. */ public static final int IMAGE_ANNOTATED = 35; /** The <code>Save as</code> icon. */ public static final int SAVE_AS = 36; /** The <code>Report</code> icon. */ public static final int REPORT = 37; /** The <48x48 code>Report</code> icon. */ public static final int REPORT_48 = 38; /** The 48x48 <code>Save As</code> icon. */ public static final int SAVE_AS_48 = 39; /** The <code>Tag</code> icon. */ public static final int TAG = 40; /** The 8x8 <code>Edit</code> icon. */ public static final int EDIT_8 = 41; /** The 48x48 <code>Dataset</code> icon. */ public static final int DATASET_48 = 42; /** The <code>Field View</code> icon. */ public static final int FIELDS_VIEW = 43; /** The <code>Rendering Settings redo</code> icon. */ public static final int RND_REDO = 44; /** The <code>Rendering Settings Min-Max</code> icon. */ public static final int RND_MIN_MAX = 45; /** The <code>Rendering Settings Owner</code> icon. */ public static final int RND_OWNER = 46; /** The 48x48 <code>filter by tags</code> icon. */ public static final int TAG_FILTER_48 = 47; /** The <code>filter by tags</code> icon. */ public static final int TAG_FILTER = 48; /** The <code>filter by Menu</code> icon. */ public static final int FILTER_BY_MENU = 49; /** The <code>Send comment</code> icon. */ public static final int SEND_COMMENT = 50; /** The <code>Personal</code> icon. */ public static final int PERSONAL = 51; /** The <code>Private Group</code> icon. */ public static final int PRIVATE_GROUP = 52; /** The <code>Read Group</code> icon. */ public static final int READ_GROUP = 53; /** The <code>Read Link Group</code> icon. */ public static final int READ_LINK_GROUP = 54; /** The <code>Public Group</code> icon. */ public static final int PUBLIC_GROUP = 55; /** The <code>ImageJ Viewer</code> icon. */ public static final int VIEWER_IJ = 56; /** The <code>Read Link Group</code> icon. */ public static final int READ_WRITE_GROUP = 57; /** The <code>KNIME Viewer</code> icon. */ public static final int VIEWER_KNIME = 58; /** The 8x8 <code>Owner</code> icon. */ public static final int NOT_OWNER_8 = 50; /** The <code>Owner</code> icon. */ public static final int OWNER = 60; /** The <code>Owner Not Active</code> icon. */ public static final int OWNER_NOT_ACTIVE = 61; /** The <code>Owner Not Active</code> icon. */ public static final int PASSWORD = 62; /** The <code>Download</code> icon. */ public static final int DOWNLOAD = 63; /** The <code>Download</code> icon. */ public static final int DOWNLOAD_48 = 64; /** * The maximum ID used for the icon IDs. * Allows to correctly build arrays for direct indexing. */ private static final int MAX_ID = 64; /** Paths of the icon files. */ private static String[] relPaths = new String[MAX_ID+1]; static { relPaths[ZOOM_IN] = "nuvola_viewmag+16.png"; relPaths[ZOOM_OUT] = "nuvola_viewmag-16.png"; relPaths[THUMBNAIL_VIEW] = "nuvola_view_multicolumn16.png"; relPaths[COLUMN_VIEW] = "nuvola_view_text16.png"; relPaths[FILTERING_48] = "nuvola_view_text16.png"; relPaths[FILTERING] = "filter_grey16.png"; relPaths[SLIDE_SHOW_VIEW] = "nuvola_background16.png"; relPaths[METADATA] = "eclipse_filter_ps16.png"; relPaths[PIN] = "nuvola_attach16.png"; relPaths[PAUSE] = "nuvola_player_pause16.png"; relPaths[FORWARD] = "nuvola_player_play16.png"; relPaths[BACKWARD] = "nuvola_flipped_player_play16.png"; relPaths[PREVIOUS] = "nuvola_1leftarrow16.png"; relPaths[NEXT] = "nuvola_1rightarrow16.png"; relPaths[IMAGE] = "nuvola_image16.png"; relPaths[DATASET] = "nuvola_folder_image16.png"; relPaths[PROJECT] = "nuvola_folder_blue_open16.png"; relPaths[ANNOTATION] = "nuvola_knotes16.png"; relPaths[TRANSPARENT] = "eclipse_transparent16.png"; relPaths[ANNOTATION_8] = "nuvola_knotes8.png"; relPaths[MANAGER] = "eclipse_external_tools16.png"; relPaths[ROLL_OVER] = "roll_over_image16.png"; relPaths[CREATE] = "nuvola_filenew16.png"; relPaths[CREATE_48] = "nuvola_filenew48.png"; relPaths[SORT_BY_DATE] = "eclipse_trace_persp16.png"; relPaths[SORT_BY_NAME] = "eclipse_alphab_sort_co16.png"; relPaths[VIEWER] = "viewer16.png"; relPaths[COPY] = "eclipse_copy_edit16.png"; relPaths[PASTE] = "eclipse_paste_edit16.png"; relPaths[REMOVE] = "eclipse_delete_edit16.png"; relPaths[REFRESH] = "nuvola_reload16.png"; relPaths[CUT] = "nuvola_editcut16.png"; relPaths[UNDO] = "nuvola_undo16.png"; relPaths[OWNER_8] = "nuvola_kdmconfig8.png"; relPaths[IMAGE_ANNOTATED] = "tagged_image16.png"; relPaths[SET_ORIGINAL_RND_SETTINGS] = "nuvola_redo16.png"; relPaths[SAVE_AS] = "nuvola_filesaveas16.png"; relPaths[REPORT] = "nuvola_style16.png"; relPaths[REPORT_48] = "nuvola_style48.png"; relPaths[SAVE_AS_48] = "nuvola_filesaveas48.png"; relPaths[TAG] = "nuvola_knotes16.png"; relPaths[EDIT_8] = "nuvola_ksig8.png"; relPaths[DATASET_48] = "nuvola_folder_image48.png"; relPaths[FIELDS_VIEW] = "nuvola_view_multicolumn16.png"; relPaths[RND_REDO] = "nuvola_undo16.png"; relPaths[RND_MIN_MAX] = "nuvola_rendering_minmax16.png"; relPaths[RND_OWNER] = "rendering_owner16.png"; relPaths[TAG_FILTER_48] = "nuvola_knotes48.png"; relPaths[TAG_FILTER] = "eclipse_filter_ps16.png"; relPaths[FILTER_BY_MENU] = "eclipse_view_menu16.png"; relPaths[SEND_COMMENT] = "nuvola_mail_send16.png"; relPaths[PRIVATE_GROUP] = "nuvola_ledred16.png"; relPaths[READ_GROUP] = "nuvola_ledorange_readOnly16.png"; relPaths[READ_LINK_GROUP] = "nuvola_ledorange16.png"; relPaths[READ_WRITE_GROUP] = "nuvola_ledorange16.png"; relPaths[PUBLIC_GROUP] = "nuvola_ledgreen16.png"; relPaths[PERSONAL] = "nuvola_personal16.png"; relPaths[VIEWER_IJ] = "imageJ16.png"; relPaths[VIEWER_KNIME] = "knimeIcon16.png"; relPaths[NOT_OWNER_8] = "red_dot8.png"; relPaths[OWNER] = "nuvola_kdmconfig_modified16.png"; relPaths[OWNER_NOT_ACTIVE] = "nuvola_kdmconfig_modified_grey16.png"; relPaths[PASSWORD] = "nuvola_download_manager_rotated16.png"; relPaths[DOWNLOAD] = "nuvola_download_manager16.png"; relPaths[DOWNLOAD_48] = "nuvola_download_manager48.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(DataBrowserAgent.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); } }