bump product version to 7.6.3.2-android
[LibreOffice.git] / sot / source / base / formats.cxx
blob0b3d80120022eedb820f298f2c73cd7e2f864a69
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include <sot/exchange.hxx>
21 #include <sot/formats.hxx>
22 #include <sot/filelist.hxx>
23 #include <sysformats.hxx>
24 #include <comphelper/classids.hxx>
25 #include <comphelper/fileformat.h>
26 #include <o3tl/char16_t2wchar_t.hxx>
27 #include <tools/globname.hxx>
28 #include <tools/stream.hxx>
29 #include <com/sun/star/datatransfer/DataFlavor.hpp>
30 #include <com/sun/star/datatransfer/UnsupportedFlavorException.hpp>
31 #include <com/sun/star/datatransfer/XTransferable.hpp>
33 using namespace ::com::sun::star::uno;
34 using namespace ::com::sun::star::datatransfer;
36 // define a context check Id for every formatid
37 #define FILEGRPDSC_ONLY_URL 1
40 * For each target there is exactly one SotDestinationEntry_Impl in the table.
41 * This entry contains, among other things, a default action for each format
42 * that can be evaluated by the target. The default actions refer to the table
43 * to be evaluated for each format, i.e., they contain only EXCHG_IN_ACTION_MOVE,
44 * EXCHG_IN_ACTION_COPY, or EXCHG_IN_ACTION_LINK. Corresponding to this action,
45 * aMoveActions, aCopyActions, or aLinkActions is then evaluated. The actions
46 * are sorted by priority, i.e., the "more important" is the format, the sooner
47 * it appears in the list.
50 namespace {
52 struct SotDestinationEntry_Impl
54 SotExchangeDest nDestination;
55 const SotAction_Impl* aDefaultActions;
56 const SotAction_Impl* aMoveActions;
57 const SotAction_Impl* aCopyActions;
58 const SotAction_Impl* aLinkActions;
62 * Via this table, the destination, existing data formats and the desired action
63 * are assigned to an action and the data format to be used in it. The table is
64 * sorted by the Exchange destinations (EXCHG_DEST_*). Within the goal entry are
65 * exactly four tables for default, move, copy and link actions. The mapping
66 * between default action (DropEvent::IsDefaultAction()) and the resulting real
67 * action is done via the default table. This table therefore contains only the
68 * EXCHG_IN_ACTION_COPY, EXCHG_IN_ACTION_MOVE, and EXCHG_IN_ACTION_LINK actions
69 * that point to the specific table. The other tables can contain any actions.
70 * Each table is sorted by format priority. Entry zero has the highest priority.
73 SotAction_Impl const aEmptyArr[] =
75 { static_cast<SotClipboardFormatId>(0xffff), 0 }
78 /* --- DOC_OLEOBJ --- */
79 SotAction_Impl const aEXCHG_DEST_DOC_OLEOBJ_Def[] =
81 { SotClipboardFormatId::INET_IMAGE, EXCHG_IN_ACTION_LINK },
82 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_LINK },
83 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
84 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK },
85 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_LINK },
86 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
87 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_LINK },
88 { static_cast<SotClipboardFormatId>(0xffff), 0 }
90 SotAction_Impl const aEXCHG_DEST_DOC_OLEOBJ_Move[] =
92 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP },
93 { static_cast<SotClipboardFormatId>(0xffff), 0 }
95 SotAction_Impl const aEXCHG_DEST_DOC_OLEOBJ_Link[] =
97 { SotClipboardFormatId::INET_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
98 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
99 { SotClipboardFormatId::FILE_LIST, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
100 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
101 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
102 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
103 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
104 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP },
105 { static_cast<SotClipboardFormatId>(0xffff), 0 }
108 /* --- CHARTDOC_OLEOBJ --- */
109 SotAction_Impl const aEXCHG_DEST_CHARTDOC_OLEOBJ_Def[] =
111 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
112 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK },
113 { SotClipboardFormatId::INET_IMAGE, EXCHG_IN_ACTION_LINK },
114 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_LINK },
115 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_LINK },
116 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
117 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_LINK },
118 { static_cast<SotClipboardFormatId>(0xffff), 0 }
120 SotAction_Impl const aEXCHG_DEST_CHARTDOC_OLEOBJ_Move[] =
122 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP },
123 { static_cast<SotClipboardFormatId>(0xffff), 0 }
125 SotAction_Impl const aEXCHG_DEST_CHARTDOC_OLEOBJ_Link[] =
127 { SotClipboardFormatId::FILE_LIST, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
128 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
129 { SotClipboardFormatId::INET_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
130 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
131 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
132 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
133 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE },
134 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP },
135 { static_cast<SotClipboardFormatId>(0xffff), 0 }
138 /* --- DOC_TEXTFRAME --- */
139 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_Def[] =
141 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
142 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
143 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
144 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
145 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
146 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
147 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
148 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
149 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
150 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
151 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY },
152 { SotClipboardFormatId::INET_IMAGE, EXCHG_IN_ACTION_COPY },
153 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY },
154 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
155 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
156 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
157 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
158 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
159 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
160 { SotClipboardFormatId::SD_OLE, EXCHG_IN_ACTION_MOVE },
161 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_IN_ACTION_MOVE },
162 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE },
163 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE },
164 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE },
165 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
166 { static_cast<SotClipboardFormatId>(0xffff), 0 }
168 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_Move[] =
170 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_MOVE },
171 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
172 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
173 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
174 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
175 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
176 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE },
177 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE },
178 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
179 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
180 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
181 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
182 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
183 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
184 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
185 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
186 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
187 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
188 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
189 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE },
190 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE },
191 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE },
192 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
193 { static_cast<SotClipboardFormatId>(0xffff), 0 }
195 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_Copy[] =
197 { SotClipboardFormatId::SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY },
198 { SotClipboardFormatId::SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
199 { SotClipboardFormatId::SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
200 { SotClipboardFormatId::XFORMS, EXCHG_IN_ACTION_COPY },
201 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
202 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
203 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
204 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
205 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
206 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
207 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
208 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE },
209 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE },
210 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
211 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
212 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
213 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
214 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
215 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
216 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
217 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
218 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
219 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
220 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
221 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE },
222 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE },
223 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE },
224 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP,SotExchangeActionFlags::InsertTargetUrl, 0 },
225 { static_cast<SotClipboardFormatId>(0xffff), 0 }
227 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_Link[] =
229 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_LINK },
230 { SotClipboardFormatId::SBA_DATAEXCHANGE, EXCHG_IN_ACTION_LINK },
231 { SotClipboardFormatId::SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_LINK },
232 { SotClipboardFormatId::SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_LINK },
233 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
234 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
235 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
236 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
237 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
238 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
239 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
240 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
241 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
242 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
243 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
244 { static_cast<SotClipboardFormatId>(0xffff), 0 }
247 /* --- DOC_TEXTFRAME_WEB --- */
248 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_WEB_Def[] =
250 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
251 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
252 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
253 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
254 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
255 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
256 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
257 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
258 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
259 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY },
260 { SotClipboardFormatId::INET_IMAGE, EXCHG_IN_ACTION_COPY },
261 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY },
262 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
263 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
264 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
265 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
266 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
267 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
268 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
269 { static_cast<SotClipboardFormatId>(0xffff), 0 }
271 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_WEB_Move[] =
273 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_MOVE },
274 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
275 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
276 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
277 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
278 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
279 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
280 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
281 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
282 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
283 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
284 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
285 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
286 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
287 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
288 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE },
289 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
290 { static_cast<SotClipboardFormatId>(0xffff), 0 }
292 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_WEB_Copy[] =
294 { SotClipboardFormatId::SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY },
295 { SotClipboardFormatId::SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
296 { SotClipboardFormatId::SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
297 { SotClipboardFormatId::XFORMS, EXCHG_IN_ACTION_COPY },
298 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
299 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
300 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
301 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
302 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
303 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
304 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
305 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
306 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
307 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
308 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
309 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
310 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
311 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
312 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
313 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
314 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE },
315 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
316 { static_cast<SotClipboardFormatId>(0xffff), 0 }
318 SotAction_Impl const aEXCHG_DEST_DOC_TEXTFRAME_WEB_Link[] =
320 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_LINK },
321 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
322 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
323 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
324 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
325 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
326 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
327 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
328 { static_cast<SotClipboardFormatId>(0xffff), 0 }
331 /* --- DOC_GRAPHOBJ --- */
332 SotAction_Impl const aEXCHG_DEST_DOC_GRAPHOBJ_Def[] =
334 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
335 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
336 { SotClipboardFormatId::PDF, EXCHG_IN_ACTION_COPY },
337 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
338 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
339 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
340 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
341 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
342 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
343 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
344 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
345 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
346 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
347 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
348 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
349 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
350 { static_cast<SotClipboardFormatId>(0xffff), 0 }
352 SotAction_Impl const aEXCHG_DEST_DOC_GRAPHOBJ_Move[] =
354 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
355 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
356 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
357 { SotClipboardFormatId::PDF, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
358 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
359 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
360 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
361 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
362 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
363 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
364 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
365 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
366 { static_cast<SotClipboardFormatId>(0xffff), 0 }
368 SotAction_Impl const aEXCHG_DEST_DOC_GRAPHOBJ_Copy[] =
370 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
371 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
372 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
373 { SotClipboardFormatId::PDF, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
374 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
375 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
376 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
377 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
378 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
379 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
380 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
381 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
382 { static_cast<SotClipboardFormatId>(0xffff), 0 }
384 SotAction_Impl const aEXCHG_DEST_DOC_GRAPHOBJ_Link[] =
386 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
387 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
388 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
389 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
390 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
391 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
392 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
393 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
394 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
395 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
396 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
397 { static_cast<SotClipboardFormatId>(0xffff), 0 }
400 /* --- DOC_LNKD_GRAPHOBJ --- */
401 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Def[] =
403 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
404 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
405 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
406 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
407 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
408 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
409 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
410 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
411 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
412 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
413 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
414 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
415 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
416 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
417 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
418 { static_cast<SotClipboardFormatId>(0xffff), 0 }
420 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Move[] =
422 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
423 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
424 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
425 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
426 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
427 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
428 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
429 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
430 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
431 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
432 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
433 { static_cast<SotClipboardFormatId>(0xffff), 0 }
435 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Copy[] =
437 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
438 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
439 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
440 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
441 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
442 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
443 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
444 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
445 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
446 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
447 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
448 { static_cast<SotClipboardFormatId>(0xffff), 0 }
450 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Link[] =
452 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
453 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
454 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
455 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
456 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
457 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
458 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
459 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
460 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
461 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
462 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
463 { static_cast<SotClipboardFormatId>(0xffff), 0 }
466 /* --- DOC_GRAPH_W_IMAP --- */
467 SotAction_Impl const aEXCHG_DEST_DOC_GRAPH_W_IMAP_Def[] =
469 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
470 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
471 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
472 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
473 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
474 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
475 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
476 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
477 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
478 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
479 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
480 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
481 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
482 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
483 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
484 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
485 { static_cast<SotClipboardFormatId>(0xffff), 0 }
487 SotAction_Impl const aEXCHG_DEST_DOC_GRAPH_W_IMAP_Move[] =
489 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
490 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
491 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
492 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
493 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
494 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
495 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
496 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
497 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
498 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
499 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
500 { static_cast<SotClipboardFormatId>(0xffff), 0 }
502 SotAction_Impl const aEXCHG_DEST_DOC_GRAPH_W_IMAP_Copy[] =
504 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
505 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
506 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
507 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
508 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
509 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
510 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
511 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
512 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
513 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
514 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
515 { static_cast<SotClipboardFormatId>(0xffff), 0 }
517 SotAction_Impl const aEXCHG_DEST_DOC_GRAPH_W_IMAP_Link[] =
519 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
520 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
521 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
522 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
523 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
524 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
525 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
526 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
527 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
528 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
529 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
530 { static_cast<SotClipboardFormatId>(0xffff), 0 }
533 /* --- DOC_LNKD_GRAPH_W_IMAP --- */
534 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Def[] =
536 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
537 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
538 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
539 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
540 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
541 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
542 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
543 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
544 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
545 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
546 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
547 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
548 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
549 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
550 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
551 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
552 { static_cast<SotClipboardFormatId>(0xffff), 0 }
554 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Move[] =
556 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
557 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
558 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
559 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
560 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
561 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
562 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
563 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
564 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
565 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
566 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::ReplaceImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
567 { static_cast<SotClipboardFormatId>(0xffff), 0 }
569 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Copy[] =
571 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
572 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
573 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
574 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
575 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
576 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
577 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
578 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
579 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
580 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
581 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
582 { static_cast<SotClipboardFormatId>(0xffff), 0 }
584 SotAction_Impl const aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Link[] =
586 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
587 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
588 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
589 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
590 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
591 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
592 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
593 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
594 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
595 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
596 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
597 { static_cast<SotClipboardFormatId>(0xffff), 0 }
600 /* --- DOC_IMAPREGION --- */
601 SotAction_Impl const aEXCHG_DEST_DOC_IMAPREGION_Def[] =
603 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
604 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
605 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
606 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
607 { static_cast<SotClipboardFormatId>(0xffff), 0 }
609 SotAction_Impl const aEXCHG_DEST_DOC_IMAPREGION_Copy[] =
611 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
612 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
613 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
614 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertTargetUrl, 0 },
615 { static_cast<SotClipboardFormatId>(0xffff), 0 }
618 /* --- DOC_DRAWOBJ --- */
619 SotAction_Impl const aEXCHG_DEST_DOC_DRAWOBJ_Def[] =
621 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
622 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
623 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
624 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
625 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
626 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
627 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
628 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
629 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
630 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
631 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
632 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
633 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
634 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
635 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
636 { static_cast<SotClipboardFormatId>(0xffff), 0 }
638 SotAction_Impl const aEXCHG_DEST_DOC_DRAWOBJ_Copy[] =
640 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
641 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
642 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
643 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
644 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
645 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
646 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
647 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
648 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
649 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
650 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
651 { static_cast<SotClipboardFormatId>(0xffff), 0 }
653 SotAction_Impl const aEXCHG_DEST_DOC_DRAWOBJ_Move[] =
655 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
656 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
657 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
658 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
659 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
660 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
661 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
662 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
663 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
664 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
665 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
666 { static_cast<SotClipboardFormatId>(0xffff), 0 }
668 SotAction_Impl const aEXCHG_DEST_DOC_DRAWOBJ_Link[] =
670 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
671 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
672 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
673 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
674 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
675 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
676 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
677 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
678 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
679 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
680 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
681 { static_cast<SotClipboardFormatId>(0xffff), 0 }
684 /* --- DOC_URLBUTTON --- */
685 SotAction_Impl const aEXCHG_DEST_DOC_URLBUTTON_Def[] =
687 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
688 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
689 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
690 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
691 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
692 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
693 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
694 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
695 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
696 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
697 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
698 { static_cast<SotClipboardFormatId>(0xffff), 0 }
700 SotAction_Impl const aEXCHG_DEST_DOC_URLBUTTON_Move[] =
702 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::InsertTargetUrl, 0 },
703 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::InsertTargetUrl, 0 },
704 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::InsertTargetUrl, 0 },
705 { static_cast<SotClipboardFormatId>(0xffff), 0 }
707 SotAction_Impl const aEXCHG_DEST_DOC_URLBUTTON_Copy[] =
709 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertTargetUrl, 0 },
710 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertTargetUrl, 0 },
711 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertTargetUrl, 0 },
712 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
713 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
714 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
715 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
716 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
717 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
718 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
719 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertTargetUrl, 0 },
720 { static_cast<SotClipboardFormatId>(0xffff), 0 }
723 /* --- DOC_URLFIELD --- */
724 SotAction_Impl const aEXCHG_DEST_DOC_URLFIELD_Def[] =
726 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
727 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
728 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
729 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
730 { static_cast<SotClipboardFormatId>(0xffff), 0 }
732 SotAction_Impl const aEXCHG_DEST_DOC_URLFIELD_Copy[] =
734 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
735 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
736 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
737 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertTargetUrl, 0 },
738 { static_cast<SotClipboardFormatId>(0xffff), 0 }
740 SotAction_Impl const aEXCHG_DEST_DOC_URLFIELD_Link[] =
742 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_HYPERLINK },
743 { static_cast<SotClipboardFormatId>(0xffff), 0 }
746 /* --- DOC_GROUPOBJ --- */
747 SotAction_Impl const aEXCHG_DEST_DOC_GROUPOBJ_Def[] =
749 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
750 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
751 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
752 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
753 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
754 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
755 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
756 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
757 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
758 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
759 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
760 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
761 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
762 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
763 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
764 { static_cast<SotClipboardFormatId>(0xffff), 0 }
766 SotAction_Impl const aEXCHG_DEST_DOC_GROUPOBJ_Move[] =
768 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
769 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
770 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
771 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
772 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
773 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
774 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
775 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
776 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
777 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
778 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
779 { static_cast<SotClipboardFormatId>(0xffff), 0 }
781 SotAction_Impl const aEXCHG_DEST_DOC_GROUPOBJ_Copy[] =
783 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
784 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
785 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
786 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
787 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
788 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
789 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
790 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
791 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
792 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
793 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
794 { static_cast<SotClipboardFormatId>(0xffff), 0 }
796 SotAction_Impl const aEXCHG_DEST_DOC_GROUPOBJ_Link[] =
798 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
799 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
800 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
801 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
802 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
803 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
804 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
805 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
806 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
807 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
808 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES, SotExchangeActionFlags::InsertTargetUrl, 0 },
809 { static_cast<SotClipboardFormatId>(0xffff), 0 }
812 /* --- SWDOC_FREE_AREA --- */
813 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_Def[] =
815 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
816 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
817 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
818 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
819 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
820 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY },
821 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY },
822 { SotClipboardFormatId::SVIM, EXCHG_IN_ACTION_COPY },
823 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY },
824 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
825 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
826 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
827 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
828 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
829 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
830 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
831 { SotClipboardFormatId::PDF, EXCHG_IN_ACTION_COPY },
832 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
833 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
834 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
835 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY },
836 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
837 { SotClipboardFormatId::SD_OLE, EXCHG_IN_ACTION_MOVE },
838 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_IN_ACTION_MOVE },
839 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE },
840 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE },
841 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE },
842 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
843 { static_cast<SotClipboardFormatId>(0xffff), 0 }
845 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_Move[] =
847 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_MOVE },
848 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
849 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
850 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
851 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
852 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
853 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
854 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
855 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
856 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
857 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
858 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
859 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
860 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING },
861 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
862 { SotClipboardFormatId::PDF, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
863 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
864 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
865 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
866 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
867 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
868 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
869 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
870 { static_cast<SotClipboardFormatId>(0xffff), 0 }
872 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_Copy[] =
874 { SotClipboardFormatId::SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY },
875 { SotClipboardFormatId::SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
876 { SotClipboardFormatId::SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY },
877 { SotClipboardFormatId::XFORMS, EXCHG_IN_ACTION_COPY },
878 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
879 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
880 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
881 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
882 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
883 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
884 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
885 { SotClipboardFormatId::RICHTEXT, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
886 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
887 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
888 #ifndef MACOSX
889 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
890 #endif
891 { SotClipboardFormatId::PDF, EXCHG_OUT_ACTION_INSERT_GRAPH, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
892 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
893 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
894 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
895 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
896 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
897 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
898 #ifdef MACOSX
899 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
900 #endif
901 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
902 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
903 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
904 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
905 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
906 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
907 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
908 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
909 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
910 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
911 { static_cast<SotClipboardFormatId>(0xffff), 0 }
913 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_Link[] =
915 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_LINK },
916 { SotClipboardFormatId::SBA_DATAEXCHANGE, EXCHG_IN_ACTION_LINK },
917 { SotClipboardFormatId::SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_LINK },
918 { SotClipboardFormatId::SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_LINK },
919 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
920 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
921 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
922 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
923 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
924 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
925 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
926 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
927 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
928 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
929 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
930 { static_cast<SotClipboardFormatId>(0xffff), 0 }
933 /* --- SWDOC_FREE_AREA_WEB --- */
934 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Def[] =
936 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
937 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
938 { SotClipboardFormatId::SOLK, EXCHG_IN_ACTION_COPY },
939 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
940 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
941 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
942 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY },
943 { SotClipboardFormatId::SVIM, EXCHG_IN_ACTION_COPY },
944 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY },
945 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
946 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
947 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
948 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
949 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
950 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
951 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
952 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
953 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
954 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY },
955 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
956 { static_cast<SotClipboardFormatId>(0xffff), 0 }
958 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Move[] =
960 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_MOVE },
961 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
962 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
963 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
964 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
965 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
966 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
967 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
968 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING },
969 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
970 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
971 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
972 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
973 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
974 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
975 { static_cast<SotClipboardFormatId>(0xffff), 0 }
977 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Copy[] =
979 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
980 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
981 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
982 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
983 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
984 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
985 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
986 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
987 { SotClipboardFormatId::RTF, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
988 { SotClipboardFormatId::NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
989 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
990 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
991 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
992 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
993 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
994 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
995 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
996 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
997 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
998 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
999 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1001 SotAction_Impl const aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Link[] =
1003 { SotClipboardFormatId::SONLK, EXCHG_IN_ACTION_LINK },
1004 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
1005 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1006 { SotClipboardFormatId::SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1007 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1008 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
1009 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1010 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1011 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1014 /* --- SCDOC_FREE_AREA --- */
1015 SotAction_Impl const aEXCHG_DEST_SCDOC_FREE_AREA_Def[] =
1017 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
1018 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
1019 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
1020 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
1021 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
1022 { SotClipboardFormatId::SVIM, EXCHG_IN_ACTION_COPY },
1023 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
1024 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
1025 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
1026 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
1027 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
1028 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
1029 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
1030 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
1031 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
1032 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
1033 { SotClipboardFormatId::SD_OLE, EXCHG_IN_ACTION_MOVE },
1034 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_IN_ACTION_MOVE },
1035 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE },
1036 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE },
1037 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE },
1038 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
1039 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1041 SotAction_Impl const aEXCHG_DEST_SCDOC_FREE_AREA_Move[] =
1043 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
1044 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1045 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1046 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1047 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1048 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1049 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1050 { SotClipboardFormatId::BIFF_5, EXCHG_IN_ACTION_MOVE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1051 { SotClipboardFormatId::BIFF__5,EXCHG_IN_ACTION_MOVE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1052 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1053 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1054 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1055 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
1056 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE,SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1057 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1058 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1059 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1060 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1061 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1062 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1063 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
1064 { SotClipboardFormatId::BIFF_8, EXCHG_IN_ACTION_MOVE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1065 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1067 SotAction_Impl const aEXCHG_DEST_SCDOC_FREE_AREA_Copy[] =
1069 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
1070 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1071 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1072 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1073 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1074 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1075 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1076 { SotClipboardFormatId::BIFF_5, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
1077 { SotClipboardFormatId::BIFF__5,EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
1078 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1079 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1080 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1081 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1082 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1083 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1084 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1085 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
1086 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1087 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
1088 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1089 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1090 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1091 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1092 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
1093 { SotClipboardFormatId::BIFF_8, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::InsertTargetUrl, 0 },
1094 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1096 SotAction_Impl const aEXCHG_DEST_SCDOC_FREE_AREA_Link[] =
1098 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
1099 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1100 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1101 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
1102 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1103 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1104 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1105 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1106 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1107 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1108 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1111 /* --- SDDOC_FREE_AREA --- */
1112 SotAction_Impl const aEXCHG_DEST_SDDOC_FREE_AREA_Def[] =
1114 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
1115 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_COPY },
1116 { SotClipboardFormatId::HTML, EXCHG_IN_ACTION_COPY },
1117 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY },
1118 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_IN_ACTION_COPY },
1119 { SotClipboardFormatId::SVIM, EXCHG_IN_ACTION_COPY },
1120 { SotClipboardFormatId::STRING, EXCHG_IN_ACTION_COPY },
1121 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY },
1122 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, SotExchangeActionFlags::NONE, FILEGRPDSC_ONLY_URL },
1123 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY },
1124 { SotClipboardFormatId::DRAWING, EXCHG_IN_ACTION_COPY },
1125 { SotClipboardFormatId::SVXB, EXCHG_IN_ACTION_COPY },
1126 { SotClipboardFormatId::GDIMETAFILE, EXCHG_IN_ACTION_COPY },
1127 { SotClipboardFormatId::PNG, EXCHG_IN_ACTION_COPY },
1128 { SotClipboardFormatId::JPEG, EXCHG_IN_ACTION_COPY },
1129 { SotClipboardFormatId::BITMAP, EXCHG_IN_ACTION_COPY },
1130 { SotClipboardFormatId::SD_OLE, EXCHG_IN_ACTION_MOVE },
1131 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_IN_ACTION_MOVE },
1132 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE },
1133 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE },
1134 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE },
1135 { SotClipboardFormatId::LINK, EXCHG_IN_ACTION_MOVE },
1136 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1138 SotAction_Impl const aEXCHG_DEST_SDDOC_FREE_AREA_Move[] =
1140 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_MOVE },
1141 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1142 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1143 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1144 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1145 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1146 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1147 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1148 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1149 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1150 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
1151 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1152 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1153 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1154 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1155 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1156 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1157 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1158 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
1159 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1161 SotAction_Impl const aEXCHG_DEST_SDDOC_FREE_AREA_Copy[] =
1163 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_COPY },
1164 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_OUT_ACTION_INSERT_FILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1165 { SotClipboardFormatId::DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1166 { SotClipboardFormatId::SVXB, EXCHG_OUT_ACTION_INSERT_SVXB, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1167 { SotClipboardFormatId::SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1168 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1169 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1170 { SotClipboardFormatId::GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1171 { SotClipboardFormatId::PNG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1172 { SotClipboardFormatId::JPEG, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1173 { SotClipboardFormatId::BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1174 { SotClipboardFormatId::HTML, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1175 { SotClipboardFormatId::HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1176 { SotClipboardFormatId::HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1177 { SotClipboardFormatId::STRING, EXCHG_OUT_ACTION_INSERT_STRING, SotExchangeActionFlags::InsertTargetUrl, 0 },
1178 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1179 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
1180 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1181 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1182 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1183 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1184 { SotClipboardFormatId::SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, SotExchangeActionFlags::InsertTargetUrl, 0 },
1185 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1187 SotAction_Impl const aEXCHG_DEST_SDDOC_FREE_AREA_Link[] =
1189 { SotClipboardFormatId::FILE_LIST, EXCHG_IN_ACTION_LINK },
1190 { SotClipboardFormatId::SIMPLE_FILE, EXCHG_IN_ACTION_LINK, SotExchangeActionFlags::InsertImageMap | SotExchangeActionFlags::InsertTargetUrl, 0 },
1191 { SotClipboardFormatId::NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1192 { SotClipboardFormatId::FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, FILEGRPDSC_ONLY_URL },
1193 { SotClipboardFormatId::UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK, SotExchangeActionFlags::InsertTargetUrl, 0 },
1194 { SotClipboardFormatId::LINK, EXCHG_OUT_ACTION_INSERT_DDE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1195 { SotClipboardFormatId::EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1196 { SotClipboardFormatId::EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1197 { SotClipboardFormatId::EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1198 { SotClipboardFormatId::EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, SotExchangeActionFlags::InsertTargetUrl, 0 },
1199 { static_cast<SotClipboardFormatId>(0xffff), 0 }
1202 /* --- exchange destinations --- */
1203 SotDestinationEntry_Impl const aDestinationArray[] =
1205 { SotExchangeDest::DOC_OLEOBJ,
1206 aEXCHG_DEST_DOC_OLEOBJ_Def,
1207 aEXCHG_DEST_DOC_OLEOBJ_Move,
1208 aEmptyArr,
1209 aEXCHG_DEST_DOC_OLEOBJ_Link
1211 { SotExchangeDest::CHARTDOC_OLEOBJ,
1212 aEXCHG_DEST_CHARTDOC_OLEOBJ_Def,
1213 aEXCHG_DEST_CHARTDOC_OLEOBJ_Move,
1214 aEmptyArr,
1215 aEXCHG_DEST_CHARTDOC_OLEOBJ_Link
1217 { SotExchangeDest::DOC_TEXTFRAME,
1218 aEXCHG_DEST_DOC_TEXTFRAME_Def,
1219 aEXCHG_DEST_DOC_TEXTFRAME_Move,
1220 aEXCHG_DEST_DOC_TEXTFRAME_Copy,
1221 aEXCHG_DEST_DOC_TEXTFRAME_Link
1223 { SotExchangeDest::DOC_GRAPHOBJ,
1224 aEXCHG_DEST_DOC_GRAPHOBJ_Def,
1225 aEXCHG_DEST_DOC_GRAPHOBJ_Move,
1226 aEXCHG_DEST_DOC_GRAPHOBJ_Copy,
1227 aEXCHG_DEST_DOC_GRAPHOBJ_Link
1229 { SotExchangeDest::DOC_LNKD_GRAPHOBJ,
1230 aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Def,
1231 aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Move,
1232 aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Copy,
1233 aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Link
1235 { SotExchangeDest::DOC_GRAPH_W_IMAP,
1236 aEXCHG_DEST_DOC_GRAPH_W_IMAP_Def,
1237 aEXCHG_DEST_DOC_GRAPH_W_IMAP_Move,
1238 aEXCHG_DEST_DOC_GRAPH_W_IMAP_Copy,
1239 aEXCHG_DEST_DOC_GRAPH_W_IMAP_Link
1241 { SotExchangeDest::DOC_LNKD_GRAPH_W_IMAP,
1242 aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Def,
1243 aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Move,
1244 aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Copy,
1245 aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Link
1247 { SotExchangeDest::DOC_IMAPREGION,
1248 aEXCHG_DEST_DOC_IMAPREGION_Def,
1249 aEXCHG_DEST_DOC_IMAPREGION_Copy,
1250 aEmptyArr,
1251 aEmptyArr
1253 { SotExchangeDest::DOC_DRAWOBJ,
1254 aEXCHG_DEST_DOC_DRAWOBJ_Def,
1255 aEXCHG_DEST_DOC_DRAWOBJ_Copy,
1256 aEXCHG_DEST_DOC_DRAWOBJ_Move,
1257 aEXCHG_DEST_DOC_DRAWOBJ_Link
1259 { SotExchangeDest::DOC_URLBUTTON,
1260 aEXCHG_DEST_DOC_URLBUTTON_Def,
1261 aEXCHG_DEST_DOC_URLBUTTON_Move,
1262 aEXCHG_DEST_DOC_URLBUTTON_Copy,
1263 aEmptyArr
1265 { SotExchangeDest::DOC_URLFIELD,
1266 aEXCHG_DEST_DOC_URLFIELD_Def,
1267 aEmptyArr,
1268 aEXCHG_DEST_DOC_URLFIELD_Copy,
1269 aEXCHG_DEST_DOC_URLFIELD_Link
1271 { SotExchangeDest::DOC_GROUPOBJ,
1272 aEXCHG_DEST_DOC_GROUPOBJ_Def,
1273 aEXCHG_DEST_DOC_GROUPOBJ_Move,
1274 aEXCHG_DEST_DOC_GROUPOBJ_Copy,
1275 aEXCHG_DEST_DOC_GROUPOBJ_Link
1277 { SotExchangeDest::SWDOC_FREE_AREA,
1278 aEXCHG_DEST_SWDOC_FREE_AREA_Def,
1279 aEXCHG_DEST_SWDOC_FREE_AREA_Move,
1280 aEXCHG_DEST_SWDOC_FREE_AREA_Copy,
1281 aEXCHG_DEST_SWDOC_FREE_AREA_Link
1283 { SotExchangeDest::SCDOC_FREE_AREA,
1284 aEXCHG_DEST_SCDOC_FREE_AREA_Def,
1285 aEXCHG_DEST_SCDOC_FREE_AREA_Move,
1286 aEXCHG_DEST_SCDOC_FREE_AREA_Copy,
1287 aEXCHG_DEST_SCDOC_FREE_AREA_Link
1289 { SotExchangeDest::SDDOC_FREE_AREA,
1290 aEXCHG_DEST_SDDOC_FREE_AREA_Def,
1291 aEXCHG_DEST_SDDOC_FREE_AREA_Move,
1292 aEXCHG_DEST_SDDOC_FREE_AREA_Copy,
1293 aEXCHG_DEST_SDDOC_FREE_AREA_Link
1295 { SotExchangeDest::DOC_TEXTFRAME_WEB,
1296 aEXCHG_DEST_DOC_TEXTFRAME_WEB_Def,
1297 aEXCHG_DEST_DOC_TEXTFRAME_WEB_Move,
1298 aEXCHG_DEST_DOC_TEXTFRAME_WEB_Copy,
1299 aEXCHG_DEST_DOC_TEXTFRAME_WEB_Link
1301 { SotExchangeDest::SWDOC_FREE_AREA_WEB,
1302 aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Def,
1303 aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Move,
1304 aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Copy,
1305 aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Link
1308 static_cast<SotExchangeDest>(0xffff), nullptr, nullptr, nullptr, nullptr
1312 } // namespace
1314 namespace sot
1316 const SotAction_Impl* GetExchangeDestinationWriterFreeAreaCopy()
1318 return aEXCHG_DEST_SWDOC_FREE_AREA_Copy;
1322 // - new style GetExchange methods -
1324 bool IsFormatSupported( const DataFlavorExVector& rDataFlavorExVector, SotClipboardFormatId nId )
1326 return std::any_of(rDataFlavorExVector.begin(), rDataFlavorExVector.end(),
1327 [nId](const DataFlavorEx& rDataFlavorEx) { return nId == rDataFlavorEx.mnSotId; });
1331 static bool CheckTransferableContext_Impl( const Reference< XTransferable >* pxTransferable, const SotAction_Impl& rEntry )
1333 DataFlavor aFlavor;
1334 bool bRet = true;
1338 if( pxTransferable && (*pxTransferable).is() &&
1339 SotExchange::GetFormatDataFlavor( SotClipboardFormatId::FILEGRPDESCRIPTOR, aFlavor ) &&
1340 (*pxTransferable)->isDataFlavorSupported( aFlavor ) )
1342 #ifdef _WIN32
1343 switch( rEntry.nContextCheckId )
1345 case FILEGRPDSC_ONLY_URL:
1347 bRet = false;
1349 if( SotExchange::GetFormatDataFlavor( SotClipboardFormatId::FILECONTENT, aFlavor ) &&
1350 (*pxTransferable)->isDataFlavorSupported( aFlavor ) &&
1351 SotExchange::GetFormatDataFlavor( rEntry.nFormatId, aFlavor ) &&
1352 (*pxTransferable)->isDataFlavorSupported( aFlavor ) )
1354 Any aAny( (*pxTransferable)->getTransferData( aFlavor ) );
1356 if( aAny.hasValue() )
1358 Sequence< sal_Int8 > aSeq; aAny >>= aSeq;
1360 if( aSeq.getLength() )
1362 FILEGROUPDESCRIPTORW const * pFDesc = reinterpret_cast<FILEGROUPDESCRIPTORW const *>(aSeq.getConstArray());
1364 if( pFDesc->cItems )
1366 OUString sDesc( o3tl::toU(pFDesc->fgd[ 0 ].cFileName) );
1367 bRet = 4 < sDesc.getLength() && sDesc.endsWithIgnoreAsciiCase(".URL");
1373 break;
1375 #else
1376 (void) rEntry; // avoid warnings
1377 #endif
1380 catch( const UnsupportedFlavorException& )
1383 catch( const RuntimeException& )
1388 return bRet;
1392 static sal_uInt16 GetTransferableAction_Impl(
1393 const DataFlavorExVector& rDataFlavorExVector,
1394 const SotAction_Impl* pArray,
1395 SotClipboardFormatId& rFormat,
1396 SotClipboardFormatId nOnlyTestFormat,
1397 const Reference< XTransferable >* pxTransferable,
1398 SotExchangeActionFlags* pActionFlags )
1402 if( !rDataFlavorExVector.empty() )
1404 const SotAction_Impl* pArrayStart = pArray;
1405 SotClipboardFormatId nId = pArray->nFormatId;
1407 while( nId != static_cast<SotClipboardFormatId>(0xffff) )
1409 rFormat = nId;
1411 if( ( nOnlyTestFormat == SotClipboardFormatId::NONE || nOnlyTestFormat == nId ) &&
1412 IsFormatSupported( rDataFlavorExVector, nId ) &&
1413 ( !pArray->nContextCheckId || CheckTransferableContext_Impl( pxTransferable, *pArray ) ) )
1415 if( pxTransferable && (*pxTransferable).is() && ( SotClipboardFormatId::FILE_LIST == rFormat ) )
1417 if( IsFormatSupported( rDataFlavorExVector, SotClipboardFormatId::SIMPLE_FILE ) )
1419 DataFlavor aFileListFlavor;
1420 SotExchange::GetFormatDataFlavor( SotClipboardFormatId::FILE_LIST, aFileListFlavor );
1421 Any aAny( (*pxTransferable)->getTransferData( aFileListFlavor ) );
1423 if( aAny.hasValue() )
1425 Sequence< sal_Int8 > aSeq; aAny >>= aSeq;
1426 SvMemoryStream aMemStm( const_cast<sal_Int8 *>(aSeq.getConstArray()), aSeq.getLength(), StreamMode::READ );
1427 FileList aFileList;
1429 ReadFileList( aMemStm, aFileList );
1431 if( !aMemStm.GetError() && ( aFileList.Count() == 1 ) )
1433 const SotAction_Impl* pCur = pArrayStart;
1435 while( pCur->nFormatId != static_cast<SotClipboardFormatId>(0xffff) )
1437 if( pCur->nFormatId == SotClipboardFormatId::SIMPLE_FILE )
1439 rFormat = SotClipboardFormatId::SIMPLE_FILE;
1440 if (pActionFlags)
1441 *pActionFlags = pCur->nFlags;
1442 return pCur->nAction;
1444 pCur++;
1450 if (pActionFlags)
1451 *pActionFlags = pArray->nFlags;
1452 return pArray->nAction;
1454 pArray++;
1455 nId = pArray->nFormatId;
1459 catch( const UnsupportedFlavorException& )
1462 catch( const RuntimeException& )
1466 return EXCHG_INOUT_ACTION_NONE;
1470 sal_uInt8 SotExchange::GetExchangeAction( const DataFlavorExVector& rDataFlavorExVector,
1471 SotExchangeDest nDestination,
1472 sal_uInt16 nSourceOptions,
1473 sal_uInt8 nUserAction,
1474 SotClipboardFormatId& rFormat,
1475 sal_uInt8& rDefaultAction,
1476 SotClipboardFormatId nOnlyTestFormat,
1477 const Reference< XTransferable >* pxTransferable,
1478 SotExchangeActionFlags* pActionFlags )
1480 rFormat = SotClipboardFormatId::STRING;
1482 //Todo: incorporate a binary search
1483 const SotDestinationEntry_Impl* pEntry = aDestinationArray;
1484 while( static_cast<SotExchangeDest>(0xffff) != pEntry->nDestination )
1486 if( pEntry->nDestination == nDestination )
1487 break;
1488 ++pEntry;
1491 if( static_cast<SotExchangeDest>(0xffff) == pEntry->nDestination )
1493 return EXCHG_INOUT_ACTION_NONE;
1496 rFormat = SotClipboardFormatId::NONE;
1498 /* Handling the default action using the following procedure:
1500 * - The target is asked for the default action
1501 * - If the source supports this action, it is taken over
1502 * - Otherwise, from the actions made available by the source, one leading
1503 * to a most likely non-empty result action is selected. This is done in
1504 * the following order: Copy -> Link -> Move
1506 if( nUserAction == EXCHG_IN_ACTION_DEFAULT )
1508 nUserAction = GetTransferableAction_Impl(
1509 rDataFlavorExVector, pEntry->aDefaultActions,
1510 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1511 // Does the source support the action?
1512 if( !(nUserAction & nSourceOptions ))
1514 // No -> Check all actions of the source
1515 rDefaultAction = (EXCHG_IN_ACTION_COPY & nSourceOptions);
1516 if( rDefaultAction )
1518 nUserAction = GetTransferableAction_Impl(
1519 rDataFlavorExVector, pEntry->aCopyActions,
1520 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1521 if ( nUserAction )
1522 return nUserAction;
1524 rDefaultAction = (EXCHG_IN_ACTION_LINK & nSourceOptions);
1525 if( rDefaultAction )
1527 nUserAction = GetTransferableAction_Impl(
1528 rDataFlavorExVector, pEntry->aLinkActions,
1529 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1530 if ( nUserAction )
1531 return nUserAction;
1533 rDefaultAction = (EXCHG_IN_ACTION_MOVE & nSourceOptions);
1534 if( rDefaultAction )
1536 nUserAction = GetTransferableAction_Impl(
1537 rDataFlavorExVector, pEntry->aMoveActions,
1538 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1539 if ( nUserAction )
1540 return nUserAction;
1542 rDefaultAction = 0;
1543 return 0;
1545 rDefaultAction = nUserAction;
1547 else
1548 rDefaultAction = nUserAction;
1550 switch( nUserAction )
1552 case EXCHG_IN_ACTION_MOVE:
1553 nUserAction = GetTransferableAction_Impl(
1554 rDataFlavorExVector, pEntry->aMoveActions,
1555 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1556 break;
1558 case EXCHG_IN_ACTION_COPY:
1559 nUserAction = GetTransferableAction_Impl(
1560 rDataFlavorExVector, pEntry->aCopyActions,
1561 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1562 break;
1564 case EXCHG_IN_ACTION_LINK:
1565 nUserAction = GetTransferableAction_Impl(
1566 rDataFlavorExVector, pEntry->aLinkActions,
1567 rFormat, nOnlyTestFormat, pxTransferable, pActionFlags );
1568 break;
1570 default:
1571 nUserAction = EXCHG_INOUT_ACTION_NONE;
1573 return nUserAction;
1577 sal_uInt16 SotExchange::IsChart( const SvGlobalName& rName )
1579 sal_uInt16 nRet=0;
1580 // if ( rName == SvGlobalName( SO3_SCH_CLASSID_8 ) )
1581 // nRet = SOFFICE_FILEFORMAT_8;
1582 // else
1583 if ( rName == SvGlobalName( SO3_SCH_CLASSID_60 ) )
1584 nRet = SOFFICE_FILEFORMAT_60;
1585 else if ( rName == SvGlobalName( SO3_SCH_CLASSID_50 ) )
1586 nRet = SOFFICE_FILEFORMAT_50;
1587 else if ( rName == SvGlobalName( SO3_SCH_CLASSID_40 ) )
1588 nRet = SOFFICE_FILEFORMAT_40;
1589 else if ( rName == SvGlobalName( SO3_SCH_CLASSID_30 ) )
1590 nRet = SOFFICE_FILEFORMAT_31;
1592 return nRet;
1595 sal_uInt16 SotExchange::IsMath( const SvGlobalName& rName )
1597 sal_uInt16 nRet=0;
1598 // if ( rName == SvGlobalName( SO3_SM_CLASSID_8 ) )
1599 // nRet = SOFFICE_FILEFORMAT_8;
1600 // else
1601 if ( rName == SvGlobalName( SO3_SM_CLASSID_60 ) )
1602 nRet = SOFFICE_FILEFORMAT_60;
1603 else if ( rName == SvGlobalName( SO3_SM_CLASSID_50 ) )
1604 nRet = SOFFICE_FILEFORMAT_50;
1605 else if ( rName == SvGlobalName( SO3_SM_CLASSID_40 ) )
1606 nRet = SOFFICE_FILEFORMAT_40;
1607 else if ( rName == SvGlobalName( SO3_SM_CLASSID_30 ) )
1608 nRet = SOFFICE_FILEFORMAT_31;
1610 return nRet;
1613 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */