xref: /aoo41x/main/sot/source/base/formats.cxx (revision 45fd3b9a)
1046d9d1fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3046d9d1fSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4046d9d1fSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5046d9d1fSAndrew Rist  * distributed with this work for additional information
6046d9d1fSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7046d9d1fSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8046d9d1fSAndrew Rist  * "License"); you may not use this file except in compliance
9046d9d1fSAndrew Rist  * with the License.  You may obtain a copy of the License at
10046d9d1fSAndrew Rist  *
11046d9d1fSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12046d9d1fSAndrew Rist  *
13046d9d1fSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14046d9d1fSAndrew Rist  * software distributed under the License is distributed on an
15046d9d1fSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16046d9d1fSAndrew Rist  * KIND, either express or implied.  See the License for the
17046d9d1fSAndrew Rist  * specific language governing permissions and limitations
18046d9d1fSAndrew Rist  * under the License.
19046d9d1fSAndrew Rist  *
20046d9d1fSAndrew Rist  *************************************************************/
21046d9d1fSAndrew Rist 
22046d9d1fSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sot.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #define _SOT_FORMATS_INCLUDE_SYSTEMFORMATS
28cdf0e10cSrcweir #include <tools/debug.hxx>
29cdf0e10cSrcweir #include <tools/solar.h>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include <sot/exchange.hxx>
32cdf0e10cSrcweir #include <sot/formats.hxx>
33cdf0e10cSrcweir #include "sot/filelist.hxx"
34cdf0e10cSrcweir #include "sot/clsids.hxx"
35cdf0e10cSrcweir 
36cdf0e10cSrcweir #include <tools/globname.hxx>
37cdf0e10cSrcweir #include <com/sun/star/datatransfer/DataFlavor.hpp>
38cdf0e10cSrcweir #include <com/sun/star/datatransfer/XTransferable.hpp>
39cdf0e10cSrcweir 
40cdf0e10cSrcweir using namespace::com::sun::star::uno;
41cdf0e10cSrcweir using namespace::com::sun::star::datatransfer;
42cdf0e10cSrcweir 
43cdf0e10cSrcweir struct SotAction_Impl
44cdf0e10cSrcweir {
45cdf0e10cSrcweir 	sal_uLong 	nFormatId;			// Clipboard Id
46cdf0e10cSrcweir 	sal_uInt16	nAction;			// Action Id
47cdf0e10cSrcweir 	sal_uInt8 	nContextCheckId;	// additional check of content in clipboard
48cdf0e10cSrcweir };
49cdf0e10cSrcweir 
50cdf0e10cSrcweir 
51cdf0e10cSrcweir // define a context check Id for every formatid
52cdf0e10cSrcweir #define FILEGRPDSC_ONLY_URL		1
53cdf0e10cSrcweir 
54cdf0e10cSrcweir /*
55cdf0e10cSrcweir 	Fuer jedes Ziel existiert in der Tabelle genau ein SotDestinationEntry_Impl.
56cdf0e10cSrcweir 	Dieser Eintrag enthaelt u.a. fuer jedes vom Ziel auswertbare Format eine
57cdf0e10cSrcweir 	Default-Action. Die Default-Aktionen verweisen fuer jedes Format auf
58cdf0e10cSrcweir 	die auszuwertende Tabelle, d.h. sie enthalten nur EXCHG_IN_ACTION_MOVE,
59cdf0e10cSrcweir 	EXCHG_IN_ACTION_COPY oder EXCHG_IN_ACTION_LINK. Entsprechend dieser Aktion
60cdf0e10cSrcweir 	ist dann aMoveActions, aCopyActions oder aLinkActions auszuwerten.
61cdf0e10cSrcweir 	Die Aktionen sind nach Prioritaet sortiert, d.h. je "wichtiger" das
62cdf0e10cSrcweir 	Format ist, desto eher erscheint es in der Liste.
63cdf0e10cSrcweir */
64cdf0e10cSrcweir 
65cdf0e10cSrcweir struct SotDestinationEntry_Impl
66cdf0e10cSrcweir {
67cdf0e10cSrcweir 	sal_uInt16					nDestination;
68cdf0e10cSrcweir 	const SotAction_Impl*	aDefaultActions;
69cdf0e10cSrcweir 	const SotAction_Impl*	aMoveActions;
70cdf0e10cSrcweir 	const SotAction_Impl*	aCopyActions;
71cdf0e10cSrcweir 	const SotAction_Impl*	aLinkActions;
72cdf0e10cSrcweir };
73cdf0e10cSrcweir 
74cdf0e10cSrcweir 
75cdf0e10cSrcweir /*
76cdf0e10cSrcweir 	Ueber diese Tabelle erfolgt die Zuordnung von Destination, vorhandenen
77cdf0e10cSrcweir 	Datenformaten sowie gewuenschter Aktion zu einer Aktion und dem in
78cdf0e10cSrcweir 	ihr zu benutzenden Datenformat. Die Tabelle ist nach den Exchange-Zielen
79cdf0e10cSrcweir 	(EXCHG_DEST_*) sortiert. Innerhalb des Zieleintrages befinden sich genau
80cdf0e10cSrcweir 	vier Tabellen fuer Default-, Move-, Copy- und Linkaktionen. Ueber
81cdf0e10cSrcweir 	die Default-Tabelle erfolgt das Mapping zwischen Default-Aktion
82cdf0e10cSrcweir  	(DropEvent::IsDefaultAction()) und daraus resultierender wirklicher
83cdf0e10cSrcweir 	Aktion. Diese Tabelle enthaelt deshalb nur die Aktionen
84cdf0e10cSrcweir  	EXCHG_IN_ACTION_COPY, EXCHG_IN_ACTION_MOVE und EXCHG_IN_ACTION_LINK,
85cdf0e10cSrcweir 	die auf die spezielle Tabelle verweisen. Die uebrigen Tabellen
86cdf0e10cSrcweir 	koennen beliebige Aktionen enthalten. Jede Tabelle ist nach der
87cdf0e10cSrcweir 	Format-Prioritaet sortiert. Eintrag Null hat die hoechste Prioritaet.
88cdf0e10cSrcweir */
89cdf0e10cSrcweir 
90cdf0e10cSrcweir #define EXCHG_EMPYT_ARRAY                                                 \
91cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEmptyArr[] =			              \
92cdf0e10cSrcweir 	{                                                                     \
93cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                  \
94cdf0e10cSrcweir 	};
95cdf0e10cSrcweir 
96cdf0e10cSrcweir /*  */
97cdf0e10cSrcweir #define EXCHG_DEST_DOC_OLEOBJ_ARRAY                                         \
98cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_OLEOBJ_Def[] =        \
99cdf0e10cSrcweir 	{                                                                       \
100cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_IN_ACTION_LINK, 0 },              \
101cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_LINK, 0 },          \
102cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },                     \
103cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK, 0 },                          \
104cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_LINK, 0 },       \
105cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_LINK, FILEGRPDSC_ONLY_URL },       \
106cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_LINK, 0 },       \
107cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
108cdf0e10cSrcweir 	};                                                                      \
109cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_OLEOBJ_Move[] =       \
110cdf0e10cSrcweir 	{                                                                       \
111cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, 0 },        \
112cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
113cdf0e10cSrcweir 	};                                                                      \
114cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_OLEOBJ_Link[] =       \
115cdf0e10cSrcweir 	{                                                                       \
116cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },       \
117cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },   \
118cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },      \
119cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },           \
120cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },\
121cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, FILEGRPDSC_ONLY_URL },\
122cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },\
123cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, 0 },        \
124cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
125cdf0e10cSrcweir 	};
126cdf0e10cSrcweir 
127cdf0e10cSrcweir /*  */
128cdf0e10cSrcweir #define EXCHG_DEST_CHARTDOC_OLEOBJ_ARRAY                                    \
129cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_CHARTDOC_OLEOBJ_Def[] =   \
130cdf0e10cSrcweir 	{                                                                       \
131cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },                     \
132cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK, 0 },                          \
133cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_IN_ACTION_LINK, 0 },              \
134cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_LINK, 0 },          \
135cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_LINK, 0 },       \
136cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_LINK, FILEGRPDSC_ONLY_URL },       \
137cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_LINK, 0 },       \
138cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
139cdf0e10cSrcweir 	};                                                                      \
140cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_CHARTDOC_OLEOBJ_Move[] =  \
141cdf0e10cSrcweir 	{                                                                       \
142cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, 0 },        \
143cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
144cdf0e10cSrcweir 	};                                                                      \
145cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_CHARTDOC_OLEOBJ_Link[] =  \
146cdf0e10cSrcweir 	{                                                                       \
147cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },      \
148cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },           \
149cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },              \
150cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },          \
151cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },\
152cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, FILEGRPDSC_ONLY_URL },\
153cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_INTERACTIVE, 0 },\
154cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP, 0 },        \
155cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
156cdf0e10cSrcweir 	};
157cdf0e10cSrcweir 
158cdf0e10cSrcweir /*  */
159cdf0e10cSrcweir #define EXCHG_DEST_DOC_TEXTFRAME_ARRAY                                      \
160cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_Def[] =     \
161cdf0e10cSrcweir 	{                                                                       \
162cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
163cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
164cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
165cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
166cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
167cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
168cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
169cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
170cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
171cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_IN_ACTION_COPY, 0 },       		\
172cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, 0 },   		\
173cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
174cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
175cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
176cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
177cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
178cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
179cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
180cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
181cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE, 0 },             \
182cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
183cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
184cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
185cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
186cdf0e10cSrcweir 	};                                                                      \
187cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_Move[] =    \
188cdf0e10cSrcweir 	{                                                                       \
189cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_MOVE, 0 },                   \
190cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
191cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
192cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
193cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
194cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
195cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, 0 },     \
196cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, 0 },     \
197cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
198cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
199cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
200cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
201cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
202cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
203cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
204cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
205cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
206cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
207cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE, 0 },             \
208cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
209cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
210cdf0e10cSrcweir 	};                                                                      \
211cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_Copy[] =    \
212cdf0e10cSrcweir 	{                                                                       \
213cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },        \
214cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
215cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
216cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_XFORMS, EXCHG_IN_ACTION_COPY, 0 },   \
217cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                   \
218cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
219cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
220cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
221cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
222cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
223cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
224cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE, 0 },     \
225cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE, 0 },     \
226cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
227cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
228cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
229cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
230cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
231cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
232cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
233cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
234cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
235cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
236cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
237cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
238cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE, 0 },             \
239cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
240cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
241cdf0e10cSrcweir 	};                                                                      \
242cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_Link[] =    \
243cdf0e10cSrcweir 	{                                                                       \
244cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_LINK, 0 },                   \
245cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_DATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },        \
246cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },   \
247cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },   \
248cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
249cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
250cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
251cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
252cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
253cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
254cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
255cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
256cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
257cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
258cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
259cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
260cdf0e10cSrcweir 	};
261cdf0e10cSrcweir 
262cdf0e10cSrcweir #define EXCHG_DEST_DOC_TEXTFRAME_WEB_ARRAY                                      \
263cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_WEB_Def[] =     \
264cdf0e10cSrcweir 	{                                                                       \
265cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
266cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
267cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
268cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
269cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
270cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
271cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
272cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
273cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_INET_IMAGE, EXCHG_IN_ACTION_COPY, 0 },       		\
274cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, 0 },   		\
275cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
276cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
277cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
278cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
279cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
280cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
281cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
282cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
283cdf0e10cSrcweir 	};                                                                      \
284cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_WEB_Move[] =    \
285cdf0e10cSrcweir 	{                                                                       \
286cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_MOVE, 0 },                   \
287cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
288cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
289cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
290cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
291cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
292cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
293cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
294cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
295cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
296cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
297cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
298cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE, 0 },             \
299cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
300cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
301cdf0e10cSrcweir 	};                                                                      \
302cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_WEB_Copy[] =    \
303cdf0e10cSrcweir 	{                                                                       \
304cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },        \
305cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
306cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
307cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_XFORMS, EXCHG_IN_ACTION_COPY, 0 },   \
308cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                   \
309cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
310cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
311cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
312cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
313cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
314cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
315cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
316cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
317cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
318cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
319cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
320cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
321cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
322cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
323cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE, 0 },             \
324cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
325cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
326cdf0e10cSrcweir 	};                                                                      \
327cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_WEB_Link[] =    \
328cdf0e10cSrcweir 	{                                                                       \
329cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_LINK, 0 },                   \
330cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
331cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
332cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
333cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
334cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
335cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
336cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
337cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
338cdf0e10cSrcweir 	};
339cdf0e10cSrcweir 
340cdf0e10cSrcweir /*  */
341cdf0e10cSrcweir #define EXCHG_DEST_DOC_GRAPHOBJ_ARRAY                                       \
342cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPHOBJ_Def[] =      \
343cdf0e10cSrcweir 	{                                                                       \
344cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
345cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
346cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
347cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
348cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
349cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
350cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
351cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
352cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
353cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
354cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
355cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
356cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
357cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
358cdf0e10cSrcweir 	};                                                                      \
359cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPHOBJ_Move[] =     \
360cdf0e10cSrcweir 	{                                                                       \
361cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
362cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
363cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
364cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
365cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
366cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
367cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
368cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
369cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
370cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
371cdf0e10cSrcweir 	};                                                                      \
372cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPHOBJ_Copy[] =     \
373cdf0e10cSrcweir 	{                                                                       \
374cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
375cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
376cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
377cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
378cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
379cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
380cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
381cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
382cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
383cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
384cdf0e10cSrcweir 	};                                                                      \
385cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPHOBJ_Link[] =     \
386cdf0e10cSrcweir 	{                                                                       \
387cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
388cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
389cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
390cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
391cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
392cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
393cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
394cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
395cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
396cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
397cdf0e10cSrcweir 	};
398cdf0e10cSrcweir 
399cdf0e10cSrcweir /*  */
400cdf0e10cSrcweir #define EXCHG_DEST_DOC_LNKD_GRAPHOBJ_ARRAY                                  \
401cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Def[] = \
402cdf0e10cSrcweir 	{                                                                       \
403cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
404cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
405cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
406cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
407cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
408cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
409cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
410cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
411cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
412cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
413cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
414cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
415cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
416cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
417cdf0e10cSrcweir 	};                                                                      \
418cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Move[] =\
419cdf0e10cSrcweir 	{                                                                       \
420cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
421cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
422cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
423cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
424cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
425cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
426cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
427cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
428cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
429cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
430cdf0e10cSrcweir 	};                                                                      \
431cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Copy[] =\
432cdf0e10cSrcweir 	{                                                                       \
433cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
434cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
435cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
436cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
437cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
438cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
439cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
440cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
441cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
442cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
443cdf0e10cSrcweir 	};                                                                      \
444cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Link[] =\
445cdf0e10cSrcweir 	{                                                                       \
446cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
447cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
448cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
449cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
450cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
451cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
452cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
453cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
454cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
455cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
456cdf0e10cSrcweir 	};
457cdf0e10cSrcweir 
458cdf0e10cSrcweir /*  */
459cdf0e10cSrcweir #define EXCHG_DEST_DOC_GRAPH_W_IMAP_ARRAY                                   \
460cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPH_W_IMAP_Def[] =  \
461cdf0e10cSrcweir 	{                                                                       \
462cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
463cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
464cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
465cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
466cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
467cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
468cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
469cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
470cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
471cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
472cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
473cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
474cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
475cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
476cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
477cdf0e10cSrcweir 	};                                                                      \
478cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPH_W_IMAP_Move[] = \
479cdf0e10cSrcweir 	{                                                                       \
480cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
481cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
482cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
483cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
484cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
485cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
486cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
487cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
488cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
489cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
490cdf0e10cSrcweir 	};                                                                      \
491cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPH_W_IMAP_Copy[] =  \
492cdf0e10cSrcweir 	{                                                                       \
493cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
494cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
495cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
496cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
497cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
498cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
499cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
500cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
501cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
502cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
503cdf0e10cSrcweir 	};                                                                      \
504cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GRAPH_W_IMAP_Link[] = \
505cdf0e10cSrcweir 	{                                                                       \
506cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
507cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
508cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
509cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
510cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
511cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
512cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
513cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
514cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },               \
515cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
516cdf0e10cSrcweir 	};
517cdf0e10cSrcweir 
518cdf0e10cSrcweir /*  */
519cdf0e10cSrcweir #define EXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_ARRAY                              \
520cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Def[] =\
521cdf0e10cSrcweir 	{                                                                       \
522cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
523cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
524cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
525cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
526cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
527cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
528cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
529cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
530cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
531cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
532cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
533cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
534cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
535cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
536cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
537cdf0e10cSrcweir 	};                                                                      \
538cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Move[] =\
539cdf0e10cSrcweir 	{                                                                       \
540cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
541cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
542cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
543cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
544cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
545cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
546cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
547cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
548cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
549cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
550cdf0e10cSrcweir 	};                                                                      \
551cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Copy[] =\
552cdf0e10cSrcweir 	{                                                                       \
553cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
554cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
555cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
556cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
557cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
558cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
559cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
560cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
561cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
562cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                           \
563cdf0e10cSrcweir 	};                                                                       \
564cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Link[] =\
565cdf0e10cSrcweir 	{                                                                        \
566cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
567cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
568cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
569cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
570cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
571cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
572cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
573cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
574cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },               \
575cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
576cdf0e10cSrcweir 	};
577cdf0e10cSrcweir 
578cdf0e10cSrcweir 
579cdf0e10cSrcweir /*  */
580cdf0e10cSrcweir #define EXCHG_DEST_DOC_IMAPREGION_ARRAY                                     \
581cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_IMAPREGION_Def[] =    \
582cdf0e10cSrcweir 	{                                                                       \
583cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
584cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
585cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
586cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
587cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
588cdf0e10cSrcweir 	};                                                                      \
589cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_IMAPREGION_Copy[] =   \
590cdf0e10cSrcweir 	{                                                                       \
591cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
592cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
593cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
594cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
595cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
596cdf0e10cSrcweir 	};
597cdf0e10cSrcweir 
598cdf0e10cSrcweir 
599cdf0e10cSrcweir /*  */
600cdf0e10cSrcweir #define EXCHG_DEST_DOC_DRAWOBJ_ARRAY                                        \
601cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_DRAWOBJ_Def[] =       \
602cdf0e10cSrcweir 	{                                                                       \
603cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
604cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
605cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
606cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
607cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
608cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
609cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
610cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
611cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
612cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
613cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
614cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
615cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
616cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
617cdf0e10cSrcweir 	};                                                                      \
618cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_DRAWOBJ_Copy[] =      \
619cdf0e10cSrcweir 	{                                                                       \
620cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
621cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
622cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
623cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
624cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
625cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
626cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
627cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
628cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
629cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
630cdf0e10cSrcweir 	};                                                                      \
631cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_DRAWOBJ_Move[] =      \
632cdf0e10cSrcweir 	{                                                                       \
633cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
634cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
635cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
636cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
637cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
638cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
639cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
640cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
641cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
642cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
643cdf0e10cSrcweir 	};                                                                      \
644cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_DRAWOBJ_Link[] =      \
645cdf0e10cSrcweir 	{                                                                       \
646cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
647cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
648cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
649cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
650cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
651cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
652cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
653cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
654cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
655cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
656cdf0e10cSrcweir 	};
657cdf0e10cSrcweir 
658cdf0e10cSrcweir 
659cdf0e10cSrcweir /*  */
660cdf0e10cSrcweir #define EXCHG_DEST_DOC_URLBUTTON_ARRAY                                      \
661cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLBUTTON_Def[] =     \
662cdf0e10cSrcweir 	{                                                                       \
663cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
664cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
665cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
666cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
667cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
668cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
669cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
670cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
671cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
672cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
673cdf0e10cSrcweir 	};                                                                      \
674cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLBUTTON_Move[] =    \
675cdf0e10cSrcweir 	{                                                                       \
676cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
677cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
678cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
679cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
680cdf0e10cSrcweir 	};                                                                      \
681cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLBUTTON_Copy[] =    \
682cdf0e10cSrcweir 	{                                                                       \
683cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },      \
684cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },            \
685cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },    \
686cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
687cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
688cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
689cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
690cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
691cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
692cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
693cdf0e10cSrcweir 	};
694cdf0e10cSrcweir 
695cdf0e10cSrcweir 
696cdf0e10cSrcweir /*  */
697cdf0e10cSrcweir #define EXCHG_DEST_DOC_URLFIELD_ARRAY                                       \
698cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLFIELD_Def[] =      \
699cdf0e10cSrcweir 	{                                                                       \
700cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
701cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
702cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
703cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
704cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
705cdf0e10cSrcweir 	};                                                                      \
706cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLFIELD_Copy[] =     \
707cdf0e10cSrcweir 	{                                                                       \
708cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
709cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
710cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
711cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
712cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
713cdf0e10cSrcweir 	};                                                                      \
714cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_URLFIELD_Link[] =     \
715cdf0e10cSrcweir 	{                                                                       \
716cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_HYPERLINK, 0 },        \
717cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
718cdf0e10cSrcweir 	};
719cdf0e10cSrcweir 
720cdf0e10cSrcweir /*  */
721cdf0e10cSrcweir #define EXCHG_DEST_DOC_GROUPOBJ_ARRAY                                       \
722cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GROUPOBJ_Def[] =      \
723cdf0e10cSrcweir 	{                                                                       \
724cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
725cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
726cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
727cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
728cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
729cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
730cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
731cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
732cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
733cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
734cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
735cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
736cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
737cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
738cdf0e10cSrcweir 	};                                                                      \
739cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GROUPOBJ_Move[] =     \
740cdf0e10cSrcweir 	{                                                                       \
741cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
742cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
743cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
744cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
745cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
746cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
747cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
748cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
749cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
750cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
751cdf0e10cSrcweir 	};                                                                      \
752cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GROUPOBJ_Copy[] =     \
753cdf0e10cSrcweir 	{                                                                       \
754cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
755cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
756cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
757cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
758cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
759cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
760cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
761cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
762cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
763cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
764cdf0e10cSrcweir 	};                                                                      \
765cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_GROUPOBJ_Link[] =     \
766cdf0e10cSrcweir 	{                                                                       \
767cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
768cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
769cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
770cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
771cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
772cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
773cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
774cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
775cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
776cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
777cdf0e10cSrcweir 	};
778cdf0e10cSrcweir 
779cdf0e10cSrcweir 
780cdf0e10cSrcweir /*  */
781cdf0e10cSrcweir #define EXCHG_DEST_SWDOC_FREE_AREA_ARRAY                                    \
782cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_Def[] =   \
783cdf0e10cSrcweir 	{                                                                       \
784cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
785cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
786cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
787cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
788cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
789cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY, 0 },                           \
790cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_IN_ACTION_COPY, 0 },                    \
791cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, 0 },   		\
792cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
793cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
794cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
795cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
796cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
797cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
798cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
799cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
800cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
801cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },                   \
802cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
803cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
804cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE, 0 },             \
805cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
806cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
807cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
808cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
809cdf0e10cSrcweir 	};                                                                      \
810cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_Move[] =  \
811cdf0e10cSrcweir 	{                                                                       \
812cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_MOVE, 0 },                   \
813cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
814cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
815cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
816cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
817cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
818cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
819cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
820cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
821cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
822cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
823cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
824cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING, 0 },              \
825cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
826cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
827cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
828cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
829cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
830cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
831cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
832cdf0e10cSrcweir 	};                                                                      \
833cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_Copy[] =  \
834cdf0e10cSrcweir 	{                                                                       \
835cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_DATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },        \
836cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
837cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_COPY, 0 },   \
838cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_XFORMS, EXCHG_IN_ACTION_COPY, 0 },   \
839cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
840cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
841cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                   \
842cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                   \
843cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
844cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
845cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
846cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
847cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
848cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
849cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
850cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
851cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
852cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
853cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
854cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
855cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
856cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
857cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
858cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
859cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
860cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
861cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
862cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
863cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
864cdf0e10cSrcweir 	};                                                                      \
865cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_Link[] =  \
866cdf0e10cSrcweir 	{                                                                       \
867cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_LINK, 0 },                   \
868cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_DATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },        \
869cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },   \
870cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE, EXCHG_IN_ACTION_LINK, 0 },   \
871cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },        \
872cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
873cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
874cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
875cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
876cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
877cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
878cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
879cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
880cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
881cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
882cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
883cdf0e10cSrcweir 	};
884cdf0e10cSrcweir 
885cdf0e10cSrcweir #define EXCHG_DEST_SWDOC_FREE_AREA_WEB_ARRAY                                    \
886cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Def[] =   \
887cdf0e10cSrcweir 	{                                                                       \
888cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
889cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
890cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },       \
891cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
892cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
893cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
894cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY, 0 },                           \
895cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_IN_ACTION_COPY, 0 },                    \
896cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY, 0 },   		\
897cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
898cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
899cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
900cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
901cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
902cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
903cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
904cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
905cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
906cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
907cdf0e10cSrcweir 	};                                                                      \
908cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Move[] =  \
909cdf0e10cSrcweir 	{                                                                       \
910cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_MOVE, 0 },                   \
911cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
912cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
913cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
914cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
915cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
916cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
917cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
918cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING, 0 },              \
919cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
920cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
921cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
922cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
923cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
924cdf0e10cSrcweir 	};                                                                      \
925cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Copy[] =  \
926cdf0e10cSrcweir 	{                                                                       \
927cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
928cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
929cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                   \
930cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
931cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
932cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
933cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
934cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
935cdf0e10cSrcweir 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
936cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
937cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
938cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
939cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
940cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
941cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
942cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
943cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
944cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
945cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
946cdf0e10cSrcweir 	};                                                                      \
947cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Link[] =  \
948cdf0e10cSrcweir 	{                                                                       \
949cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_LINK, 0 },                   \
950cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },        \
951cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
952cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
953cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
954cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
955cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
956cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
957cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
958cdf0e10cSrcweir 	};
959cdf0e10cSrcweir 
960cdf0e10cSrcweir 
961cdf0e10cSrcweir /*  */
962cdf0e10cSrcweir #define EXCHG_DEST_SCDOC_FREE_AREA_ARRAY                                    \
963cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SCDOC_FREE_AREA_Def[] =   \
964cdf0e10cSrcweir 	{                                                                       \
965cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
966cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
967cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
968cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
969cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
970cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_IN_ACTION_COPY, 0 },                    \
971cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
972cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
973cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
974cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
975cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
976cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
977cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
978cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
979cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
980cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
981cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE, 0 },             \
982cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
983cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
984cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
985cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
986cdf0e10cSrcweir 	};                                                                      \
987cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SCDOC_FREE_AREA_Move[] =  \
988cdf0e10cSrcweir 	{                                                                       \
989cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
990cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
991cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
992cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
993cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
994cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
995cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
996cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_BIFF_5, EXCHG_IN_ACTION_MOVE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
997cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_BIFF__5,EXCHG_IN_ACTION_MOVE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
998cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
999cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1000cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1001cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
1002cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1003cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1004cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1005cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1006cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1007cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
1008cdf0e10cSrcweir         { SOT_FORMATSTR_ID_BIFF_8, EXCHG_IN_ACTION_MOVE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
1009cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1010cdf0e10cSrcweir 	};                                                                      \
1011cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SCDOC_FREE_AREA_Copy[] =  \
1012cdf0e10cSrcweir 	{                                                                       \
1013cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
1014cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1015cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1016cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1017cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1018cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1019cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1020cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_BIFF_5, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
1021cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_BIFF__5,EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
1022cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1023cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1024cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1025cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
1026cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1027cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
1028cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1029cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1030cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1031cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1032cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1033cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1034cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
1035cdf0e10cSrcweir         { SOT_FORMATSTR_ID_BIFF_8, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                  \
1036cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1037cdf0e10cSrcweir 	};                                                                      \
1038cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SCDOC_FREE_AREA_Link[] =  \
1039cdf0e10cSrcweir 	{                                                                       \
1040cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },        \
1041cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1042cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1043cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
1044cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1045cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1046cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1047cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1048cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1049cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1050cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1051cdf0e10cSrcweir 	};
1052cdf0e10cSrcweir 
1053cdf0e10cSrcweir 
1054cdf0e10cSrcweir /*  */
1055cdf0e10cSrcweir #define EXCHG_DEST_SDDOC_FREE_AREA_ARRAY                                    \
1056cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SDDOC_FREE_AREA_Def[] =   \
1057cdf0e10cSrcweir 	{                                                                       \
1058cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },                     \
1059cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
1060cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
1061cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_IN_ACTION_COPY, 0 },         \
1062cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_IN_ACTION_COPY, 0 },             \
1063cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_IN_ACTION_COPY, 0 },                    \
1064cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_IN_ACTION_COPY, 0 },                        \
1065cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_IN_ACTION_COPY, 0 },       \
1066cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_IN_ACTION_COPY, FILEGRPDSC_ONLY_URL },       \
1067cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
1068cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
1069cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
1070cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
1071cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
1072cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
1073cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
1074cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_IN_ACTION_MOVE, 0 },             \
1075cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
1076cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_IN_ACTION_MOVE, 0 },         \
1077cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                    \
1078cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1079cdf0e10cSrcweir 	};                                                                      \
1080cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SDDOC_FREE_AREA_Move[] =  \
1081cdf0e10cSrcweir 	{                                                                       \
1082cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_MOVE, 0 },\
1083cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1084cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1085cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1086cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1087cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1088cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1089cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1090cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1091cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1092cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
1093cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1094cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1095cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1096cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1097cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1098cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
1099cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1100cdf0e10cSrcweir 	};                                                                      \
1101cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SDDOC_FREE_AREA_Copy[] =  \
1102cdf0e10cSrcweir 	{                                                                       \
1103cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_COPY, 0 },\
1104cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_OUT_ACTION_INSERT_FILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1105cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1106cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1107cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1108cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1109cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1110cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1111cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_NO_COMMENT, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1112cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1113cdf0e10cSrcweir 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
1114cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1115cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
1116cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1117cdf0e10cSrcweir 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1118cdf0e10cSrcweir 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1119cdf0e10cSrcweir   		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1120cdf0e10cSrcweir   		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1121cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1122cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
1123cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1124cdf0e10cSrcweir 	};                                                                      \
1125cdf0e10cSrcweir static SotAction_Impl __READONLY_DATA aEXCHG_DEST_SDDOC_FREE_AREA_Link[] =  \
1126cdf0e10cSrcweir 	{                                                                       \
1127cdf0e10cSrcweir 		{ SOT_FORMAT_FILE_LIST, EXCHG_IN_ACTION_LINK, 0 },        \
1128cdf0e10cSrcweir 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_LINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1129cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1130cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
1131cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
1132cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
1133cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1134cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },     \
1135cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1136cdf0e10cSrcweir 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
1137cdf0e10cSrcweir 		{ 0xffff, 0, 0 }                                                          \
1138cdf0e10cSrcweir 	};
1139cdf0e10cSrcweir 
1140cdf0e10cSrcweir 
1141cdf0e10cSrcweir /*  */
1142cdf0e10cSrcweir 
1143cdf0e10cSrcweir #define IMPL_DATA_ARRAY_1				                                  \
1144cdf0e10cSrcweir EXCHG_EMPYT_ARRAY                                                         \
1145cdf0e10cSrcweir EXCHG_DEST_DOC_OLEOBJ_ARRAY                                               \
1146cdf0e10cSrcweir EXCHG_DEST_CHARTDOC_OLEOBJ_ARRAY                                          \
1147cdf0e10cSrcweir EXCHG_DEST_DOC_TEXTFRAME_ARRAY                                            \
1148cdf0e10cSrcweir EXCHG_DEST_DOC_GRAPHOBJ_ARRAY                                             \
1149cdf0e10cSrcweir EXCHG_DEST_DOC_LNKD_GRAPHOBJ_ARRAY										  \
1150cdf0e10cSrcweir EXCHG_DEST_DOC_TEXTFRAME_WEB_ARRAY
1151cdf0e10cSrcweir 
1152cdf0e10cSrcweir #define IMPL_DATA_ARRAY_2				                                  \
1153cdf0e10cSrcweir EXCHG_DEST_DOC_GRAPH_W_IMAP_ARRAY                                         \
1154cdf0e10cSrcweir EXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_ARRAY                                    \
1155cdf0e10cSrcweir EXCHG_DEST_DOC_IMAPREGION_ARRAY                                           \
1156cdf0e10cSrcweir EXCHG_DEST_DOC_DRAWOBJ_ARRAY                                              \
1157cdf0e10cSrcweir EXCHG_DEST_DOC_URLBUTTON_ARRAY                                            \
1158cdf0e10cSrcweir EXCHG_DEST_DOC_URLFIELD_ARRAY                                             \
1159cdf0e10cSrcweir EXCHG_DEST_DOC_GROUPOBJ_ARRAY                                             \
1160cdf0e10cSrcweir EXCHG_DEST_SWDOC_FREE_AREA_ARRAY                                          \
1161cdf0e10cSrcweir EXCHG_DEST_SCDOC_FREE_AREA_ARRAY                                          \
1162cdf0e10cSrcweir EXCHG_DEST_SDDOC_FREE_AREA_ARRAY                                          \
1163cdf0e10cSrcweir EXCHG_DEST_SWDOC_FREE_AREA_WEB_ARRAY									  \
1164cdf0e10cSrcweir 
1165cdf0e10cSrcweir #define IMPL_DATA_ARRAY_3				                                  \
1166cdf0e10cSrcweir static SotDestinationEntry_Impl __READONLY_DATA aDestinationArray[] =     \
1167cdf0e10cSrcweir {                                                                         \
1168cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_OLEOBJ,                                              \
1169cdf0e10cSrcweir 		aEXCHG_DEST_DOC_OLEOBJ_Def,                                       \
1170cdf0e10cSrcweir 		aEXCHG_DEST_DOC_OLEOBJ_Move,                                      \
1171cdf0e10cSrcweir 		aEmptyArr,                                                        \
1172cdf0e10cSrcweir 		aEXCHG_DEST_DOC_OLEOBJ_Link                                       \
1173cdf0e10cSrcweir 	},                                                                    \
1174cdf0e10cSrcweir 	{ EXCHG_DEST_CHARTDOC_OLEOBJ,                                         \
1175cdf0e10cSrcweir 		aEXCHG_DEST_CHARTDOC_OLEOBJ_Def,                                  \
1176cdf0e10cSrcweir 		aEXCHG_DEST_CHARTDOC_OLEOBJ_Move,                                 \
1177cdf0e10cSrcweir 		aEmptyArr,                                                        \
1178cdf0e10cSrcweir 		aEXCHG_DEST_CHARTDOC_OLEOBJ_Link                                  \
1179cdf0e10cSrcweir 	},                                                                    \
1180cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_TEXTFRAME,                                           \
1181cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_Def,                                    \
1182cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_Move,                                   \
1183cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_Copy,                                   \
1184cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_Link                                    \
1185cdf0e10cSrcweir 	},                                                                    \
1186cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_GRAPHOBJ,                                            \
1187cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPHOBJ_Def,                                     \
1188cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPHOBJ_Move,                                    \
1189cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPHOBJ_Copy,                                    \
1190cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPHOBJ_Link                                     \
1191cdf0e10cSrcweir 	},                                                                    \
1192cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_LNKD_GRAPHOBJ,                                       \
1193cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Def,                                \
1194cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Move,                               \
1195cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Copy,                               \
1196cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPHOBJ_Link                                \
1197cdf0e10cSrcweir 	},                                                                    \
1198cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_GRAPH_W_IMAP,                                        \
1199cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPH_W_IMAP_Def,                                 \
1200cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPH_W_IMAP_Move,                                \
1201cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPH_W_IMAP_Copy,                                \
1202cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GRAPH_W_IMAP_Link                                 \
1203cdf0e10cSrcweir 	},                                                                    \
1204cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP,                                   \
1205cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Def,                            \
1206cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Move,                           \
1207cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Copy,                           \
1208cdf0e10cSrcweir 		aEXCHG_DEST_DOC_LNKD_GRAPH_W_IMAP_Link                            \
1209cdf0e10cSrcweir 	},                                                                    \
1210cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_IMAPREGION,                                          \
1211cdf0e10cSrcweir 		aEXCHG_DEST_DOC_IMAPREGION_Def,                                   \
1212cdf0e10cSrcweir 		aEXCHG_DEST_DOC_IMAPREGION_Copy,                                  \
1213cdf0e10cSrcweir 		aEmptyArr,                                                        \
1214cdf0e10cSrcweir 		aEmptyArr                                                         \
1215cdf0e10cSrcweir 	},                                                                    \
1216cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_DRAWOBJ,                                             \
1217cdf0e10cSrcweir 		aEXCHG_DEST_DOC_DRAWOBJ_Def,                                      \
1218cdf0e10cSrcweir 		aEXCHG_DEST_DOC_DRAWOBJ_Copy,                                     \
1219cdf0e10cSrcweir 		aEXCHG_DEST_DOC_DRAWOBJ_Move,                                     \
1220cdf0e10cSrcweir 		aEXCHG_DEST_DOC_DRAWOBJ_Link                                      \
1221cdf0e10cSrcweir 	},                                                                    \
1222cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_URLBUTTON,                                           \
1223cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLBUTTON_Def,                                    \
1224cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLBUTTON_Move,                                   \
1225cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLBUTTON_Copy,                                   \
1226cdf0e10cSrcweir 		aEmptyArr                                                         \
1227cdf0e10cSrcweir 	},                                                                    \
1228cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_URLFIELD,                                            \
1229cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLFIELD_Def,                                     \
1230cdf0e10cSrcweir 		aEmptyArr,                                                        \
1231cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLFIELD_Copy,                                    \
1232cdf0e10cSrcweir 		aEXCHG_DEST_DOC_URLFIELD_Link                                     \
1233cdf0e10cSrcweir 	},                                                                    \
1234cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_GROUPOBJ,                                            \
1235cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GROUPOBJ_Def,                                     \
1236cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GROUPOBJ_Move,                                    \
1237cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GROUPOBJ_Copy,                                    \
1238cdf0e10cSrcweir 		aEXCHG_DEST_DOC_GROUPOBJ_Link                                     \
1239cdf0e10cSrcweir 	},                                                                    \
1240cdf0e10cSrcweir 	{ EXCHG_DEST_SWDOC_FREE_AREA,                                         \
1241cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_Def,                                  \
1242cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_Move,                                 \
1243cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_Copy,                                 \
1244cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_Link                                  \
1245cdf0e10cSrcweir 	},                                                                    \
1246cdf0e10cSrcweir 	{ EXCHG_DEST_SCDOC_FREE_AREA,                                         \
1247cdf0e10cSrcweir 		aEXCHG_DEST_SCDOC_FREE_AREA_Def,                                  \
1248cdf0e10cSrcweir 		aEXCHG_DEST_SCDOC_FREE_AREA_Move,                                 \
1249cdf0e10cSrcweir 		aEXCHG_DEST_SCDOC_FREE_AREA_Copy,                                 \
1250cdf0e10cSrcweir 		aEXCHG_DEST_SCDOC_FREE_AREA_Link                                  \
1251cdf0e10cSrcweir 	},                                                                    \
1252cdf0e10cSrcweir 	{ EXCHG_DEST_SDDOC_FREE_AREA,                                         \
1253cdf0e10cSrcweir 		aEXCHG_DEST_SDDOC_FREE_AREA_Def,                                  \
1254cdf0e10cSrcweir 		aEXCHG_DEST_SDDOC_FREE_AREA_Move,                                 \
1255cdf0e10cSrcweir 		aEXCHG_DEST_SDDOC_FREE_AREA_Copy,                                 \
1256cdf0e10cSrcweir 		aEXCHG_DEST_SDDOC_FREE_AREA_Link                                  \
1257cdf0e10cSrcweir 	},                                                                    \
1258cdf0e10cSrcweir 	{ EXCHG_DEST_DOC_TEXTFRAME_WEB,								  		  \
1259cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_WEB_Def,                                \
1260cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_WEB_Move,                               \
1261cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_WEB_Copy,                               \
1262cdf0e10cSrcweir 		aEXCHG_DEST_DOC_TEXTFRAME_WEB_Link	                              \
1263cdf0e10cSrcweir 	},																	  \
1264cdf0e10cSrcweir 	{ EXCHG_DEST_SWDOC_FREE_AREA_WEB,									  \
1265cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Def,						  	  \
1266cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Move,                             \
1267cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Copy,                             \
1268cdf0e10cSrcweir 		aEXCHG_DEST_SWDOC_FREE_AREA_WEB_Link                              \
1269cdf0e10cSrcweir 	},																	  \
1270cdf0e10cSrcweir 	{                                                                     \
1271cdf0e10cSrcweir 		0xffff, 0, 0, 0, 0                                                \
1272cdf0e10cSrcweir 	}                                                                     \
1273cdf0e10cSrcweir };
1274cdf0e10cSrcweir 
1275cdf0e10cSrcweir 
1276cdf0e10cSrcweir 
1277cdf0e10cSrcweir 
1278cdf0e10cSrcweir // ---------------------------------
1279cdf0e10cSrcweir // - new style GetExchange methods -
1280cdf0e10cSrcweir // ---------------------------------
1281cdf0e10cSrcweir 
1282cdf0e10cSrcweir sal_Bool IsFormatSupported( const DataFlavorExVector& rDataFlavorExVector, sal_uLong nId )
1283cdf0e10cSrcweir {
1284cdf0e10cSrcweir 	DataFlavorExVector::iterator	aIter( ( (DataFlavorExVector&) rDataFlavorExVector ).begin() );
1285cdf0e10cSrcweir 	DataFlavorExVector::iterator	aEnd( ( (DataFlavorExVector&) rDataFlavorExVector ).end() );
1286cdf0e10cSrcweir 	sal_Bool						bRet = sal_False;
1287cdf0e10cSrcweir 
1288cdf0e10cSrcweir 	while( aIter != aEnd )
1289cdf0e10cSrcweir 	{
1290cdf0e10cSrcweir 		if( nId == (*aIter++).mnSotId )
1291cdf0e10cSrcweir 		{
1292cdf0e10cSrcweir 			bRet = sal_True;
1293cdf0e10cSrcweir 			aIter = aEnd;
1294cdf0e10cSrcweir 		}
1295cdf0e10cSrcweir 	}
1296cdf0e10cSrcweir 
1297cdf0e10cSrcweir 	return bRet;
1298cdf0e10cSrcweir }
1299cdf0e10cSrcweir 
1300cdf0e10cSrcweir // -----------------------------------------------------------------------------
1301cdf0e10cSrcweir 
1302cdf0e10cSrcweir static sal_Bool CheckTransferableContext_Impl( const Reference< XTransferable >* pxTransferable, const SotAction_Impl&
1303cdf0e10cSrcweir #ifdef WNT
1304cdf0e10cSrcweir rEntry
1305cdf0e10cSrcweir #endif
1306cdf0e10cSrcweir )
1307cdf0e10cSrcweir {
1308cdf0e10cSrcweir 	DataFlavor	aFlavor;
1309cdf0e10cSrcweir 	sal_Bool		bRet = sal_True;
1310cdf0e10cSrcweir 
1311cdf0e10cSrcweir 	try
1312cdf0e10cSrcweir 	{
1313cdf0e10cSrcweir 		if( pxTransferable && (*pxTransferable).is() &&
1314cdf0e10cSrcweir 			SotExchange::GetFormatDataFlavor( SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, aFlavor ) &&
1315cdf0e10cSrcweir 			(*pxTransferable)->isDataFlavorSupported( aFlavor ) )
1316cdf0e10cSrcweir 		{
1317cdf0e10cSrcweir #ifdef WNT
1318cdf0e10cSrcweir 			switch( rEntry.nContextCheckId )
1319cdf0e10cSrcweir 			{
1320cdf0e10cSrcweir 				case FILEGRPDSC_ONLY_URL:
1321cdf0e10cSrcweir 				{
1322cdf0e10cSrcweir 					bRet = sal_False;
1323cdf0e10cSrcweir 
1324cdf0e10cSrcweir 					if(	SotExchange::GetFormatDataFlavor( SOT_FORMATSTR_ID_FILECONTENT, aFlavor ) &&
1325cdf0e10cSrcweir 						(*pxTransferable)->isDataFlavorSupported( aFlavor ) &&
1326cdf0e10cSrcweir 						SotExchange::GetFormatDataFlavor( rEntry.nFormatId, aFlavor ) &&
1327cdf0e10cSrcweir 						(*pxTransferable)->isDataFlavorSupported( aFlavor ) )
1328cdf0e10cSrcweir 					{
1329cdf0e10cSrcweir 						Any aAny( (*pxTransferable)->getTransferData( aFlavor ) );
1330cdf0e10cSrcweir 
1331cdf0e10cSrcweir 						if( aAny.hasValue() )
1332cdf0e10cSrcweir 						{
1333cdf0e10cSrcweir 							Sequence< sal_Int8 > aSeq; aAny >>= aSeq;
1334cdf0e10cSrcweir 
1335cdf0e10cSrcweir 							if( aSeq.getLength() )
1336cdf0e10cSrcweir 							{
1337cdf0e10cSrcweir 								FILEGROUPDESCRIPTOR* pFDesc = (FILEGROUPDESCRIPTOR*) aSeq.getConstArray();
1338cdf0e10cSrcweir 
1339cdf0e10cSrcweir 								if( pFDesc->cItems )
1340cdf0e10cSrcweir 								{
1341cdf0e10cSrcweir 									ByteString sDesc( pFDesc->fgd[ 0 ].cFileName );
1342cdf0e10cSrcweir 									bRet = 4 < sDesc.Len() && sDesc.Copy( sDesc.Len()-4 ).EqualsIgnoreCaseAscii( ".URL" );
1343cdf0e10cSrcweir 								}
1344cdf0e10cSrcweir 							}
1345cdf0e10cSrcweir 						}
1346cdf0e10cSrcweir 					}
1347cdf0e10cSrcweir 				}
1348cdf0e10cSrcweir 				break;
1349cdf0e10cSrcweir 			}
1350cdf0e10cSrcweir #endif
1351cdf0e10cSrcweir 		}
1352cdf0e10cSrcweir 	}
1353cdf0e10cSrcweir 	catch( const UnsupportedFlavorException& )
1354cdf0e10cSrcweir 	{
1355cdf0e10cSrcweir 	}
1356cdf0e10cSrcweir 	catch( const RuntimeException& )
1357cdf0e10cSrcweir 	{
1358cdf0e10cSrcweir 	}
1359cdf0e10cSrcweir 
1360cdf0e10cSrcweir 
1361cdf0e10cSrcweir 	return bRet;
1362cdf0e10cSrcweir }
1363cdf0e10cSrcweir 
1364cdf0e10cSrcweir // -----------------------------------------------------------------------------
1365cdf0e10cSrcweir 
1366cdf0e10cSrcweir static sal_uInt16 GetTransferableAction_Impl(
1367cdf0e10cSrcweir 							const DataFlavorExVector& rDataFlavorExVector,
1368cdf0e10cSrcweir 						 	const SotAction_Impl* pArray,
1369cdf0e10cSrcweir 							sal_uLong& rFormat,
1370cdf0e10cSrcweir 							sal_uLong nOnlyTestFormat,
1371cdf0e10cSrcweir 							const Reference< XTransferable >* pxTransferable )
1372cdf0e10cSrcweir {
1373cdf0e10cSrcweir 	try
1374cdf0e10cSrcweir 	{
1375cdf0e10cSrcweir 		if( rDataFlavorExVector.size() )
1376cdf0e10cSrcweir 		{
1377cdf0e10cSrcweir 			DataFlavor				aFlavor;
1378cdf0e10cSrcweir 			const SotAction_Impl*	pArrayStart = pArray;
1379cdf0e10cSrcweir 			sal_uLong					nId = pArray->nFormatId;
1380cdf0e10cSrcweir 
1381cdf0e10cSrcweir #if OSL_DEBUG_LEVEL > 1
1382cdf0e10cSrcweir // used for testing a specific format - change in the debugger the value
1383cdf0e10cSrcweir 	static sal_uLong nChkFormat = 0;
1384cdf0e10cSrcweir 	if( nChkFormat )
1385cdf0e10cSrcweir 	{
1386cdf0e10cSrcweir 		for( ; 0xffff != pArray->nFormatId &&
1387cdf0e10cSrcweir 			   nChkFormat != pArray->nFormatId; ++pArray )
1388cdf0e10cSrcweir 			;
1389cdf0e10cSrcweir 		nId = pArray->nFormatId;
1390cdf0e10cSrcweir 	}
1391cdf0e10cSrcweir #endif
1392cdf0e10cSrcweir 
1393cdf0e10cSrcweir 			while( nId != 0xffff )
1394cdf0e10cSrcweir 			{
1395cdf0e10cSrcweir 				rFormat = nId;
1396cdf0e10cSrcweir 
1397cdf0e10cSrcweir 				if( ( !nOnlyTestFormat || nOnlyTestFormat == nId ) &&
1398cdf0e10cSrcweir 					IsFormatSupported( rDataFlavorExVector, nId ) &&
1399cdf0e10cSrcweir 					( !pArray->nContextCheckId || CheckTransferableContext_Impl( pxTransferable, *pArray ) ) )
1400cdf0e10cSrcweir 				{
1401cdf0e10cSrcweir 					if( pxTransferable && (*pxTransferable).is() && ( SOT_FORMAT_FILE_LIST == rFormat ) )
1402cdf0e10cSrcweir 					{
1403cdf0e10cSrcweir 						if(	IsFormatSupported( rDataFlavorExVector, SOT_FORMAT_FILE ) )
1404cdf0e10cSrcweir 						{
1405cdf0e10cSrcweir 							DataFlavor aFileListFlavor;
1406cdf0e10cSrcweir 							SotExchange::GetFormatDataFlavor( SOT_FORMAT_FILE_LIST, aFileListFlavor );
1407cdf0e10cSrcweir 							Any aAny( (*pxTransferable)->getTransferData( aFileListFlavor ) );
1408cdf0e10cSrcweir 
1409cdf0e10cSrcweir 							if( aAny.hasValue() )
1410cdf0e10cSrcweir 							{
1411cdf0e10cSrcweir 								Sequence< sal_Int8 >	aSeq; aAny >>= aSeq;
1412cdf0e10cSrcweir 								SvMemoryStream			aMemStm( (void*) aSeq.getConstArray(), aSeq.getLength(), STREAM_READ );
1413cdf0e10cSrcweir 		            			FileList				aFileList;
1414cdf0e10cSrcweir 
1415cdf0e10cSrcweir 								aMemStm >> aFileList;
1416cdf0e10cSrcweir 
1417cdf0e10cSrcweir 								if( !aMemStm.GetError() && ( aFileList.Count() == 1 ) )
1418cdf0e10cSrcweir 								{
1419cdf0e10cSrcweir 									const SotAction_Impl* pCur = pArrayStart;
1420cdf0e10cSrcweir 
1421cdf0e10cSrcweir 									while( pCur->nFormatId != 0xffff )
1422cdf0e10cSrcweir 									{
1423cdf0e10cSrcweir 										if( pCur->nFormatId == SOT_FORMAT_FILE )
1424cdf0e10cSrcweir 										{
1425cdf0e10cSrcweir 											rFormat = SOT_FORMAT_FILE;
1426cdf0e10cSrcweir 											return pCur->nAction;
1427cdf0e10cSrcweir 										}
1428cdf0e10cSrcweir 										pCur++;
1429cdf0e10cSrcweir 									}
1430cdf0e10cSrcweir 								}
1431cdf0e10cSrcweir 							}
1432cdf0e10cSrcweir 						}
1433cdf0e10cSrcweir 					}
1434cdf0e10cSrcweir 					return pArray->nAction;
1435cdf0e10cSrcweir 				}
1436cdf0e10cSrcweir 				pArray++;
1437cdf0e10cSrcweir 				nId = pArray->nFormatId;
1438cdf0e10cSrcweir 			}
1439cdf0e10cSrcweir 		}
1440cdf0e10cSrcweir 	}
1441cdf0e10cSrcweir 	catch( const UnsupportedFlavorException& )
1442cdf0e10cSrcweir 	{
1443cdf0e10cSrcweir 	}
1444cdf0e10cSrcweir 	catch( const RuntimeException& )
1445cdf0e10cSrcweir 	{
1446cdf0e10cSrcweir 	}
1447cdf0e10cSrcweir 
1448cdf0e10cSrcweir 	return EXCHG_INOUT_ACTION_NONE;
1449cdf0e10cSrcweir }
1450cdf0e10cSrcweir 
1451cdf0e10cSrcweir // -----------------------------------------------------------------------------
1452cdf0e10cSrcweir 
1453cdf0e10cSrcweir sal_uInt16 SotExchange::GetExchangeAction( const DataFlavorExVector& rDataFlavorExVector,
1454cdf0e10cSrcweir 									   sal_uInt16 nDestination,
1455cdf0e10cSrcweir 									   sal_uInt16 nSourceOptions,
1456cdf0e10cSrcweir 									   sal_uInt16 nUserAction,
1457cdf0e10cSrcweir 									   sal_uLong& rFormat,
1458cdf0e10cSrcweir 									   sal_uInt16& rDefaultAction,
1459cdf0e10cSrcweir 									   sal_uLong nOnlyTestFormat,
1460cdf0e10cSrcweir 									   const Reference< XTransferable >* pxTransferable )
1461cdf0e10cSrcweir {
1462cdf0e10cSrcweir 	// hier wird jetzt die oben definierte Tabelle "implementiert"
1463cdf0e10cSrcweir 	IMPL_DATA_ARRAY_1;
1464cdf0e10cSrcweir 	IMPL_DATA_ARRAY_2;
1465cdf0e10cSrcweir 	IMPL_DATA_ARRAY_3;
1466cdf0e10cSrcweir 
1467cdf0e10cSrcweir 	rFormat = SOT_FORMAT_STRING;
1468cdf0e10cSrcweir 
1469cdf0e10cSrcweir 	//Todo: Binaere Suche einbauen
1470cdf0e10cSrcweir 	const SotDestinationEntry_Impl* pEntry = aDestinationArray;
1471cdf0e10cSrcweir 	while( 0xffff != pEntry->nDestination )
1472cdf0e10cSrcweir 	{
1473cdf0e10cSrcweir 		if( pEntry->nDestination == nDestination )
1474cdf0e10cSrcweir 			break;
1475cdf0e10cSrcweir 		++pEntry;
1476cdf0e10cSrcweir 	}
1477cdf0e10cSrcweir 
1478cdf0e10cSrcweir 	if( 0xffff == pEntry->nDestination )
1479cdf0e10cSrcweir 	{
1480cdf0e10cSrcweir 		return EXCHG_INOUT_ACTION_NONE;
1481cdf0e10cSrcweir 	}
1482cdf0e10cSrcweir 
1483cdf0e10cSrcweir 	nUserAction &= EXCHG_ACTION_MASK;
1484cdf0e10cSrcweir 	rFormat = 0;
1485cdf0e10cSrcweir 
1486cdf0e10cSrcweir 	/* Behandlung der Default-Action nach folgender Vorgehensweise:
1487cdf0e10cSrcweir 
1488cdf0e10cSrcweir 	   - Das Ziel wird nach der Default-Action gefragt
1489cdf0e10cSrcweir 	   - Unterstuetzt die Quelle diese Aktion so wird sie uebernommen
1490cdf0e10cSrcweir 	   - Anderenfalls wird aus den von der Quelle zur Verfuegung gestellten
1491cdf0e10cSrcweir 		 Aktionen eine ausgewaehlt, die zu einer moeglichst nicht leeren
1492cdf0e10cSrcweir 	 	 Ergebnisaktion fuehrt. Hierbei wird in dieser Reihenfolge
1493cdf0e10cSrcweir 	 	 vorgegangen: Copy -> Link -> Move
1494cdf0e10cSrcweir 	*/
1495cdf0e10cSrcweir 	if( nUserAction == EXCHG_IN_ACTION_DEFAULT )
1496cdf0e10cSrcweir 	{
1497cdf0e10cSrcweir             nUserAction = GetTransferableAction_Impl(
1498cdf0e10cSrcweir                 rDataFlavorExVector, pEntry->aDefaultActions,
1499cdf0e10cSrcweir                 rFormat, nOnlyTestFormat, pxTransferable );
1500cdf0e10cSrcweir             // Unterstuetzt die Quelle die Aktion?
1501cdf0e10cSrcweir             if( !(nUserAction & nSourceOptions ))
1502cdf0e10cSrcweir             {
1503cdf0e10cSrcweir                 // Nein -> Alle Aktionen der Quelle checken
1504cdf0e10cSrcweir                 rDefaultAction = (EXCHG_IN_ACTION_COPY & nSourceOptions);
1505cdf0e10cSrcweir                 if( rDefaultAction )
1506cdf0e10cSrcweir                 {
1507cdf0e10cSrcweir                     nUserAction = GetTransferableAction_Impl(
1508cdf0e10cSrcweir                         rDataFlavorExVector, pEntry->aCopyActions,
1509cdf0e10cSrcweir                         rFormat, nOnlyTestFormat, pxTransferable );
1510cdf0e10cSrcweir                     if ( nUserAction )
1511cdf0e10cSrcweir                         return nUserAction;
1512cdf0e10cSrcweir                 }
1513cdf0e10cSrcweir                 rDefaultAction = (EXCHG_IN_ACTION_LINK & nSourceOptions);
1514cdf0e10cSrcweir                 if( rDefaultAction )
1515cdf0e10cSrcweir                 {
1516cdf0e10cSrcweir                     nUserAction = GetTransferableAction_Impl(
1517cdf0e10cSrcweir                         rDataFlavorExVector, pEntry->aLinkActions,
1518cdf0e10cSrcweir                         rFormat, nOnlyTestFormat, pxTransferable );
1519cdf0e10cSrcweir                     if ( nUserAction )
1520cdf0e10cSrcweir                         return nUserAction;
1521cdf0e10cSrcweir                 }
1522cdf0e10cSrcweir                 rDefaultAction = (EXCHG_IN_ACTION_MOVE & nSourceOptions);
1523cdf0e10cSrcweir                 if( rDefaultAction )
1524cdf0e10cSrcweir                 {
1525cdf0e10cSrcweir                     nUserAction = GetTransferableAction_Impl(
1526cdf0e10cSrcweir                         rDataFlavorExVector, pEntry->aMoveActions,
1527cdf0e10cSrcweir                         rFormat, nOnlyTestFormat, pxTransferable );
1528cdf0e10cSrcweir                     if ( nUserAction )
1529cdf0e10cSrcweir                         return nUserAction;
1530cdf0e10cSrcweir                 }
1531cdf0e10cSrcweir                 rDefaultAction = 0;
1532cdf0e10cSrcweir                 return 0;
1533cdf0e10cSrcweir             }
1534cdf0e10cSrcweir             rDefaultAction = nUserAction;
1535cdf0e10cSrcweir 	}
1536cdf0e10cSrcweir   	else
1537cdf0e10cSrcweir             rDefaultAction = nUserAction;
1538cdf0e10cSrcweir 
1539cdf0e10cSrcweir 	switch( nUserAction )
1540cdf0e10cSrcweir 	{
1541cdf0e10cSrcweir 	case EXCHG_IN_ACTION_MOVE:
1542cdf0e10cSrcweir 		nUserAction = GetTransferableAction_Impl(
1543cdf0e10cSrcweir 							rDataFlavorExVector, pEntry->aMoveActions,
1544cdf0e10cSrcweir 							rFormat, nOnlyTestFormat, pxTransferable );
1545cdf0e10cSrcweir 		break;
1546cdf0e10cSrcweir 
1547cdf0e10cSrcweir 	case EXCHG_IN_ACTION_COPY:
1548cdf0e10cSrcweir 		nUserAction = GetTransferableAction_Impl(
1549cdf0e10cSrcweir 							rDataFlavorExVector, pEntry->aCopyActions,
1550cdf0e10cSrcweir 							rFormat, nOnlyTestFormat, pxTransferable );
1551cdf0e10cSrcweir 		break;
1552cdf0e10cSrcweir 
1553cdf0e10cSrcweir 	case EXCHG_IN_ACTION_LINK:
1554cdf0e10cSrcweir 		nUserAction = GetTransferableAction_Impl(
1555cdf0e10cSrcweir 							rDataFlavorExVector, pEntry->aLinkActions,
1556cdf0e10cSrcweir 							rFormat, nOnlyTestFormat, pxTransferable );
1557cdf0e10cSrcweir 		break;
1558cdf0e10cSrcweir 
1559cdf0e10cSrcweir 	default:
1560cdf0e10cSrcweir 		nUserAction = EXCHG_INOUT_ACTION_NONE;
1561cdf0e10cSrcweir 	}
1562cdf0e10cSrcweir 	return nUserAction;
1563cdf0e10cSrcweir }
1564cdf0e10cSrcweir 
1565cdf0e10cSrcweir // -----------------------------------------------------------------------------
1566cdf0e10cSrcweir 
1567cdf0e10cSrcweir sal_uInt16 SotExchange::GetExchangeAction(
1568cdf0e10cSrcweir 						const Reference< XTransferable >& rxTransferable,
1569cdf0e10cSrcweir 						sal_uInt16 nDestination, sal_uInt16 nSourceOptions,
1570cdf0e10cSrcweir 						sal_uInt16 nUserAction, sal_uLong& rFormat,
1571cdf0e10cSrcweir 						sal_uInt16& rDefaultAction, sal_uLong nOnlyTestFormat )
1572cdf0e10cSrcweir {
1573cdf0e10cSrcweir 	DataFlavorExVector aVector;
1574cdf0e10cSrcweir 
1575cdf0e10cSrcweir 	if( rxTransferable.is() )
1576cdf0e10cSrcweir 	{
1577cdf0e10cSrcweir 		try
1578cdf0e10cSrcweir 		{
1579cdf0e10cSrcweir 			const Sequence< DataFlavor > aFlavors( rxTransferable->getTransferDataFlavors() );
1580cdf0e10cSrcweir 
1581cdf0e10cSrcweir 			for( sal_Int32 i = 0; i < aFlavors.getLength(); i++ )
1582cdf0e10cSrcweir 			{
1583cdf0e10cSrcweir 				DataFlavorEx		aFlavorEx;
1584cdf0e10cSrcweir 				const DataFlavor&	rFlavor = aFlavors[ i ];
1585cdf0e10cSrcweir 
1586cdf0e10cSrcweir 				aFlavorEx.MimeType = rFlavor.MimeType;
1587cdf0e10cSrcweir 				aFlavorEx.HumanPresentableName = rFlavor.HumanPresentableName;
1588cdf0e10cSrcweir 				aFlavorEx.DataType = rFlavor.DataType;
1589cdf0e10cSrcweir 				aFlavorEx.mnSotId = SotExchange::RegisterFormat( rFlavor );
1590cdf0e10cSrcweir 
1591cdf0e10cSrcweir 				aVector.push_back( aFlavorEx );
1592cdf0e10cSrcweir 
1593*45fd3b9aSArmin Le Grand 				if( (( SOT_FORMATSTR_ID_BMP == aFlavorEx.mnSotId ) || (SOT_FORMATSTR_ID_PNG == aFlavorEx.mnSotId)) &&
1594cdf0e10cSrcweir 					!IsFormatSupported( aVector, SOT_FORMAT_BITMAP ) )
1595cdf0e10cSrcweir 				{
1596cdf0e10cSrcweir 					if( SotExchange::GetFormatDataFlavor( SOT_FORMAT_BITMAP, aFlavorEx ) )
1597cdf0e10cSrcweir 					{
1598cdf0e10cSrcweir 						aFlavorEx.mnSotId = SOT_FORMAT_BITMAP;
1599cdf0e10cSrcweir 						aVector.push_back( aFlavorEx );
1600cdf0e10cSrcweir 					}
1601cdf0e10cSrcweir 				}
1602cdf0e10cSrcweir 				else if( ( ( SOT_FORMATSTR_ID_WMF == aFlavorEx.mnSotId ) ||
1603cdf0e10cSrcweir 					       ( SOT_FORMATSTR_ID_EMF == aFlavorEx.mnSotId ) ) &&
1604cdf0e10cSrcweir 					     !IsFormatSupported( aVector, SOT_FORMAT_GDIMETAFILE ) )
1605cdf0e10cSrcweir 				{
1606cdf0e10cSrcweir 					if( SotExchange::GetFormatDataFlavor( SOT_FORMAT_GDIMETAFILE, aFlavorEx ) )
1607cdf0e10cSrcweir 					{
1608cdf0e10cSrcweir 						aFlavorEx.mnSotId = SOT_FORMAT_GDIMETAFILE;
1609cdf0e10cSrcweir 						aVector.push_back( aFlavorEx );
1610cdf0e10cSrcweir 					}
1611cdf0e10cSrcweir 				}
1612cdf0e10cSrcweir 			}
1613cdf0e10cSrcweir 		}
1614cdf0e10cSrcweir 		catch( const ::com::sun::star::uno::Exception& )
1615cdf0e10cSrcweir 		{
1616cdf0e10cSrcweir 		}
1617cdf0e10cSrcweir 	}
1618cdf0e10cSrcweir 
1619cdf0e10cSrcweir 	return( SotExchange::GetExchangeAction( aVector, nDestination, nSourceOptions,
1620cdf0e10cSrcweir 											nUserAction, rFormat, rDefaultAction,
1621cdf0e10cSrcweir 											nOnlyTestFormat, &rxTransferable ) );
1622cdf0e10cSrcweir }
1623cdf0e10cSrcweir 
1624cdf0e10cSrcweir sal_uInt16 SotExchange::IsChart(  const SvGlobalName& rName )
1625cdf0e10cSrcweir {
1626cdf0e10cSrcweir 	sal_uInt16 nRet=0;
1627cdf0e10cSrcweir //	if ( rName == SvGlobalName( SO3_SCH_CLASSID_8 ) )
1628cdf0e10cSrcweir //		nRet = SOFFICE_FILEFORMAT_8;
1629cdf0e10cSrcweir //	else
1630cdf0e10cSrcweir 	if ( rName == SvGlobalName( SO3_SCH_CLASSID_60 ) )
1631cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_60;
1632cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SCH_CLASSID_50 ) )
1633cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_50;
1634cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SCH_CLASSID_40 ) )
1635cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_40;
1636cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SCH_CLASSID_30 ) )
1637cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_31;
1638cdf0e10cSrcweir 
1639cdf0e10cSrcweir 	return nRet;
1640cdf0e10cSrcweir }
1641cdf0e10cSrcweir 
1642cdf0e10cSrcweir sal_uInt16 SotExchange::IsMath(  const SvGlobalName& rName )
1643cdf0e10cSrcweir {
1644cdf0e10cSrcweir 	sal_uInt16 nRet=0;
1645cdf0e10cSrcweir //	if ( rName == SvGlobalName( SO3_SM_CLASSID_8 ) )
1646cdf0e10cSrcweir //		nRet = SOFFICE_FILEFORMAT_8;
1647cdf0e10cSrcweir //	else
1648cdf0e10cSrcweir 	if ( rName == SvGlobalName( SO3_SM_CLASSID_60 ) )
1649cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_60;
1650cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SM_CLASSID_50 ) )
1651cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_50;
1652cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SM_CLASSID_40 ) )
1653cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_40;
1654cdf0e10cSrcweir 	else if ( rName == SvGlobalName( SO3_SM_CLASSID_30 ) )
1655cdf0e10cSrcweir 		nRet = SOFFICE_FILEFORMAT_31;
1656cdf0e10cSrcweir 
1657cdf0e10cSrcweir 	return nRet;
1658cdf0e10cSrcweir }
1659cdf0e10cSrcweir 
1660