Fix references to linuxtools in comments, examples and unused code
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / uml2sd / drawings / impl / ImageImpl.java
1 /**********************************************************************
2 * Copyright (c) 2005, 2015 IBM Corporation, Ericsson
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
7 *
8 * Contributors:
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
11 **********************************************************************/
12
13 package org.eclipse.tracecompass.tmf.ui.views.uml2sd.drawings.impl;
14
15 import java.net.MalformedURLException;
16 import java.net.URL;
17
18 import org.eclipse.jface.resource.ImageDescriptor;
19 import org.eclipse.swt.graphics.Image;
20 import org.eclipse.tracecompass.internal.tmf.ui.Activator;
21 import org.eclipse.tracecompass.tmf.ui.views.uml2sd.drawings.IImage;
22
23 /**
24 * Default implementation of the IImage interface.
25 *
26 * @version 1.0
27 * @author sveyrier
28 *
29 */
30 public class ImageImpl implements IImage {
31
32 // ------------------------------------------------------------------------
33 // Attributes
34 // ------------------------------------------------------------------------
35
36 /**
37 * The image reference
38 */
39 private final Image fImage;
40
41 // ------------------------------------------------------------------------
42 // Constructors
43 // ------------------------------------------------------------------------
44 /**
45 * Default constructor.
46 *
47 * @param file A file name of image file.
48 */
49 public ImageImpl(String file) {
50 fImage = createResourceImage(file);
51 }
52
53 /**
54 * Copy constructor
55 *
56 * @param image THe image to copy
57 */
58 public ImageImpl(Image image) {
59 fImage = image;
60 }
61
62 // ------------------------------------------------------------------------
63 // Methods
64 // ------------------------------------------------------------------------
65 /**
66 * Returns Image object from file name.
67 *
68 * @param name File name of image file
69 * @return image object or <code>null</code>
70 */
71 public Image getResourceImage(String name) {
72 return createResourceImage(name);
73 }
74
75 @Override
76 public Object getImage() {
77 return fImage;
78 }
79
80 @Override
81 public void dispose() {
82 if (fImage != null) {
83 fImage.dispose();
84 }
85 }
86
87 /**
88 * Returns Image object from file name.
89 *
90 * @param name File name of image file
91 * @return image object or <code>null</code>
92 */
93 private static Image createResourceImage(String name) {
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.tracecompass.tmf.ui/icons/" + name);//$NON-NLS-1$
97 ImageDescriptor img = ImageDescriptor.createFromURL(url);
98 return img.createImage();
99 } catch (MalformedURLException e) {
100 Activator.getDefault().logError("Error opening image file", e); //$NON-NLS-1$
101 }
102 return null;
103 }
104
105 }
This page took 0.03529 seconds and 5 git commands to generate.