1: /** 2: * 3: * $Header: /cvsroot/lesstif/lesstif/include/Motif-2.0/Xm/Transfer.h,v 1.3 2001/08/30 11:34:45 amai Exp $ 4: * 5: * Copyright (C) 1997 Free Software Foundation, Inc. 6: * Copyright (C) 1997-2001 LessTif Development Team 7: * 8: * This file is part of the GNU LessTif Library. 9: * 10: * This library is free software; you can redistribute it and/or 11: * modify it under the terms of the GNU Library General Public 12: * License as published by the Free Software Foundation; either 13: * version 2 of the License, or (at your option) any later version. 14: * 15: * This library is distributed in the hope that it will be useful, 16: * but WITHOUT ANY WARRANTY; without even the implied warranty of 17: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18: * Library General Public License for more details. 19: * 20: * You should have received a copy of the GNU Library General Public 21: * License along with this library; if not, write to the Free 22: * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23: * 24: **/ 25: 26: #ifndef _XM_TRANSFER_H 27: #define _XM_TRANSFER_H 28: 29: #include <Xm/DragDrop.h> 30: 31: #ifdef __cplusplus 32: extern "C" { 33: #endif 34: 35: #define XmConvertCallbackProc XtCallbackProc 36: #define XmSelectionDoneProc XtSelectionDoneProc 37: #define XmCancelSelectionProc XtCancelConvertSelectionProc 38: #define XmDestinationCallbackProc XtCallbackProc 39: #define XmSelectionCallbackProc XtSelectionCallbackProc 40: 41: typedef enum { 42: XmTRANSFER_DONE_SUCCEED = 0, 43: XmTRANSFER_DONE_FAIL, 44: XmTRANSFER_DONE_CONTINUE, 45: XmTRANSFER_DONE_DEFAULT 46: } XmTransferStatus; 47: 48: enum { 49: XmMOVE = XmDROP_MOVE, 50: XmCOPY = XmDROP_COPY, 51: XmLINK = XmDROP_LINK, 52: XmOTHER 53: }; 54: 55: enum { 56: XmSELECTION_DEFAULT = 0, 57: XmSELECTION_INCREMENTAL, 58: XmSELECTION_PERSIST, 59: XmSELECTION_SNAPSHOT, 60: XmSELECTION_TRANSACT 61: }; 62: 63: enum { 64: XmCONVERTING_NONE = 0, 65: XmCONVERTING_SAME = 1, 66: XmCONVERTING_TRANSACT = 2, 67: XmCONVERTING_PARTIAL = 4 68: }; 69: 70: enum { 71: XmCONVERT_DEFAULT = 0, 72: XmCONVERT_MORE, 73: XmCONVERT_MERGE, 74: XmCONVERT_REFUSE, 75: XmCONVERT_DONE 76: }; 77: 78: 79: typedef struct { 80: int reason; 81: XEvent *event; 82: Atom selection; 83: Atom target; 84: XtPointer source_data; 85: XtPointer location_data; 86: int flags; 87: XtPointer parm; 88: int parm_format; 89: unsigned long parm_length; 90: Atom parm_type; 91: int status; 92: XtPointer value; 93: Atom type; 94: int format; 95: unsigned long length; 96: } XmConvertCallbackStruct; 97: 98: typedef struct { 99: int reason; 100: XEvent *event; 101: Atom selection; 102: XtEnum operation; 103: int flags; 104: XtPointer transfer_id; 105: XtPointer destination_data; 106: XtPointer location_data; 107: Time time; 108: } XmDestinationCallbackStruct; 109: 110: typedef struct { 111: int reason; 112: XEvent *event; 113: Atom selection; 114: Atom target; 115: Atom type; 116: XtPointer transfer_id; 117: int flags; 118: int remaining; 119: XtPointer value; 120: unsigned long length; 121: int format; 122: } XmSelectionCallbackStruct; 123: 124: typedef struct { 125: int reason; 126: XEvent *event; 127: Atom selection; 128: XtPointer transfer_id; 129: XmTransferStatus status; 130: XtPointer client_data; 131: } XmTransferDoneCallbackStruct; 132: 133: typedef void (*XmSelectionFinishedProc)(Widget, XtEnum, 134: XmTransferDoneCallbackStruct*); 135: 136: void XmTransferDone(XtPointer, XmTransferStatus); 137: void XmTransferValue(XtPointer, Atom, XtCallbackProc, XtPointer, Time); 138: void XmTransferSetParameters(XtPointer, XtPointer, int, unsigned long, Atom); 139: void XmTransferStartRequest(XtPointer); 140: void XmTransferSendRequest(XtPointer, Time); 141: 142: Boolean XmeClipboardSink(Widget w, XtEnum op, XtPointer location_data); 143: Boolean XmeClipboardSource(Widget w, XtEnum op, Time time); 144: 145: 146: #ifdef __cplusplus 147: } 148: #endif 149: 150: #endif /* _XM_TRANSFER_H */ 151: