53 private int sourceProtocolVersion = 0;
54 private int sourceActions = DnDConstants.ACTION_NONE;
55 private long[] sourceFormats = null;
56 private boolean trackSourceActions = false;
57 private int userAction = DnDConstants.ACTION_NONE;
58 private int sourceX = 0;
59 private int sourceY = 0;
60 private XWindow targetXWindow = null;
61
62 // XEmbed stuff.
63 private long prevCtxt = 0;
64 private boolean overXEmbedClient = false;
65
66 protected XDnDDropTargetProtocol(XDropTargetProtocolListener listener) {
67 super(listener);
68 }
69
70 /**
71 * Creates an instance associated with the specified listener.
72 *
73 * @throws NullPointerException if listener is <code>null</code>.
74 */
75 static XDropTargetProtocol createInstance(XDropTargetProtocolListener listener) {
76 return new XDnDDropTargetProtocol(listener);
77 }
78
79 public String getProtocolName() {
80 return XDragAndDropProtocols.XDnD;
81 }
82
83 public void registerDropTarget(long window) {
84 assert XToolkit.isAWTLockHeldByCurrentThread();
85
86 long data = Native.allocateLongArray(1);
87
88 try {
89 Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION);
90
91 XErrorHandlerUtil.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
92 XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1);
93 XErrorHandlerUtil.RESTORE_XERROR_HANDLER();
|
53 private int sourceProtocolVersion = 0;
54 private int sourceActions = DnDConstants.ACTION_NONE;
55 private long[] sourceFormats = null;
56 private boolean trackSourceActions = false;
57 private int userAction = DnDConstants.ACTION_NONE;
58 private int sourceX = 0;
59 private int sourceY = 0;
60 private XWindow targetXWindow = null;
61
62 // XEmbed stuff.
63 private long prevCtxt = 0;
64 private boolean overXEmbedClient = false;
65
66 protected XDnDDropTargetProtocol(XDropTargetProtocolListener listener) {
67 super(listener);
68 }
69
70 /**
71 * Creates an instance associated with the specified listener.
72 *
73 * @throws NullPointerException if listener is {@code null}.
74 */
75 static XDropTargetProtocol createInstance(XDropTargetProtocolListener listener) {
76 return new XDnDDropTargetProtocol(listener);
77 }
78
79 public String getProtocolName() {
80 return XDragAndDropProtocols.XDnD;
81 }
82
83 public void registerDropTarget(long window) {
84 assert XToolkit.isAWTLockHeldByCurrentThread();
85
86 long data = Native.allocateLongArray(1);
87
88 try {
89 Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION);
90
91 XErrorHandlerUtil.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
92 XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1);
93 XErrorHandlerUtil.RESTORE_XERROR_HANDLER();
|