/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* XDragSourceProtocol implementation for XDnD protocol.
*
* @since 1.5
*/
super(listener);
}
/**
* Creates an instance associated with the specified listener.
*
* @throws NullPointerException if listener is <code>null</code>.
*/
return new XDnDDragSourceProtocol(listener);
}
return XDragAndDropProtocols.XDnD;
}
/**
* Performs protocol-specific drag initialization.
*
* @returns true if the initialized successfully.
*/
throws InvalidDnDOperationException,
assert XToolkit.isAWTLockHeldByCurrentThread();
int action_count = 0;
try {
action_count++;
}
action_count++;
}
action_count++;
}
data, action_count);
cleanup();
throw new XException("Cannot write XdndActionList property");
}
} finally {
data = 0;
}
try {
cleanup();
throw new XException("Cannot write XdndActionList property");
}
} finally {
data = 0;
}
cleanup();
throw new InvalidDnDOperationException("Cannot acquire selection ownership");
}
}
/* Ignore XDnD messages from all other windows. */
return true;
}
/* This feature is new in XDnD version 2, but we can use it as XDnD
compliance only requires supporting version 3 and up. */
}
return true;
}
/* Ignore XDnD messages from all other windows. */
return true;
}
if (getTargetProtocolVersion() >= 5) {
} else {
}
finalizeDrop();
return true;
}
return processXdndStatus(xclient);
return processXdndFinished(xclient);
} else {
return false;
}
}
assert XToolkit.isAWTLockHeldByCurrentThread();
false, XConstants.AnyPropertyType);
long proxy = 0;
int protocolVersion =
try {
}
} finally {
}
if (proxy != 0) {
try {
proxy = 0;
} else {
0, 1, false,
try {
proxy = 0;
}
} finally {
}
}
} finally {
}
}
}
} else {
}
return null;
}
assert XToolkit.isAWTLockHeldByCurrentThread();
assert getTargetWindow() != 0;
try {
long data1 =
false, XConstants.NoEventMask,
} finally {
}
}
assert XToolkit.isAWTLockHeldByCurrentThread();
assert getTargetWindow() != 0;
try {
false, XConstants.NoEventMask,
} finally {
}
}
assert XToolkit.isAWTLockHeldByCurrentThread();
assert getTargetWindow() != 0;
try {
false, XConstants.NoEventMask,
} finally {
}
}
int sourceAction, int sourceActions,
long time) {
assert XToolkit.isAWTLockHeldByCurrentThread();
assert getTargetWindow() != 0;
try {
false, XConstants.NoEventMask,
} finally {
}
}
long sourceWindow) {
}
// This can happen if the drag operation started in the XEmbed server.
// In this case there is no need to forward it elsewhere, we should
// process it here.
return false;
}
" xclient=" + xclient);
}
assert XToolkit.isAWTLockHeldByCurrentThread();
false, XConstants.NoEventMask,
return true;
}
return false;
}
// TODO: register this runnable with XDnDSelection.
public void run() {
// XdndSelection ownership lost.
cleanup();
}
}