Copyright header update, 2015 edition
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / uml2sd / drawings / impl / ImageImpl.java
CommitLineData
73005152 1/**********************************************************************
ed902a2b 2 * Copyright (c) 2005, 2014 IBM Corporation, Ericsson
73005152
BH
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
abbdd66a
AM
7 *
8 * Contributors:
c8422608
AM
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
73005152 11 **********************************************************************/
c8422608 12
2bdf0193 13package org.eclipse.tracecompass.tmf.ui.views.uml2sd.drawings.impl;
73005152 14
e6ace8bb 15import java.net.MalformedURLException;
73005152
BH
16import java.net.URL;
17
18import org.eclipse.jface.resource.ImageDescriptor;
73005152 19import org.eclipse.swt.graphics.Image;
2bdf0193
AM
20import org.eclipse.tracecompass.internal.tmf.ui.Activator;
21import org.eclipse.tracecompass.tmf.ui.views.uml2sd.drawings.IImage;
73005152
BH
22
23/**
df0b8ff4 24 * Default implementation of the IImage interface.
abbdd66a 25 *
df0b8ff4 26 * @version 1.0
73005152 27 * @author sveyrier
abbdd66a 28 *
73005152
BH
29 */
30public class ImageImpl implements IImage {
31
df0b8ff4
BH
32 // ------------------------------------------------------------------------
33 // Attributes
34 // ------------------------------------------------------------------------
abbdd66a 35
eb63f5ff
BH
36 /**
37 * The image reference
38 */
cab6c8ff 39 private final Image fImage;
73005152 40
df0b8ff4
BH
41 // ------------------------------------------------------------------------
42 // Constructors
43 // ------------------------------------------------------------------------
44 /**
45 * Default constructor.
abbdd66a 46 *
df0b8ff4
BH
47 * @param file A file name of image file.
48 */
73005152 49 public ImageImpl(String file) {
eb63f5ff 50 fImage = createResourceImage(file);
73005152
BH
51 }
52
df0b8ff4
BH
53 /**
54 * Copy constructor
abbdd66a 55 *
eb63f5ff 56 * @param image THe image to copy
df0b8ff4 57 */
eb63f5ff
BH
58 public ImageImpl(Image image) {
59 fImage = image;
73005152 60 }
df0b8ff4
BH
61
62 // ------------------------------------------------------------------------
63 // Methods
64 // ------------------------------------------------------------------------
65 /**
66 * Returns Image object from file name.
abbdd66a 67 *
eb63f5ff 68 * @param name File name of image file
df0b8ff4
BH
69 * @return image object or <code>null</code>
70 */
eb63f5ff
BH
71 public Image getResourceImage(String name) {
72 return createResourceImage(name);
73005152
BH
73 }
74
75 @Override
76 public Object getImage() {
eb63f5ff 77 return fImage;
73005152
BH
78 }
79
80 @Override
81 public void dispose() {
eb63f5ff
BH
82 if (fImage != null) {
83 fImage.dispose();
84 }
85 }
86
87 /**
88 * Returns Image object from file name.
abbdd66a 89 *
eb63f5ff
BH
90 * @param name File name of image file
91 * @return image object or <code>null</code>
92 */
abbdd66a 93 private static Image createResourceImage(String name) {
eb63f5ff
BH
94 try {
95 URL BASIC_URL = new URL("platform", "localhost", "plugin");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
96 URL url = new URL(BASIC_URL, "plugin/org.eclipse.linuxtools.tmf.ui/icons/" + name);//$NON-NLS-1$
97 ImageDescriptor img = ImageDescriptor.createFromURL(url);
98 return img.createImage();
99 } catch (MalformedURLException e) {
8fd82db5 100 Activator.getDefault().logError("Error opening image file", e); //$NON-NLS-1$
df0b8ff4 101 }
eb63f5ff 102 return null;
73005152 103 }
eb63f5ff 104
73005152 105}
This page took 0.080945 seconds and 5 git commands to generate.