1:
37:
38:
39: package ;
40:
41: import ;
42: import ;
43: import ;
44: import ;
45: import ;
46: import ;
47: import ;
48: import ;
49:
50:
53: public class DragSourceContext
54: implements DragSourceListener, DragSourceMotionListener, Serializable
55: {
56:
59: static final long serialVersionUID = -115407898692194719L;
60:
61: protected static final int DEFAULT = 0;
62: protected static final int ENTER = 1;
63: protected static final int OVER = 2;
64: protected static final int CHANGED = 3;
65:
66: private DragSourceContextPeer peer;
67: private Cursor cursor;
68: private Transferable transferable;
69: private DragGestureEvent trigger;
70: private DragSourceListener dragSourceListener;
71: private boolean useCustomCursor;
72: private int sourceActions;
73: private Image image;
74: private Point offset;
75:
76:
85: public DragSourceContext (DragSourceContextPeer peer,
86: DragGestureEvent trigger, Cursor cursor,
87: Image image, Point offset, Transferable trans,
88: DragSourceListener dsl)
89: {
90: if (peer == null
91: || trigger == null)
92: throw new NullPointerException ();
93:
94: if (trigger.getComponent () == null
95: || trigger.getDragSource () == null
96: || trigger.getDragAction () == DnDConstants.ACTION_NONE
97: || trigger.getSourceAsDragGestureRecognizer ()
98: .getSourceActions () == DnDConstants.ACTION_NONE)
99: throw new IllegalArgumentException ();
100:
101: this.peer = peer;
102: this.trigger = trigger;
103: this.cursor = cursor;
104: this.image = image;
105: this.offset = offset;
106: this.transferable = trans;
107: this.dragSourceListener = dsl;
108:
109: throw new Error ("not implemented");
110: }
111:
112: public DragSource getDragSource()
113: {
114: return trigger.getDragSource ();
115: }
116:
117: public Component getComponent()
118: {
119: return trigger.getComponent ();
120: }
121:
122: public DragGestureEvent getTrigger()
123: {
124: return trigger;
125: }
126:
127: public int getSourceActions()
128: {
129: return trigger.getSourceAsDragGestureRecognizer ().getSourceActions ();
130: }
131:
132: public void setCursor (Cursor cursor)
133: {
134: this.cursor = cursor;
135:
136: }
137:
138: public Cursor getCursor()
139: {
140: return cursor;
141: }
142:
143:
149: public void addDragSourceListener (DragSourceListener dsl)
150: throws TooManyListenersException
151: {
152: if (dragSourceListener != null)
153: throw new TooManyListenersException ();
154:
155: dragSourceListener = dsl;
156: }
157:
158: public void removeDragSourceListener (DragSourceListener dsl)
159: {
160: if (dragSourceListener == dsl)
161: dragSourceListener = null;
162: }
163:
164: public void transferablesFlavorsChanged()
165: {
166: }
167:
168: public void dragEnter(DragSourceDragEvent e)
169: {
170: }
171:
172: public void dragOver(DragSourceDragEvent e)
173: {
174: }
175:
176: public void dragExit(DragSourceEvent e)
177: {
178: }
179:
180: public void dropActionChanged(DragSourceDragEvent e)
181: {
182: }
183:
184: public void dragDropEnd(DragSourceDropEvent e)
185: {
186: }
187:
188: public void dragMouseMoved(DragSourceDragEvent e)
189: {
190: }
191:
192: public Transferable getTransferable()
193: {
194: return transferable;
195: }
196:
197: protected void updateCurrentCursor(int dropOp, int targetAct, int status)
198: {
199: }
200: }