java.awt.dnd.InvalidDnDOperationException Java Examples

The following examples show how to use java.awt.dnd.InvalidDnDOperationException. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SunDropTargetContextPeer.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
void dispatchEvent(SunDropTargetEvent e) {
    int id = e.getID();

    switch (id) {
    case SunDropTargetEvent.MOUSE_ENTERED:
        dispatchEnterEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DRAGGED:
        dispatchMotionEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_EXITED:
        dispatchExitEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DROPPED:
        dispatchDropEvent(e);
        break;
    default:
        throw new InvalidDnDOperationException();
    }
}
 
Example #2
Source File: XDragSourceProtocol.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initializes a drag operation with the specified supported drop actions,
 * contents and data formats.
 *
 * @param actions a bitwise mask of <code>DnDConstants</code> that represent
 *                the supported drop actions.
 * @param contents the contents for the drag operation.
 * @param formats an array of Atoms that represent the supported data formats.
 * @param formats an array of Atoms that represent the supported data formats.
 * @throws InvalidDnDOperationException if a drag operation is already
 * initialized.
 * @throws IllegalArgumentException if some argument has invalid value.
 * @throws XException if some X call failed.
 */
public final void initializeDrag(int actions, Transferable contents,
                                 Map formatMap, long[] formats)
  throws InvalidDnDOperationException,
         IllegalArgumentException, XException {
    XToolkit.awtLock();
    try {
        try {
            if (initialized) {
                throw new InvalidDnDOperationException("Already initialized");
            }

            initializeDragImpl(actions, contents, formatMap, formats);

            initialized = true;
        } finally {
            if (!initialized) {
                cleanup();
            }
        }
    } finally {
        XToolkit.awtUnlock();
    }
}
 
Example #3
Source File: SunDropTargetContextPeer.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
void dispatchEvent(SunDropTargetEvent e) {
    int id = e.getID();

    switch (id) {
    case SunDropTargetEvent.MOUSE_ENTERED:
        dispatchEnterEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DRAGGED:
        dispatchMotionEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_EXITED:
        dispatchExitEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DROPPED:
        dispatchDropEvent(e);
        break;
    default:
        throw new InvalidDnDOperationException();
    }
}
 
Example #4
Source File: SunDropTargetContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
void dispatchEvent(SunDropTargetEvent e) {
    int id = e.getID();

    switch (id) {
    case SunDropTargetEvent.MOUSE_ENTERED:
        dispatchEnterEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DRAGGED:
        dispatchMotionEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_EXITED:
        dispatchExitEvent(e);
        break;
    case SunDropTargetEvent.MOUSE_DROPPED:
        dispatchDropEvent(e);
        break;
    default:
        throw new InvalidDnDOperationException();
    }
}
 
Example #5
Source File: XDragSourceProtocol.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initializes a drag operation with the specified supported drop actions,
 * contents and data formats.
 *
 * @param actions a bitwise mask of <code>DnDConstants</code> that represent
 *                the supported drop actions.
 * @param contents the contents for the drag operation.
 * @param formats an array of Atoms that represent the supported data formats.
 * @param formats an array of Atoms that represent the supported data formats.
 * @throws InvalidDnDOperationException if a drag operation is already
 * initialized.
 * @throws IllegalArgumentException if some argument has invalid value.
 * @throws XException if some X call failed.
 */
public final void initializeDrag(int actions, Transferable contents,
                                 Map formatMap, long[] formats)
  throws InvalidDnDOperationException,
         IllegalArgumentException, XException {
    XToolkit.awtLock();
    try {
        try {
            if (initialized) {
                throw new InvalidDnDOperationException("Already initialized");
            }

            initializeDragImpl(actions, contents, formatMap, formats);

            initialized = true;
        } finally {
            if (!initialized) {
                cleanup();
            }
        }
    } finally {
        XToolkit.awtUnlock();
    }
}
 
Example #6
Source File: SunDropTargetContextPeer.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * reject Drop
 */

public synchronized void rejectDrop() {
    if (dropStatus != STATUS_WAIT) {
        throw new InvalidDnDOperationException("invalid rejectDrop()");
    }
    dropStatus = STATUS_REJECT;
    /*
     * Fix for 4285634.
     * The target rejected the drop means that it doesn't perform any
     * drop action. This change is to make Solaris behavior consistent
     * with Win32.
     */
    currentDA = DnDConstants.ACTION_NONE;
    dropComplete(false);
}
 
Example #7
Source File: MotifDnDDragSourceProtocol.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
protected void initializeDragImpl(int actions, Transferable contents,
                                  Map formatMap, long[] formats)
  throws InvalidDnDOperationException,
    IllegalArgumentException, XException {

    long window = XDragSourceProtocol.getDragSourceWindow();

    /* Write the Motif DnD initiator info on the root XWindow. */
    try {
        int index = MotifDnDConstants.getIndexForTargetList(formats);

        MotifDnDConstants.writeDragInitiatorInfoStruct(window, index);
    } catch (XException xe) {
        cleanup();
        throw xe;
    } catch (InvalidDnDOperationException idoe) {
        cleanup();
        throw idoe;
    }

    if (!MotifDnDConstants.MotifDnDSelection.setOwner(contents, formatMap,
                                                      formats,
                                                      XConstants.CurrentTime)) {
        cleanup();
        throw new InvalidDnDOperationException("Cannot acquire selection ownership");
    }
}
 
Example #8
Source File: XToolkit.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
    final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
    if (f != null) {
        return f.createDragSourceContextPeer(dge);
    }

    return XDragSourceContextPeer.createDragSourceContextPeer(dge);
}
 
Example #9
Source File: MotifDnDDragSourceProtocol.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
protected void initializeDragImpl(int actions, Transferable contents,
                                  Map formatMap, long[] formats)
  throws InvalidDnDOperationException,
    IllegalArgumentException, XException {

    long window = XDragSourceProtocol.getDragSourceWindow();

    /* Write the Motif DnD initiator info on the root XWindow. */
    try {
        int index = MotifDnDConstants.getIndexForTargetList(formats);

        MotifDnDConstants.writeDragInitiatorInfoStruct(window, index);
    } catch (XException xe) {
        cleanup();
        throw xe;
    } catch (InvalidDnDOperationException idoe) {
        cleanup();
        throw idoe;
    }

    if (!MotifDnDConstants.MotifDnDSelection.setOwner(contents, formatMap,
                                                      formats,
                                                      XConstants.CurrentTime)) {
        cleanup();
        throw new InvalidDnDOperationException("Cannot acquire selection ownership");
    }
}
 
Example #10
Source File: MotifDnDDragSourceProtocol.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
protected void initializeDragImpl(int actions, Transferable contents,
                                  Map formatMap, long[] formats)
  throws InvalidDnDOperationException,
    IllegalArgumentException, XException {

    long window = XDragSourceProtocol.getDragSourceWindow();

    /* Write the Motif DnD initiator info on the root XWindow. */
    try {
        int index = MotifDnDConstants.getIndexForTargetList(formats);

        MotifDnDConstants.writeDragInitiatorInfoStruct(window, index);
    } catch (XException xe) {
        cleanup();
        throw xe;
    } catch (InvalidDnDOperationException idoe) {
        cleanup();
        throw idoe;
    }

    if (!MotifDnDConstants.MotifDnDSelection.setOwner(contents, formatMap,
                                                      formats,
                                                      XConstants.CurrentTime)) {
        cleanup();
        throw new InvalidDnDOperationException("Cannot acquire selection ownership");
    }
}
 
Example #11
Source File: XDragSourceContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
private void throwGrabFailureException(String msg, int grabStatus)
  throws InvalidDnDOperationException {
    String msgCause = "";
    switch (grabStatus) {
    case XConstants.GrabNotViewable:  msgCause = "not viewable";    break;
    case XConstants.AlreadyGrabbed:   msgCause = "already grabbed"; break;
    case XConstants.GrabInvalidTime:  msgCause = "invalid time";    break;
    case XConstants.GrabFrozen:       msgCause = "grab frozen";     break;
    default:                           msgCause = "unknown failure"; break;
    }
    throw new InvalidDnDOperationException(msg + ": " + msgCause);
}
 
Example #12
Source File: SunDropTargetContextPeer.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * rejectDrag
 */

public synchronized void rejectDrag() {
    if (currentDT == null) {
        throw new InvalidDnDOperationException("No Drag pending");
    }
    currentDA = DnDConstants.ACTION_NONE;
    dragRejected = true;
}
 
Example #13
Source File: SunDropTargetContextPeer.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * acceptDrag
 */

public synchronized void acceptDrag(int dragOperation) {
    if (currentDT == null) {
        throw new InvalidDnDOperationException("No Drag pending");
    }
    currentDA = mapOperation(dragOperation);
    if (currentDA != DnDConstants.ACTION_NONE) {
        dragRejected = false;
    }
}
 
Example #14
Source File: SunDragSourceContextPeer.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * initiate a DnD operation ...
 */

public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
  throws InvalidDnDOperationException {

    /* Fix for 4354044: don't initiate a drag if event sequence provided by
     * DragGestureRecognizer is empty */
    if (getTrigger().getTriggerEvent() == null) {
        throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
    }

    dragSourceContext = dsc;
    cursor            = c;
    sourceActions     = getDragSourceContext().getSourceActions();
    dragImage         = di;
    dragImageOffset   = p;

    Transferable transferable  = getDragSourceContext().getTransferable();
    SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
        getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
            (getTrigger().getDragSource().getFlavorMap()));
    long[] formats = DataTransferer.getInstance().
        keysToLongArray(formatMap);
    startDrag(transferable, formats, formatMap);

    /*
     * Fix for 4613903.
     * Filter out all mouse events that are currently on the event queue.
     */
    discardingMouseEvents = true;
    EventQueue.invokeLater(new Runnable() {
            public void run() {
                discardingMouseEvents = false;
            }
        });
}
 
Example #15
Source File: WToolkit.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
/**
 * create the peer for a DragSourceContext
 */

@Override
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
    final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
    if (f != null) {
        return f.createDragSourceContextPeer(dge);
    }

    return WDragSourceContextPeer.createDragSourceContextPeer(dge);
}
 
Example #16
Source File: SunDropTargetContextPeer.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
/**
 * signal drop complete
 */

public synchronized void dropComplete(boolean success) {
    if (dropStatus == STATUS_NONE) {
        throw new InvalidDnDOperationException("No Drop pending");
    }

    if (currentDTC != null) currentDTC.removeNotify();

    currentDT  = null;
    currentDTC = null;
    currentT   = null;
    currentA   = DnDConstants.ACTION_NONE;

    synchronized(_globalLock) {
        currentJVMLocalSourceTransferable = null;
    }

    dropStatus   = STATUS_NONE;
    dropComplete = true;

    try {
        doDropDone(success, currentDA, local != null);
    } finally {
        currentDA = DnDConstants.ACTION_NONE;
        // The native context is invalid after the drop is done.
        // Clear the reference to prohibit access.
        nativeDragContext = 0;
    }
}
 
Example #17
Source File: XToolkit.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
    final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
    if (f != null) {
        return f.createDragSourceContextPeer(dge);
    }

    return XDragSourceContextPeer.createDragSourceContextPeer(dge);
}
 
Example #18
Source File: SunDragSourceContextPeer.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * initiate a DnD operation ...
 */

public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
  throws InvalidDnDOperationException {

    /* Fix for 4354044: don't initiate a drag if event sequence provided by
     * DragGestureRecognizer is empty */
    if (getTrigger().getTriggerEvent() == null) {
        throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
    }

    dragSourceContext = dsc;
    cursor            = c;
    sourceActions     = getDragSourceContext().getSourceActions();
    dragImage         = di;
    dragImageOffset   = p;

    Transferable transferable  = getDragSourceContext().getTransferable();
    SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
        getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
            (getTrigger().getDragSource().getFlavorMap()));
    long[] formats = DataTransferer.getInstance().
        keysToLongArray(formatMap);
    startDrag(transferable, formats, formatMap);

    /*
     * Fix for 4613903.
     * Filter out all mouse events that are currently on the event queue.
     */
    discardingMouseEvents = true;
    EventQueue.invokeLater(new Runnable() {
            public void run() {
                discardingMouseEvents = false;
            }
        });
}
 
Example #19
Source File: XDragSourceContextPeer.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
/**
 * set cursor
 */

public void setCursor(Cursor c) throws InvalidDnDOperationException {
    XToolkit.awtLock();
    try {
        super.setCursor(c);
    } finally {
        XToolkit.awtUnlock();
    }
}
 
Example #20
Source File: XDragSourceContextPeer.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
private void throwGrabFailureException(String msg, int grabStatus)
  throws InvalidDnDOperationException {
    String msgCause = "";
    switch (grabStatus) {
    case XConstants.GrabNotViewable:  msgCause = "not viewable";    break;
    case XConstants.AlreadyGrabbed:   msgCause = "already grabbed"; break;
    case XConstants.GrabInvalidTime:  msgCause = "invalid time";    break;
    case XConstants.GrabFrozen:       msgCause = "grab frozen";     break;
    default:                           msgCause = "unknown failure"; break;
    }
    throw new InvalidDnDOperationException(msg + ": " + msgCause);
}
 
Example #21
Source File: XDragSourceContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * set cursor
 */

public void setCursor(Cursor c) throws InvalidDnDOperationException {
    XToolkit.awtLock();
    try {
        super.setCursor(c);
    } finally {
        XToolkit.awtUnlock();
    }
}
 
Example #22
Source File: WToolkit.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * create the peer for a DragSourceContext
 */

@Override
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
    final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
    if (f != null) {
        return f.createDragSourceContextPeer(dge);
    }

    return WDragSourceContextPeer.createDragSourceContextPeer(dge);
}
 
Example #23
Source File: SunDropTargetContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
public static void setCurrentJVMLocalSourceTransferable(Transferable t) throws InvalidDnDOperationException {
    synchronized(_globalLock) {
        if (t != null && currentJVMLocalSourceTransferable != null) {
                throw new InvalidDnDOperationException();
        } else {
            currentJVMLocalSourceTransferable = t;
        }
    }
}
 
Example #24
Source File: SunDropTargetContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * acceptDrag
 */

public synchronized void acceptDrag(int dragOperation) {
    if (currentDT == null) {
        throw new InvalidDnDOperationException("No Drag pending");
    }
    currentDA = mapOperation(dragOperation);
    if (currentDA != DnDConstants.ACTION_NONE) {
        dragRejected = false;
    }
}
 
Example #25
Source File: XDragSourceContextPeer.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * set cursor
 */

public void setCursor(Cursor c) throws InvalidDnDOperationException {
    XToolkit.awtLock();
    try {
        super.setCursor(c);
    } finally {
        XToolkit.awtUnlock();
    }
}
 
Example #26
Source File: SunDropTargetContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * signal drop complete
 */

public synchronized void dropComplete(boolean success) {
    if (dropStatus == STATUS_NONE) {
        throw new InvalidDnDOperationException("No Drop pending");
    }

    if (currentDTC != null) currentDTC.removeNotify();

    currentDT  = null;
    currentDTC = null;
    currentT   = null;
    currentA   = DnDConstants.ACTION_NONE;

    synchronized(_globalLock) {
        currentJVMLocalSourceTransferable = null;
    }

    dropStatus   = STATUS_NONE;
    dropComplete = true;

    try {
        doDropDone(success, currentDA, local != null);
    } finally {
        currentDA = DnDConstants.ACTION_NONE;
        // The native context is invalid after the drop is done.
        // Clear the reference to prohibit access.
        nativeDragContext = 0;
    }
}
 
Example #27
Source File: SunDragSourceContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * initiate a DnD operation ...
 */

public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
  throws InvalidDnDOperationException {

    /* Fix for 4354044: don't initiate a drag if event sequence provided by
     * DragGestureRecognizer is empty */
    if (getTrigger().getTriggerEvent() == null) {
        throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
    }

    dragSourceContext = dsc;
    cursor            = c;
    sourceActions     = getDragSourceContext().getSourceActions();
    dragImage         = di;
    dragImageOffset   = p;

    Transferable transferable  = getDragSourceContext().getTransferable();
    SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
        getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
            (getTrigger().getDragSource().getFlavorMap()));
    long[] formats = DataTransferer.getInstance().
        keysToLongArray(formatMap);
    startDrag(transferable, formats, formatMap);

    /*
     * Fix for 4613903.
     * Filter out all mouse events that are currently on the event queue.
     */
    discardingMouseEvents = true;
    EventQueue.invokeLater(new Runnable() {
            public void run() {
                discardingMouseEvents = false;
            }
        });
}
 
Example #28
Source File: SunDragSourceContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * set cursor
 */

public void setCursor(Cursor c) throws InvalidDnDOperationException {
    synchronized (this) {
        if (cursor == null || !cursor.equals(c)) {
            cursor = c;
            // NOTE: native context can be null at this point.
            // setNativeCursor() should handle it properly.
            setNativeCursor(getNativeContext(), c,
                            c != null ? c.getType() : 0);
        }
    }
}
 
Example #29
Source File: SunDragSourceContextPeer.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
public static void setDragDropInProgress(boolean b)
  throws InvalidDnDOperationException {
    synchronized (SunDragSourceContextPeer.class) {
        if (dragDropInProgress == b) {
            throw new InvalidDnDOperationException(getExceptionMessage(b));
        }
        dragDropInProgress = b;
    }
}
 
Example #30
Source File: XDragSourceContextPeer.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * set cursor
 */

public void setCursor(Cursor c) throws InvalidDnDOperationException {
    XToolkit.awtLock();
    try {
        super.setCursor(c);
    } finally {
        XToolkit.awtUnlock();
    }
}