|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/* $TOG: DragC.h /main/13 1998/02/03 14:56:15 csn $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
/* $TOG: DragC.h /main/13 1998/02/03 14:56:15 csn $ */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef _XmDragController_h
|
|
Packit |
b099d7 |
#define _XmDragController_h
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/Xm.h>
|
|
Packit |
b099d7 |
#include <Xm/Display.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
extern "C" {
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* defines for the dragFinish completionStatus field */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define XmHELP 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Some global stuff that will go into Xm.h
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef unsigned int XmID;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/***********************************************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* DragContext
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
***********************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef XmIsDragContext
|
|
Packit |
b099d7 |
#define XmIsDragContext(w) XtIsSubclass(w,xmDragContextClass)
|
|
Packit |
b099d7 |
#endif /* XmIsDragContext */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef _XA_MOTIF_DROP
|
|
Packit |
b099d7 |
#define _XA_MOTIF_DROP "_MOTIF_DROP"
|
|
Packit |
b099d7 |
#define _XA_DRAG_FAILURE "_MOTIF_DRAG_FAILURE"
|
|
Packit |
b099d7 |
#define _XA_DRAG_SUCCESS "_MOTIF_DRAG_SUCCESS"
|
|
Packit |
b099d7 |
#endif /* _XA_MOTIF_DROP */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* enums used for the message_type in client messages */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum{ XmTOP_LEVEL_ENTER, XmTOP_LEVEL_LEAVE,
|
|
Packit |
b099d7 |
XmDRAG_MOTION, XmDROP_SITE_ENTER,
|
|
Packit |
b099d7 |
XmDROP_SITE_LEAVE, XmDROP_START,
|
|
Packit |
b099d7 |
XmDROP_FINISH, XmDRAG_DROP_FINISH,
|
|
Packit |
b099d7 |
XmOPERATION_CHANGED
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* enums for completionStatus */
|
|
Packit |
b099d7 |
enum{ XmDROP, XmDROP_HELP,
|
|
Packit |
b099d7 |
XmDROP_CANCEL, XmDROP_INTERRUPT
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* values for operation */
|
|
Packit |
b099d7 |
#define XmDROP_NOOP 0L
|
|
Packit |
b099d7 |
#define XmDROP_MOVE (1L << 0)
|
|
Packit |
b099d7 |
#define XmDROP_COPY (1L << 1)
|
|
Packit |
b099d7 |
#define XmDROP_LINK (1L << 2)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum{ XmMOVE = XmDROP_MOVE, XmCOPY = XmDROP_COPY,
|
|
Packit |
b099d7 |
XmLINK = XmDROP_LINK, XmOTHER
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum{ XmBLEND_ALL, XmBLEND_STATE_SOURCE,
|
|
Packit |
b099d7 |
XmBLEND_JUST_SOURCE, XmBLEND_NONE
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum{ XmDROP_FAILURE, XmDROP_SUCCESS
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* enums used for the public callback reason */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum{ XmCR_TOP_LEVEL_ENTER, XmCR_TOP_LEVEL_LEAVE,
|
|
Packit |
b099d7 |
XmCR_DRAG_MOTION, XmCR_DROP_SITE_ENTER,
|
|
Packit |
b099d7 |
XmCR_DROP_SITE_LEAVE, XmCR_DROP_START,
|
|
Packit |
b099d7 |
XmCR_DROP_FINISH, XmCR_DRAG_DROP_FINISH,
|
|
Packit |
b099d7 |
XmCR_OPERATION_CHANGED,
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
_XmNUMBER_DND_CB_REASONS
|
|
Packit |
b099d7 |
} ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Class record constants */
|
|
Packit |
b099d7 |
typedef struct _XmDragContextClassRec *XmDragContextClass;
|
|
Packit |
b099d7 |
typedef struct _XmDragContextRec *XmDragContext;
|
|
Packit |
b099d7 |
externalref WidgetClass xmDragContextClass;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmAnyICCCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
}XmAnyICCCallbackStruct, *XmAnyICCCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmTopLevelEnterCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
Screen *screen;
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* the window field is different if this is an outbound or inbound
|
|
Packit |
b099d7 |
* callback. Outbound == reciever, Inbound == initiator.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
Window window;
|
|
Packit |
b099d7 |
Position x, y;
|
|
Packit |
b099d7 |
unsigned char dragProtocolStyle;
|
|
Packit |
b099d7 |
Atom iccHandle;
|
|
Packit |
b099d7 |
}XmTopLevelEnterCallbackStruct, *XmTopLevelEnterCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmTopLevelLeaveCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
Screen *screen;
|
|
Packit |
b099d7 |
Window window;
|
|
Packit |
b099d7 |
}XmTopLevelLeaveCallbackStruct, *XmTopLevelLeaveCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* this message is sent from the receiver to the initiator to
|
|
Packit |
b099d7 |
* indicate that the motion message with the associated timestamp has
|
|
Packit |
b099d7 |
* caused a drop-site to be entered
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct _XmDropSiteEnterCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
unsigned char operation;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char dropSiteStatus;
|
|
Packit |
b099d7 |
Position x, y;
|
|
Packit |
b099d7 |
}XmDropSiteEnterCallbackStruct, *XmDropSiteEnterCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* this message is sent from the receiver to the initiator to
|
|
Packit |
b099d7 |
* indicate that the motion message with the associated timestamp has
|
|
Packit |
b099d7 |
* caused a drop-site to be left
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct _XmDropSiteLeaveCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
}XmDropSiteLeaveCallbackStruct, *XmDropSiteLeaveCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmDragMotionCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
unsigned char operation;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char dropSiteStatus;
|
|
Packit |
b099d7 |
Position x, y;
|
|
Packit |
b099d7 |
}XmDragMotionCallbackStruct, *XmDragMotionCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmOperationChangedCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
unsigned char operation;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char dropSiteStatus;
|
|
Packit |
b099d7 |
}XmOperationChangedCallbackStruct, *XmOperationChangedCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmDropStartCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
unsigned char operation;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char dropSiteStatus;
|
|
Packit |
b099d7 |
unsigned char dropAction;
|
|
Packit |
b099d7 |
Position x, y;
|
|
Packit |
b099d7 |
Window window;
|
|
Packit |
b099d7 |
Atom iccHandle;
|
|
Packit |
b099d7 |
}XmDropStartCallbackStruct, *XmDropStartCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmDropFinishCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
unsigned char operation;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char dropSiteStatus;
|
|
Packit |
b099d7 |
unsigned char dropAction;
|
|
Packit |
b099d7 |
unsigned char completionStatus;
|
|
Packit |
b099d7 |
}XmDropFinishCallbackStruct, *XmDropFinishCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmDragDropFinishCallbackStruct{
|
|
Packit |
b099d7 |
int reason;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
Time timeStamp;
|
|
Packit |
b099d7 |
}XmDragDropFinishCallbackStruct, *XmDragDropFinishCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******** Public Function Declarations ********/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern Widget XmDragStart(
|
|
Packit |
b099d7 |
Widget w,
|
|
Packit |
b099d7 |
XEvent *event,
|
|
Packit |
b099d7 |
ArgList args,
|
|
Packit |
b099d7 |
Cardinal numArgs) ;
|
|
Packit |
b099d7 |
extern void XmDragCancel(
|
|
Packit |
b099d7 |
Widget dragContext) ;
|
|
Packit |
b099d7 |
extern Boolean XmTargetsAreCompatible(
|
|
Packit |
b099d7 |
Display *dpy,
|
|
Packit |
b099d7 |
Atom *exportTargets,
|
|
Packit |
b099d7 |
Cardinal numExportTargets,
|
|
Packit |
b099d7 |
Atom *importTargets,
|
|
Packit |
b099d7 |
Cardinal numImportTargets) ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******** End Public Function Declarations ********/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
} /* Close scope of 'extern "C"' declaration which encloses file. */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* _DragController_h */
|
|
Packit |
b099d7 |
/* DON'T ADD STUFF AFTER THIS #endif */
|