DndDropR.sgm 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. <!-- $XConsortium: DndDropR.sgm /main/10 1996/11/15 15:20:54 cdedoc $ -->
  2. <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
  3. <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
  4. <!-- (c) Copyright 1995 International Business Machines Corp. -->
  5. <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
  6. <!-- (c) Copyright 1995 Novell, Inc. -->
  7. <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
  8. <!-- (c) Copyright 1995 Hitachi. -->
  9. <![ %CDE.C.CDE; [<RefEntry Id="CDEMX.XCDI.MAN26.rsml.1">]]>
  10. <![ %CDE.C.XO; [<RefEntry Id="XCDI.MAN26.rsml.1">]]>
  11. <RefMeta>
  12. <RefEntryTitle>DtDndDropRegister</RefEntryTitle>
  13. <ManVolNum>library call</ManVolNum>
  14. </RefMeta>
  15. <RefNameDiv>
  16. <RefName><Function>DtDndDropRegister</Function>,
  17. <Function>DtDndVaDropRegister</Function>
  18. </RefName>
  19. <RefPurpose>specify a drop site
  20. </RefPurpose>
  21. </RefNameDiv>
  22. <RefSynopsisDiv>
  23. <FuncSynopsis Remap="ANSI">
  24. <FuncSynopsisInfo>#include &lt;Dt/Dnd.h>
  25. </FuncSynopsisInfo>
  26. <FuncDef>void <Function>DtDndDropRegister</Function></FuncDef>
  27. <ParamDef>Widget <Parameter>dropSite</Parameter></ParamDef>
  28. <ParamDef>DtDndProtocol <Parameter>protocols</Parameter></ParamDef>
  29. <ParamDef>unsigned char <Parameter>operations</Parameter></ParamDef>
  30. <ParamDef>XtCallbackList <Parameter>transferCallback</Parameter></ParamDef>
  31. <ParamDef>ArgList <Parameter>argList</Parameter></ParamDef>
  32. <ParamDef>Cardinal <Parameter>argCount</Parameter></ParamDef>
  33. </FuncSynopsis>
  34. <FuncSynopsis Remap="ANSI">
  35. <FuncDef>void <Function>DtDndVaDropRegister</Function></FuncDef>
  36. <ParamDef>Widget <Parameter>dropSite</Parameter></ParamDef>
  37. <ParamDef>DtDndProtocol <Parameter>protocols</Parameter></ParamDef>
  38. <ParamDef>unsigned char <Parameter>operations</Parameter></ParamDef>
  39. <ParamDef>XtCallbackList <Parameter>transferCallback</Parameter></ParamDef>
  40. <ParamDef>...</ParamDef>
  41. </FuncSynopsis>
  42. </RefSynopsisDiv>
  43. <RefSect1>
  44. <Title>DESCRIPTION</Title>
  45. <Para>The
  46. <Function>DtDndDropRegister</Function> and
  47. <Function>DtDndVaDropRegister</Function> functions register a Motif drop site with import targets based on the
  48. specified data transfer protocols.
  49. <Function>DtDndDropRegister</Function> may be called to register a widget as a drop site at any time, typically
  50. soon after the widget is created.
  51. </Para>
  52. <Para>The only difference between
  53. <Function>DtDndDropRegister</Function> and
  54. <Function>DtDndVaDropRegister</Function> is how the argument list is passed.
  55. The argument list is passed as an
  56. <StructName Role="typedef">ArgList</StructName> to
  57. <Function>DtDndDropRegister</Function> and using
  58. <symbol role="variable">VarArgs</symbol> for
  59. <Function>DtDndVaDropRegister</Function>.</Para>
  60. <Para>The
  61. <symbol role="variable">dropSite</symbol> argument specifies the widget to register as the drop site.
  62. </Para>
  63. <Para>The
  64. <Symbol Role="Variable">protocol</Symbol> argument specifies the set of data transfer protocols
  65. in which the drop site is able to participate.
  66. Valid values are:
  67. </Para>
  68. <VariableList>
  69. <VarListEntry>
  70. <Term>DtDND_TEXT_TRANSFER</Term>
  71. <ListItem>
  72. <Para>The drop site can transfer a list of text.
  73. </Para>
  74. </ListItem>
  75. </VarListEntry>
  76. <VarListEntry>
  77. <Term>DtDND_FILENAME_TRANSFER</Term>
  78. <ListItem>
  79. <Para>The drop site can transfer a list of file names.
  80. </Para>
  81. </ListItem>
  82. </VarListEntry>
  83. <VarListEntry>
  84. <Term>DtDND_BUFFER_TRANSFER</Term>
  85. <ListItem>
  86. <Para>The drop site can transfer a list of memory buffers.
  87. </Para>
  88. </ListItem>
  89. </VarListEntry>
  90. </VariableList>
  91. <Para>A drop site can support any combination of these protocols.
  92. A combination of protocols is specified by the
  93. bitwise inclusive OR of several protocol values.
  94. </Para>
  95. <Para>The
  96. <Symbol Role="Variable">operations</Symbol> argument
  97. specifies the set of valid operations associated with a drop site.
  98. The operations are:
  99. </Para>
  100. <VariableList>
  101. <VarListEntry>
  102. <Term>XmDROP_COPY</Term>
  103. <ListItem>
  104. <Para>Copy operations are valid.
  105. The data will be copied from the drag source.
  106. </Para>
  107. </ListItem>
  108. </VarListEntry>
  109. <VarListEntry>
  110. <Term>XmDROP_LINK</Term>
  111. <ListItem>
  112. <Para>Link operations are valid.
  113. The data will be linked using an alternative method.
  114. </Para>
  115. </ListItem>
  116. </VarListEntry>
  117. <VarListEntry>
  118. <Term>XmDROP_MOVE</Term>
  119. <ListItem>
  120. <Para>Move operations are valid.
  121. The data will be copied, and optionally deleted, from the drag source.
  122. </Para>
  123. </ListItem>
  124. </VarListEntry>
  125. </VariableList>
  126. <Para>A drop site can support any combination of these operations.
  127. A combination of operations is specified by the
  128. bitwise inclusive OR of several operation values.
  129. </Para>
  130. <Para>The
  131. <symbol role="variable">transferCallback</symbol> argument
  132. specifies the callback to be called when the dropped data object has been
  133. received by the drop site.
  134. The
  135. <symbol role="variable">transferCallback</symbol> is responsible for transferring the data from the
  136. <symbol role="variable">dropData</symbol> to the appropriate internal data structures at the drop site.
  137. <![ %CDE.C.CDE; [
  138. <!-- this is omitted from X/Open because it is info not--><!-- typically stated there about Motif callbacks-->The arguments for the
  139. <symbol role="variable">convertCallback</symbol> are the Motif Drag Context, an
  140. <StructName Role="typedef">XtPointer</StructName> to application-supplied client data,
  141. and an
  142. <StructName Role="typedef">XtPointer</StructName> to a
  143. <StructName Role="typedef">DtDndConvertCallbackStruct</StructName> structure.
  144. ]]></Para>
  145. <Para>The
  146. <symbol role="variable">argList</symbol> argument specifies the optional argument list.
  147. </Para>
  148. <Para>The
  149. <symbol role="variable">argCount</symbol> argument specifies the number of arguments in
  150. <symbol role="variable">argList</symbol>.</Para>
  151. <RefSect2>
  152. <Title>Argument Value Pairs</Title>
  153. <Para>The
  154. <Function>DtDndDragStart</Function> and
  155. <Function>DtDndVaDragStart</Function> functions support the following optional argument-value pairs.
  156. Motif resources can be set via the argument list as well,
  157. provided they are not resources that are used by the drag and drop subsystem;
  158. see
  159. <Literal>Motif Resources</Literal>.</Para>
  160. <VariableList>
  161. <VarListEntry>
  162. <Term><SystemItem Class="Resource">DtNregisterChildren</SystemItem> (<StructName Role="typedef">Boolean</StructName>)</Term>
  163. <ListItem>
  164. <Para>Specifies whether children of a composite drop site
  165. widget should be registered.
  166. If <symbol role="define">True</symbol>, then the composite
  167. <symbol role="variable">dropSite</symbol> widget and its children are registered as a single drop site.
  168. If <symbol role="define">False</symbol>, then only the
  169. <symbol role="variable">dropSite</symbol> widget itself is registered as the drop site.
  170. The default is <symbol role="define">False</symbol>.
  171. </Para>
  172. </ListItem>
  173. </VarListEntry>
  174. <VarListEntry>
  175. <Term><SystemItem Class="Resource">DtNtextIsBuffer</SystemItem> (<StructName Role="typedef">Boolean</StructName>)</Term>
  176. <ListItem>
  177. <Para>Specifies whether the drops of text selections
  178. should be treated as buffer drops.
  179. This attribute is only valid if
  180. <Symbol Role="Variable">protocols</Symbol> includes
  181. <SystemItem Class="Constant">DtDND_BUFFER_TRANSFER</SystemItem>. If
  182. <SystemItem Class="Resource">DtNtextIsBuffer</SystemItem> is <symbol role="define">True</symbol>, text drops are accepted as unnamed buffers;
  183. if it is <symbol role="define">False</symbol>, only drops of the specified
  184. <Symbol Role="Variable">protocols</Symbol> are accepted.
  185. The default is <symbol role="define">False</symbol>.
  186. </Para>
  187. </ListItem>
  188. </VarListEntry>
  189. <VarListEntry>
  190. <Term><SystemItem Class="Resource">DtNpreserveRegistration</SystemItem> (<StructName Role="typedef">Boolean</StructName>)</Term>
  191. <ListItem>
  192. <Para>Specifies whether to preserve any existing drop site
  193. registration for the
  194. <symbol role="variable">dropSite</symbol> widget.
  195. The application can disable preserving the
  196. drop site registration if the
  197. <symbol role="variable">dropSite</symbol> widget is known not to be registered as a drop site
  198. or that registration is not desired.
  199. This may improve drop site registration performance.
  200. If
  201. <SystemItem Class="Resource">DtNpreserveRegistration</SystemItem> is <symbol role="define">True</symbol>, existing drop site registration is preserved;
  202. if it is <symbol role="define">False</symbol>, the existing drop site registration is replaced.
  203. The default is <symbol role="define">True</symbol>.
  204. </Para>
  205. </ListItem>
  206. </VarListEntry>
  207. <VarListEntry>
  208. <Term><SystemItem Class="Resource">DtNdropAnimateCallback</SystemItem> (<StructName Role="typedef">XtCallbackList</StructName>)</Term>
  209. <ListItem>
  210. <Para>Specifies the callback to be called when the drop is complete.
  211. This enables graphical animation upon successful completion of a drop.
  212. This callback is called after the
  213. <symbol role="variable">transferCallback</symbol> is called and after Motif performs the "melt" effect.
  214. <![ %CDE.C.CDE; [The arguments for the
  215. <symbol role="variable">DtNDropAnimateCallback</Symbol> are the Motif Drag Context, an
  216. <StructName Role="typedef">XtPointer</StructName> to application-supplied client data,
  217. and an
  218. <StructName Role="typedef">XtPointer</StructName> to a
  219. <StructName Role="typedef">DtDndDropAnimateCallbackStruct</StructName> structure.
  220. ]]>The Motif Drag Context is in the process of being destroyed at this
  221. point so the application must not use it or any of its values in the
  222. <symbol role="variable">dropAnimateCallback</symbol>. The default is
  223. <SystemItem Class="Constant">NULL</SystemItem>.</Para>
  224. </ListItem>
  225. </VarListEntry>
  226. </VariableList>
  227. </RefSect2>
  228. <RefSect2>
  229. <Title>Callbacks</Title>
  230. <Para>Once the rendezvous with the drag source has been accomplished,
  231. the application-provided callback functions are called
  232. to perform the data transfer.
  233. </Para>
  234. <Para>First, the
  235. <symbol role="variable">transferCallback</symbol> is called with a
  236. <Symbol Role="Variable">reason</Symbol> of
  237. <SystemItem Class="Constant">DtCR_DND_TRANSFER_DATA</SystemItem>. The application should access the
  238. <StructName Role="typedef">DtDndContext</StructName> fields appropriate for the transfer protocol.
  239. The application should parse or type the dropped data
  240. to determine whether it is acceptable.
  241. If the dropped data is not acceptable,
  242. the status field of the
  243. <StructName Role="typedef">DtDndTransferCallbackStruct</StructName> should be set to
  244. <SystemItem Class="Constant">DtDND_FAILURE</SystemItem>.</Para>
  245. <Para>If the
  246. <SystemItem Class="Resource">DtNdropAnimateCallback</SystemItem> attribute has been specified, the
  247. <symbol role="variable">dropAnimateCallback</symbol> is then called with a
  248. <Symbol Role="Variable">reason</Symbol> of
  249. <SystemItem Class="Constant">DtCR_DND_DROP_ANIMATE</SystemItem>. The application should perform any
  250. application-provided animations for the drop.
  251. </Para>
  252. <Para>When the
  253. <symbol role="variable">transferCallback</symbol> (or the
  254. <symbol role="variable">dropAnimateCallback</symbol>, if specified)
  255. returns, all memory associated with the
  256. drop transfer is freed.
  257. Any data in the callback structures that will be
  258. used after the drop transfer is complete must be copied
  259. by the application.
  260. </Para>
  261. </RefSect2>
  262. <RefSect2>
  263. <Title>Callback Information</Title>
  264. <Para>Each of the callbacks for
  265. <Function>DtDndDropRegister</Function> and
  266. <Function>DtDndVaDropRegister</Function> has an associated callback structure.
  267. These callbacks cannot be used with the
  268. <Function>XtAddCallback</Function>(3) interface.
  269. </Para>
  270. <Para>A pointer to the following structure is passed to the
  271. <symbol role="variable">transferCallback</symbol>:</Para>
  272. <InformalExample Remap="indent">
  273. <ProgramListing>typedef struct {
  274. int <Symbol Role="Variable">reason</Symbol>;
  275. XEvent *<Symbol Role="Variable">event</Symbol>;
  276. Position <Symbol Role="Variable">x</Symbol>, <Symbol Role="Variable">y</Symbol>;
  277. unsigned char <Symbol Role="Variable">operation</Symbol>;
  278. DtDndContext *<Symbol Role="Variable">dropData</Symbol>;
  279. Widget <Symbol Role="Variable">dragContext</Symbol>;
  280. Boolean <Symbol Role="Variable">completeMove</Symbol>;
  281. DtDndStatus <Symbol Role="Variable">status</Symbol>;
  282. } DtDndTransferCallbackStruct, *DtDndTransferCallback;
  283. </ProgramListing>
  284. </InformalExample>
  285. <Para>The
  286. <Symbol Role="Variable">reason</Symbol> argument
  287. indicates why the callback was invoked:
  288. <SystemItem Class="Constant">DtCR_DND_TRANSFER_DATA</SystemItem>.</Para>
  289. <Para>The
  290. <Symbol Role="Variable">event</Symbol> argument is always set to
  291. <SystemItem Class="Constant">NULL</SystemItem> by Motif drag and drop.
  292. </Para>
  293. <Para>The
  294. <Symbol Role="Variable">x</Symbol> and
  295. <Symbol Role="Variable">y</Symbol> arguments
  296. indicate the coordinates of the dropped item in relation to the origin of
  297. the drop site widget.
  298. </Para>
  299. <Para>The
  300. <Symbol Role="Variable">operation</Symbol> argument indicates the type of drop:
  301. <SystemItem Class="Constant">XmDROP_COPY</SystemItem>, <SystemItem Class="Constant">XmDROP_MOVE</SystemItem> or
  302. <SystemItem Class="Constant">XmDROP_LINK</SystemItem>.</Para>
  303. <Para>The
  304. <symbol role="variable">dropData</symbol> argument
  305. contains the data that has been dropped.
  306. </Para>
  307. <Para>The
  308. <Symbol Role="Variable">dragContext</Symbol> argument
  309. specifies the ID of the Motif Drag Context widget associated with this
  310. drag and drop transaction.
  311. </Para>
  312. <Para>The
  313. <symbol role="variable">completeMove</symbol> argument
  314. indicates whether a move operation needs to be completed.
  315. If the
  316. <Symbol Role="Variable">operation</Symbol> is
  317. <SystemItem Class="Constant">XmDROP_MOVE</SystemItem> and
  318. <symbol role="variable">completeMove</symbol> is set to <symbol role="define">False</symbol> in the
  319. <symbol role="variable">transferCallback</symbol>, a delete does not occur.
  320. By default,
  321. <symbol role="variable">completeMove</symbol> is <symbol role="define">True</symbol> and a delete occurs to complete the move operation.
  322. The
  323. <symbol role="variable">completeMove</symbol> field should be set to <symbol role="define">False</symbol> if an
  324. alternative method will be used to complete the move.
  325. </Para>
  326. <Para>The
  327. <Symbol Role="Variable">status</Symbol> argument
  328. indicates the success or failure of the data transfer.
  329. If the data could not
  330. be appropriately moved, copied or linked, the
  331. <Symbol Role="Variable">status</Symbol> field must be set to
  332. <SystemItem Class="Constant">DtDND_FAILURE</SystemItem>. By default, the
  333. <Symbol Role="Variable">status</Symbol> field is set to
  334. <SystemItem Class="Constant">DtDND_SUCCESS</SystemItem>.</Para>
  335. <Para>A pointer to the following structure is passed to the
  336. <symbol role="variable">dropAnimateCallback</symbol>:</Para>
  337. <InformalExample Remap="indent">
  338. <ProgramListing>typedef struct {
  339. int <Symbol Role="Variable">reason</Symbol>;
  340. XEvent *<Symbol Role="Variable">event</Symbol>;
  341. Position <Symbol Role="Variable">x</Symbol>, <Symbol Role="Variable">y</Symbol>;
  342. unsigned char <Symbol Role="Variable">operation</Symbol>;
  343. DtDndContext *<symbol role="variable">dropData</symbol>;
  344. } DtDndDropAnimateCallbackStruct, *DtDndDropAnimateCallback;
  345. </ProgramListing>
  346. </InformalExample>
  347. <Para>The
  348. <Symbol Role="Variable">reason</Symbol> argument
  349. indicates why the callback was invoked.
  350. The valid reason is
  351. <SystemItem Class="Constant">DtCR_DND_DROP_ANIMATE</SystemItem>.</Para>
  352. <Para>The
  353. <Symbol Role="Variable">event</Symbol> argument
  354. is always set to
  355. <SystemItem Class="Constant">NULL</SystemItem> by Motif drag and drop.
  356. </Para>
  357. <Para>The
  358. <Symbol Role="Variable">x</Symbol> and
  359. <Symbol Role="Variable">y</Symbol> arguments
  360. indicate the coordinates of the dropped item in relation to the origin of
  361. the drop site widget.
  362. </Para>
  363. <Para>The
  364. <Symbol Role="Variable">operation</Symbol> argument indicates the type of drop:
  365. <SystemItem Class="Constant">XmDROP_COPY</SystemItem>, <SystemItem Class="Constant">XmDROP_MOVE</SystemItem> or
  366. <SystemItem Class="Constant">XmDROP_LINK</SystemItem>.</Para>
  367. <Para>The
  368. <symbol role="variable">dropData</symbol> argument
  369. contains the data that has been dropped.
  370. </Para>
  371. </RefSect2>
  372. <RefSect2>
  373. <Title>Structures</Title>
  374. <Para>The following structures are used by the drop site in the
  375. <symbol role="variable">transferCallback</symbol> to get the transferred data from the drag and drop subsystem.
  376. The
  377. <StructName Role="typedef">DtDndContext</StructName> structure is passed as
  378. <symbol role="variable">dropData</symbol> in the
  379. <StructName Role="typedef">DtDndTransferCallbackStruct</StructName> structure.
  380. </Para>
  381. <InformalExample Remap="indent">
  382. <ProgramListing>typedef struct {
  383. DtDndProtocol <Symbol Role="Variable">protocol</Symbol>;
  384. int <symbol role="variable">numItems</symbol>;
  385. union {
  386. XmString *<Symbol Role="Variable">strings</Symbol>;
  387. String *<symbol role="variable">files</symbol>;
  388. DtDndBuffer *<symbol role="variable">buffers</symbol>;
  389. } <Symbol Role="Variable">data</Symbol>;
  390. } DtDndContext;
  391. </ProgramListing>
  392. </InformalExample>
  393. <Para>The
  394. <Symbol Role="Variable">protocol</Symbol> argument
  395. indicates the data transfer protocol under which the data in the
  396. <StructName Role="typedef">DtDndContext</StructName> is being transferred.
  397. Valid values are:
  398. </Para>
  399. <VariableList>
  400. <VarListEntry>
  401. <Term>DtDND_TEXT_TRANSFER</Term>
  402. <ListItem>
  403. <Para>A list of text is being transferred.
  404. </Para>
  405. </ListItem>
  406. </VarListEntry>
  407. <VarListEntry>
  408. <Term>DtDND_FILENAME_TRANSFER</Term>
  409. <ListItem>
  410. <Para>A list of file names is being transferred.
  411. </Para>
  412. </ListItem>
  413. </VarListEntry>
  414. <VarListEntry>
  415. <Term>DtDND_BUFFER_TRANSFER</Term>
  416. <ListItem>
  417. <Para>A list of memory buffers is being transferred.
  418. </Para>
  419. </ListItem>
  420. </VarListEntry>
  421. </VariableList>
  422. <Para>The
  423. <symbol role="variable">numItems</symbol> argument indicates the number of items being transferred.
  424. </Para>
  425. <Para>The
  426. <Symbol Role="Variable">data</Symbol> argument
  427. is a union containing data that the drop site should access in the format
  428. corresponding to the specified
  429. <Symbol Role="Variable">protocol</Symbol>. The data structures corresponding to the transfer protocols are as follows.
  430. </Para>
  431. <Para>The
  432. <Symbol Role="Variable">strings</Symbol> argument is valid if the
  433. <Symbol Role="Variable">protocol</Symbol> is
  434. <SystemItem Class="Constant">DtDND_TEXT_TRANSFER</SystemItem>. The
  435. <Symbol Role="Variable">strings</Symbol> argument is an array of pointers to Motif strings
  436. containing the text being transferred.
  437. </Para>
  438. <Para>The
  439. <symbol role="variable">files</symbol> argument is valid if the
  440. <Symbol Role="Variable">protocol</Symbol> is
  441. <SystemItem Class="Constant">DtDND_FILENAME_TRANSFER</SystemItem>. It is an array of pointers to the names of the files being transferred.
  442. The file names have been converted to local host file names
  443. where possible.
  444. </Para>
  445. <Para>The
  446. <symbol role="variable">buffers</symbol> argument is valid if the
  447. <Symbol Role="Variable">protocol</Symbol> is
  448. <SystemItem Class="Constant">DtDND_BUFFER_TRANSFER</SystemItem>. It is an array of pointers to
  449. <StructName Role="typedef">DtDndBuffer</StructName> structures containing the meory buffers being transferred.
  450. </Para>
  451. <Para>The following structure is used with
  452. <SystemItem Class="Constant">DtDND_FILENAME_TRANSFER</SystemItem>:</Para>
  453. <InformalExample Remap="indent">
  454. <ProgramListing>typedef struct _DtDndBuffer {
  455. void *<symbol role="variable">bp</symbol>;
  456. int <Symbol Role="Variable">size</Symbol>;
  457. string <Symbol Role="Variable">name</Symbol>;
  458. } DtDndBuffer;
  459. </ProgramListing>
  460. </InformalExample>
  461. <Para>The
  462. <symbol role="variable">bp</symbol> argument points to the buffer data being transferred.
  463. </Para>
  464. <Para>The
  465. <Symbol Role="Variable">size</Symbol> argument indicates the number of bytes in the buffer.
  466. </Para>
  467. <Para>The
  468. <Symbol Role="Variable">name</Symbol> argument points to the name of the buffer.
  469. </Para>
  470. </RefSect2>
  471. <RefSect2>
  472. <Title>Motif Resources</Title>
  473. <Para>When it calls
  474. &cdeman.XmDropSiteRegister;, the
  475. <Function>DtDndDropRegister</Function> and
  476. <Function>DtDndVaDropRegister</Function> functions set Motif resources;
  477. the application must not modify the values of any of these resources.
  478. Resources other than those listed here
  479. can be used and are passed through to the underlying
  480. <Function>XmDropRegister</Function>. call.
  481. </Para>
  482. <Para>The following resources are modified by
  483. <Function>DtDndDropRegister</Function> and
  484. <Function>DtDndVaDropRegister</Function> in the Motif Drag Context.
  485. </Para>
  486. <ItemizedList>
  487. <ListItem><Para><SystemItem Class="Resource">XmNdestroyCallback</SystemItem></Para></ListItem>
  488. <ListItem><Para><SystemItem Class="Resource">XmNdropTransfers</SystemItem></Para></ListItem>
  489. <ListItem><Para><SystemItem Class="Resource">XmNnumDropTransfers</SystemItem></Para></ListItem>
  490. <ListItem><Para><SystemItem Class="Resource">XmNtransferProc</SystemItem></Para></ListItem>
  491. <ListItem><Para><SystemItem Class="Resource">XmNtransferStatus</SystemItem></Para></ListItem>
  492. </ItemizedList>
  493. <Para>The following resources are modified by
  494. <Function>DtDndDropRegister</Function> and
  495. <Function>DtDndVaDropRegister</Function> in the Motif Drop Site.
  496. </Para>
  497. <ItemizedList>
  498. <ListItem><Para><SystemItem Class="Resource">XmNdropProc</SystemItem></Para></ListItem>
  499. <ListItem><Para><SystemItem Class="Resource">XmNdropSiteOperations</SystemItem></Para></ListItem>
  500. <ListItem><Para><SystemItem Class="Resource">XmNdropSiteType</SystemItem></Para></ListItem>
  501. <ListItem><Para><SystemItem Class="Resource">XmNimportTargets</SystemItem></Para></ListItem>
  502. <ListItem><Para><SystemItem Class="Resource">XmNnumImportTargets</SystemItem></Para></ListItem>
  503. </ItemizedList>
  504. </RefSect2>
  505. </RefSect1>
  506. <RefSect1>
  507. <Title>RETURN VALUE</Title>
  508. <Para>The
  509. <Function>DtDndDropRegister</Function> and
  510. <Function>DtDndVaDropRegister</Function> functions return no value.
  511. </Para>
  512. </RefSect1>
  513. <RefSect1>
  514. <Title>SEE ALSO</Title>
  515. <Para>&cdeman.Dt.Dnd.h;, &cdeman.DtDtsDataTypeToAttributeValue;, &cdeman.DtDndDragStart;, &cdeman.DtDndDragStart;, <![ %CDE.C.CDE; [&cdeman.DtDndDropUnregister;, &cdeman.XmDragContext;, &cdeman.XmDropSite;, &cdeman.XmDropSiteRegister;, &cdeman.XmDropSiteUpdate;, &cdeman.XmDropTransfer;, &cdeman.XmDropTransferStart;. ]]><![ %CDE.C.XO; [&cdeman.DtDndDropUnregister;; <Function>XmDragContext</Function>, <Function>XmDropSite</Function>, <Function>XmDropSiteRegister</Function>, <Function>XmDropSiteUpdate</Function>, <Function>XmDropTransfer</Function>, <Function>XmDropTransferStart</Function> in the &str-ZM;.
  516. ]]></Para>
  517. </RefSect1>
  518. </RefEntry>
  519. <!--fickle 1.12 mancsf-to-docbook 1.2 08/07/95 23:18:47-->