1 /*
2 * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
93 */
94
95 public SunDragSourceContextPeer(DragGestureEvent dge) {
96 trigger = dge;
97 if (trigger != null) {
98 component = trigger.getComponent();
99 } else {
100 component = null;
101 }
102 }
103
104 /**
105 * Synchro messages in AWT
106 */
107 public void startSecondaryEventLoop(){}
108 public void quitSecondaryEventLoop(){}
109
110 /**
111 * initiate a DnD operation ...
112 */
113
114 public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
115 throws InvalidDnDOperationException {
116
117 /* Fix for 4354044: don't initiate a drag if event sequence provided by
118 * DragGestureRecognizer is empty */
119 if (getTrigger().getTriggerEvent() == null) {
120 throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
121 }
122
123 dragSourceContext = dsc;
124 cursor = c;
125 sourceActions = getDragSourceContext().getSourceActions();
126 dragImage = di;
127 dragImageOffset = p;
128
129 Transferable transferable = getDragSourceContext().getTransferable();
130 SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
131 getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
132 (getTrigger().getDragSource().getFlavorMap()));
133 long[] formats = DataTransferer.getInstance().
|
1 /*
2 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
93 */
94
95 public SunDragSourceContextPeer(DragGestureEvent dge) {
96 trigger = dge;
97 if (trigger != null) {
98 component = trigger.getComponent();
99 } else {
100 component = null;
101 }
102 }
103
104 /**
105 * Synchro messages in AWT
106 */
107 public void startSecondaryEventLoop(){}
108 public void quitSecondaryEventLoop(){}
109
110 /**
111 * initiate a DnD operation ...
112 */
113 @SuppressWarnings("static")
114 public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
115 throws InvalidDnDOperationException {
116
117 /* Fix for 4354044: don't initiate a drag if event sequence provided by
118 * DragGestureRecognizer is empty */
119 if (getTrigger().getTriggerEvent() == null) {
120 throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
121 }
122
123 dragSourceContext = dsc;
124 cursor = c;
125 sourceActions = getDragSourceContext().getSourceActions();
126 dragImage = di;
127 dragImageOffset = p;
128
129 Transferable transferable = getDragSourceContext().getTransferable();
130 SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
131 getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
132 (getTrigger().getDragSource().getFlavorMap()));
133 long[] formats = DataTransferer.getInstance().
|