Source code: org/eclipse/swt/widgets/ImageAction.java
1 package org.eclipse.swt.widgets;
2
3 import org.eclipse.jface.action.Action;
4 import org.eclipse.jface.resource.ImageDescriptor;
5 import org.eclipse.swt.graphics.Image;
6
7 import com.port80.util.Msg;
8
9 /**
10 * An Action that is backed by an existing image managed by ImageFactory instead of using
11 * ImageDescriptor. Use getImage() to get the icon associated with the action. getImage()
12 * return the managed and shared reference image and should not be disposed.
13 *
14 * @author chrisl
15 */
16 public class ImageAction extends Action implements IImageAction {
17
18 ////////////////////////////////////////////////////////////////////////
19
20 private static final String NAME="ImageAction";
21
22 ////////////////////////////////////////////////////////////////////////
23
24 private Image fImage;
25 private Image fDisabledImage;
26 private Image fHoverImage;
27 private Object fData;
28
29 ////////////////////////////////////////////////////////////////////////
30
31 public ImageAction() {}
32
33 public ImageAction(Image image) {
34 setImage(image);
35 }
36
37 ////////////////////////////////////////////////////////////////////////
38
39 public Image getImage() {
40 return fImage;
41 }
42
43 public Image getDisabledImage() {
44 return fDisabledImage;
45 }
46
47 public Image getHoverImage() {
48 return fHoverImage;
49 }
50
51 public Object getData() {
52 return fData;
53 }
54
55 public void setImage(Image image) {
56 fImage=image;
57 if(fDisabledImage==null) fDisabledImage=image;
58 if(fHoverImage==null) fHoverImage=image;
59 }
60
61 public void setDisabledImage(Image image) {
62 fDisabledImage=image;
63 }
64
65 public void setHoverImage(Image image) {
66 fHoverImage=image;
67 }
68
69 public void setData(Object a) {
70 fData=a;
71 }
72
73 ////////////////////////////////////////////////////////////////////////
74
75 public ImageDescriptor getImageDescriptor() {
76 Msg.err(NAME+".getImageDescriptor(): Should use getImage() instead");
77 return null;
78 }
79
80 public ImageDescriptor getDisabledImageDecriptor() {
81 Msg.err(NAME+".getImageDescriptor(): Should use getDisabledImage() instead");
82 return null;
83 }
84
85 public ImageDescriptor getHoverImageDecriptor() {
86 Msg.err(NAME+".getImageDescriptor(): Should use getHoverImage() instead");
87 return null;
88 }
89
90 public void setImageDescriptor() {
91 Msg.err(NAME+".setImageDescriptor(): Should use setImage() instead");
92 }
93
94 public ImageDescriptor setDisabledImageDecriptor() {
95 Msg.err(NAME+".setImageDescriptor(): Should use setDisabledImage() instead");
96 return null;
97 }
98
99 public ImageDescriptor setHoverImageDecriptor() {
100 Msg.err(NAME+".setImageDescriptor(): Should use setHoverImage() instead");
101 return null;
102 }
103
104 ////////////////////////////////////////////////////////////////////////
105
106 }