Mercurial > projects > dwt-addons
annotate dwtx/jface/resource/FileImageDescriptor.d @ 73:6787ae179808
Fix FileImageDescriptor to work with compiletime data
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 22 May 2008 19:09:48 +0200 |
parents | 5df4896124c7 |
children | 7ffeace6c47f |
rev | line source |
---|---|
4 | 1 /******************************************************************************* |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
2 * Copyright (c) 2000, 2008 IBM Corporation and others. |
4 | 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 Corporation - initial API and implementation | |
10 * Port to the D programming language: | |
11 * Frank Benoit <benoit@tionex.de> | |
12 *******************************************************************************/ | |
13 module dwtx.jface.resource.FileImageDescriptor; | |
14 | |
15 import dwtx.jface.resource.ImageDescriptor; | |
16 | |
17 // import java.io.BufferedInputStream; | |
18 // import java.io.FileInputStream; | |
19 // import java.io.FileNotFoundException; | |
20 // import java.io.IOException; | |
21 // import java.io.InputStream; | |
22 | |
23 import dwt.DWT; | |
24 import dwt.DWTException; | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
25 import dwt.graphics.Device; |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
26 import dwt.graphics.Image; |
4 | 27 import dwt.graphics.ImageData; |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
28 import dwtx.core.runtime.Path; |
4 | 29 |
30 import dwt.dwthelper.utils; | |
31 import dwt.dwthelper.InputStream; | |
32 import dwt.dwthelper.FileInputStream; | |
33 import dwt.dwthelper.BufferedInputStream; | |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
34 import dwt.dwthelper.ByteArrayInputStream; |
4 | 35 |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
36 import tango.util.log.Trace; |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
37 import tango.text.convert.Format; |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
38 |
4 | 39 /** |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
40 * An image descriptor that loads its image information from a file. |
4 | 41 */ |
42 class FileImageDescriptor : ImageDescriptor { | |
43 | |
44 /** | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
45 * The class whose resource directory contain the file, or <code>null</code> |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
46 * if none. |
4 | 47 */ |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
48 // private ClassInfo location; |
4 | 49 |
50 /** | |
51 * The name of the file. | |
52 */ | |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
53 private String name; |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
54 private void[] importdata; |
4 | 55 |
56 /** | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
57 * Creates a new file image descriptor. The file has the given file name and |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
58 * is located in the given class's resource directory. If the given class is |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
59 * <code>null</code>, the file name must be absolute. |
4 | 60 * <p> |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
61 * Note that the file is not accessed until its <code>getImageDate</code> |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
62 * method is called. |
4 | 63 * </p> |
71 | 64 * |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
65 * @param clazz |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
66 * class for resource directory, or <code>null</code> |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
67 * @param filename |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
68 * the name of the file |
4 | 69 */ |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
70 this(ImportData importdata) { |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
71 // this.location = clazz; |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
72 this.name = importdata.name; |
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
73 this.importdata = importdata.data; |
4 | 74 } |
75 | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
76 /* |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
77 * (non-Javadoc) Method declared on Object. |
4 | 78 */ |
43
ea8ff534f622
Fix override and super aliases
Frank Benoit <benoit@tionex.de>
parents:
40
diff
changeset
|
79 public override int opEquals(Object o) { |
4 | 80 if (!( cast(FileImageDescriptor)o )) { |
81 return false; | |
82 } | |
83 FileImageDescriptor other = cast(FileImageDescriptor) o; | |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
84 // if (location !is null) { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
85 // if ( location.name != other.location.name ) { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
86 // return false; |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
87 // } |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
88 // } else { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
89 // if (other.location !is null) { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
90 // return false; |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
91 // } |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
92 // } |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
93 return importdata == other.importdata; |
4 | 94 } |
95 | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
96 /** |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
97 * @see dwtx.jface.resource.ImageDescriptor#getImageData() The |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
98 * FileImageDescriptor implementation of this method is not used by |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
99 * {@link ImageDescriptor#createImage(bool, Device)} as of version |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
100 * 3.4 so that the DWT OS optimised loading can be used. |
4 | 101 */ |
43
ea8ff534f622
Fix override and super aliases
Frank Benoit <benoit@tionex.de>
parents:
40
diff
changeset
|
102 public override ImageData getImageData() { |
4 | 103 InputStream in_ = getStream(); |
104 ImageData result = null; | |
105 if (in_ !is null) { | |
106 try { | |
107 result = new ImageData(in_); | |
108 } catch (DWTException e) { | |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
109 if (e.code !is DWT.ERROR_INVALID_IMAGE /+&& e.code !is DWT.ERROR_UNSUPPORTED_FORMAT+/) { |
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
110 Trace.formatln( "FileImageDescriptor getImageData DWTException for name={}", name ); |
4 | 111 throw e; |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
112 // fall through otherwise |
4 | 113 } |
114 } finally { | |
115 in_.close(); | |
116 } | |
117 } | |
118 return result; | |
119 } | |
120 | |
121 /** | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
122 * Returns a stream on the image contents. Returns null if a stream could |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
123 * not be opened. |
4 | 124 * |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
125 * @return the buffered stream on the file or <code>null</code> if the |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
126 * file cannot be found |
4 | 127 */ |
128 private InputStream getStream() { | |
129 InputStream is_ = null; | |
130 | |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
131 // if (location !is null) { |
40
da5ad8eedf5d
debug prints, dwt.dwthelper restructure, ...
Frank Benoit <benoit@tionex.de>
parents:
38
diff
changeset
|
132 // Trace.formatln( "FileImageDescriptor getStream importdata.length={} name={}",importdata.length, name ); |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
133 is_ = new ByteArrayInputStream(cast(byte[]) importdata); |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
134 // is_ = ClassInfoGetResourceAsStream( location, name); |
4 | 135 |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
136 // } else { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
137 // try { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
138 // is_ = new FileInputStream(name); |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
139 // } catch (/+FileNotFoundException+/ IOException e) { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
140 // return null; |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
141 // } |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
142 // } |
4 | 143 if (is_ is null) { |
144 return null; | |
145 } | |
71 | 146 return new BufferedInputStream(is_); |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
147 |
4 | 148 } |
149 | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
150 /* |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
151 * (non-Javadoc) Method declared on Object. |
4 | 152 */ |
153 public override hash_t toHash() { | |
38
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
154 int code = dwt.dwthelper.utils.toHash(cast(char[])importdata/+name+/); |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
155 // if (location !is null) { |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
156 // code += location.toHash(); |
c884a1ab6db3
resource loading, fix type in image names
Frank Benoit <benoit@tionex.de>
parents:
4
diff
changeset
|
157 // } |
4 | 158 return code; |
159 } | |
160 | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
161 /* |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
162 * (non-Javadoc) Method declared on Object. |
4 | 163 */ |
164 /** | |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
165 * The <code>FileImageDescriptor</code> implementation of this |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
166 * <code>Object</code> method returns a string representation of this |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
167 * object which is suitable only for debugging. |
4 | 168 */ |
169 public override String toString() { | |
72
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
170 return Format("FileImageDescriptor(name={})", name );//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$ |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
171 } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
172 |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
173 /* |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
174 * (non-Javadoc) |
71 | 175 * |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
176 * @see dwtx.jface.resource.ImageDescriptor#createImage(bool, |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
177 * dwt.graphics.Device) |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
178 */ |
73
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
179 public override Image createImage(bool returnMissingImageOnError, Device device) { |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
180 if( importdata.length is 0 ){ |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
181 String path = getFilePath(); |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
182 if (path is null ) |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
183 return createDefaultImage(returnMissingImageOnError, device); |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
184 try { |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
185 return new Image(device, path); |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
186 } catch (DWTException exception) { |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
187 //if we fail try the default way using a stream |
6787ae179808
Fix FileImageDescriptor to work with compiletime data
Frank Benoit <benoit@tionex.de>
parents:
72
diff
changeset
|
188 } |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
189 } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
190 return super.createImage(returnMissingImageOnError, device); |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
191 } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
192 |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
193 /** |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
194 * Return default image if returnMissingImageOnError is true. |
71 | 195 * |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
196 * @param device |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
197 * @return Image or <code>null</code> |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
198 */ |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
199 private Image createDefaultImage(bool returnMissingImageOnError, |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
200 Device device) { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
201 try { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
202 if (returnMissingImageOnError) |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
203 return new Image(device, DEFAULT_IMAGE_DATA); |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
204 } catch (DWTException nextException) { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
205 return null; |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
206 } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
207 return null; |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
208 } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
209 |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
210 /** |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
211 * Returns the filename for the ImageData. |
71 | 212 * |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
213 * @return {@link String} or <code>null</code> if the file cannot be found |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
214 */ |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
215 private String getFilePath() { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
216 |
72
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
217 // if (location is null) |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
218 // return (new Path(name)).toOSString(); |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
219 // |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
220 // URL resource = location.getResource(name); |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
221 // |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
222 // if (resource is null) |
5df4896124c7
JFace and its examples do compile
Frank Benoit <benoit@tionex.de>
parents:
71
diff
changeset
|
223 // return null; |
70
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
224 // try { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
225 // if (JFaceActivator.getBundleContext() is null) {// Stand-alone case |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
226 // |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
227 // return new Path(resource.getFile()).toOSString(); |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
228 // } |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
229 // return new Path(FileLocator.toFileURL(resource).getPath()).toOSString(); |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
230 return null; |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
231 // } catch (IOException e) { |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
232 // Policy.logException(e); |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
233 // return null; |
46a6e0e6ccd4
Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents:
43
diff
changeset
|
234 // } |
4 | 235 } |
236 } |