1 /* 2 * Motif 3 * 4 * Copyright (c) 1987-2012, The Open Group. All rights reserved. 5 * 6 * These libraries and programs are free software; you can 7 * redistribute them and/or modify them under the terms of the GNU 8 * Lesser General Public License as published by the Free Software 9 * Foundation; either version 2 of the License, or (at your option) 10 * any later version. 11 * 12 * These libraries and programs are distributed in the hope that 13 * they will be useful, but WITHOUT ANY WARRANTY; without even the 14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 15 * PURPOSE. See the GNU Lesser General Public License for more 16 * details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with these librararies and programs; if not, write 20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 21 * Floor, Boston, MA 02110-1301 USA 22 */ 23 24 #ifndef _XmDropTransferP_h 25 #define _XmDropTransferP_h 26 27 #include <Xm/DropTrans.h> 28 #include <Xm/XmP.h> 29 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 /* DropTransfer class structure */ 36 37 typedef Widget (*XmDropTransferStartTransferProc)(Widget, 38 ArgList, Cardinal); 39 typedef void (*XmDropTransferAddTransferProc)(Widget, 40 XmDropTransferEntry, Cardinal); 41 42 typedef struct _XmDropTransferClassPart 43 { 44 XmDropTransferStartTransferProc start_drop_transfer; 45 XmDropTransferAddTransferProc add_drop_transfer; 46 XtPointer extension; 47 } XmDropTransferClassPart; 48 49 /* Full class record declaration */ 50 51 typedef struct _XmDropTransferClassRec 52 { 53 ObjectClassPart object_class; 54 XmDropTransferClassPart dropTransfer_class; 55 } XmDropTransferClassRec; 56 57 externalref XmDropTransferClassRec xmDropTransferClassRec; 58 59 60 typedef struct _XmDropTransferListRec { 61 XmDropTransferEntry transfer_list; 62 Cardinal num_transfers; 63 } XmDropTransferListRec, * XmDropTransferList; 64 65 66 /* The DropTransfer instance record */ 67 68 typedef struct _XmDropTransferPart 69 { 70 XmDropTransferEntry drop_transfers; 71 Cardinal num_drop_transfers; 72 Atom selection; 73 Widget dragContext; 74 Time timestamp; 75 Boolean incremental; 76 Window source_window; 77 unsigned int tag; 78 XtSelectionCallbackProc transfer_callback; 79 unsigned char transfer_status; 80 81 Atom motif_drop_atom; 82 83 XmDropTransferList drop_transfer_lists; 84 Cardinal num_drop_transfer_lists; 85 Cardinal cur_drop_transfer_list; 86 Cardinal cur_xfer; 87 Atom * cur_targets; 88 XtPointer * cur_client_data; 89 } XmDropTransferPart; 90 91 /* Full instance record declaration */ 92 93 typedef struct _XmDropTransferRec 94 { 95 ObjectPart object; 96 XmDropTransferPart dropTransfer; 97 } XmDropTransferRec; 98 99 100 /******** Private Function Declarations ********/ 101 102 103 /******** End Private Function Declarations ********/ 104 105 106 #ifdef __cplusplus 107 } /* Close scope of 'extern "C"' declaration which encloses file. */ 108 #endif 109 110 #endif /* _XmDropTransferP_h */ 111 /* DON'T ADD ANYTHING AFTER THIS #endif */ 112