File indexing completed on 2025-01-18 10:15:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef _XmDropSMgrP_h
0025 #define _XmDropSMgrP_h
0026
0027 #include <Xm/XmP.h>
0028 #include <Xm/DropSMgr.h>
0029
0030 #ifdef __cplusplus
0031 extern "C" {
0032 #endif
0033
0034 typedef void (*XmDSMCreateInfoProc)
0035 (XmDropSiteManagerObject, Widget, ArgList, Cardinal);
0036 typedef void (*XmDSMDestroyInfoProc)
0037 (XmDropSiteManagerObject, Widget);
0038 typedef void (*XmDSMStartUpdateProc)
0039 (XmDropSiteManagerObject, Widget);
0040 typedef void (*XmDSMRetrieveInfoProc)
0041 (XmDropSiteManagerObject, Widget, ArgList, Cardinal);
0042 typedef void (*XmDSMUpdateInfoProc)
0043 (XmDropSiteManagerObject, Widget, ArgList, Cardinal);
0044 typedef void (*XmDSMEndUpdateProc)
0045 (XmDropSiteManagerObject, Widget);
0046 typedef void (*XmDSMUpdateProc)
0047 (XmDropSiteManagerObject, XtPointer, XtPointer);
0048 typedef void (*XmDSMProcessMotionProc)
0049 (XmDropSiteManagerObject, XtPointer, XtPointer);
0050 typedef void (*XmDSMProcessDropProc)
0051 (XmDropSiteManagerObject, XtPointer, XtPointer);
0052 typedef void (*XmDSMOperationChangedProc)
0053 (XmDropSiteManagerObject, XtPointer, XtPointer);
0054 typedef void (*XmDSMChangeRootProc)
0055 (XmDropSiteManagerObject, XtPointer, XtPointer);
0056 typedef void (*XmDSMInsertInfoProc)
0057 (XmDropSiteManagerObject, XtPointer, XtPointer);
0058 typedef void (*XmDSMRemoveInfoProc)
0059 (XmDropSiteManagerObject, XtPointer);
0060 typedef void (*XmDSMSyncTreeProc)
0061 (XmDropSiteManagerObject, Widget);
0062 typedef int (*XmDSMGetTreeFromDSMProc)
0063 (XmDropSiteManagerObject, Widget, XtPointer);
0064 typedef void (*XmDSMCreateDSInfoTable)
0065 (XmDropSiteManagerObject);
0066 typedef void (*XmDSMDestroyDSInfoTable)
0067 (XmDropSiteManagerObject);
0068 typedef void (*XmDSMRegisterInfoProc)
0069 (XmDropSiteManagerObject, Widget, XtPointer);
0070 typedef XtPointer (*XmDSMWidgetToInfoProc)
0071 (XmDropSiteManagerObject, Widget);
0072 typedef void (*XmDSMUnregisterInfoProc)
0073 (XmDropSiteManagerObject, XtPointer);
0074
0075 typedef struct {
0076 XmDSMCreateInfoProc createInfo;
0077 XmDSMDestroyInfoProc destroyInfo;
0078 XmDSMStartUpdateProc startUpdate;
0079 XmDSMRetrieveInfoProc retrieveInfo;
0080 XmDSMUpdateInfoProc updateInfo;
0081 XmDSMEndUpdateProc endUpdate;
0082
0083
0084
0085 XmDSMUpdateProc updateDSM;
0086
0087
0088
0089 XmDSMProcessMotionProc processMotion;
0090 XmDSMProcessDropProc processDrop;
0091 XmDSMOperationChangedProc operationChanged;
0092 XmDSMChangeRootProc changeRoot;
0093
0094
0095
0096 XmDSMInsertInfoProc insertInfo;
0097
0098 XmDSMRemoveInfoProc removeInfo;
0099
0100
0101
0102 XmDSMSyncTreeProc syncTree;
0103 XmDSMGetTreeFromDSMProc getTreeFromDSM;
0104
0105
0106
0107 XmDSMCreateDSInfoTable createTable;
0108 XmDSMDestroyDSInfoTable destroyTable;
0109 XmDSMRegisterInfoProc registerInfo;
0110 XmDSMWidgetToInfoProc widgetToInfo;
0111 XmDSMUnregisterInfoProc unregisterInfo;
0112
0113 XtPointer extension;
0114 } XmDropSiteManagerClassPart;
0115
0116
0117
0118 typedef struct _XmDropSiteManagerClassRec{
0119 ObjectClassPart object_class;
0120 XmDropSiteManagerClassPart dropManager_class;
0121 } XmDropSiteManagerClassRec;
0122
0123 externalref XmDropSiteManagerClassRec xmDropSiteManagerClassRec;
0124
0125
0126
0127 #define DSMCreateInfo(dsm, widget, args, numArgs) \
0128 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0129 dropManager_class.createInfo) \
0130 ((dsm), (widget), (args), (numArgs))
0131
0132 #define DSMDestroyInfo(dsm, widget) \
0133 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0134 dropManager_class.destroyInfo) \
0135 ((dsm), (widget))
0136
0137 #define DSMStartUpdate(dsm, widget) \
0138 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0139 dropManager_class.startUpdate) \
0140 ((dsm), (widget))
0141
0142 #define DSMRetrieveInfo(dsm, widget, args, numArgs) \
0143 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0144 dropManager_class.retrieveInfo) \
0145 ((dsm), (widget), (args), (numArgs))
0146
0147 #define DSMUpdateInfo(dsm, widget, args, numArgs) \
0148 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0149 dropManager_class.updateInfo) \
0150 ((dsm), (widget), (args), (numArgs))
0151
0152 #define DSMEndUpdate(dsm, widget) \
0153 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0154 dropManager_class.endUpdate) \
0155 ((dsm), (widget))
0156
0157 #define DSMUpdate(dsm, clientData, callData) \
0158 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0159 dropManager_class.updateDSM) \
0160 ((dsm), (clientData), (callData))
0161
0162 #define DSMProcessMotion(dsm, clientData, callData) \
0163 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0164 dropManager_class.processMotion) \
0165 ((dsm), (clientData), (callData))
0166
0167 #define DSMProcessDrop(dsm, clientData, callData) \
0168 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0169 dropManager_class.processDrop) \
0170 ((dsm),(clientData), (callData))
0171
0172 #define DSMOperationChanged(dsm, clientData, callData) \
0173 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0174 dropManager_class.operationChanged) \
0175 ((dsm),(clientData), (callData))
0176
0177 #define DSMChangeRoot(dsm, clientData, callData) \
0178 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0179 dropManager_class.changeRoot) \
0180 ((dsm), (clientData), (callData))
0181
0182 #define DSMInsertInfo(dsm, info, call_data) \
0183 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0184 dropManager_class.insertInfo) \
0185 ((dsm), (info), (call_data))
0186
0187 #define DSMRemoveInfo(dsm, info) \
0188 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0189 dropManager_class.removeInfo) \
0190 ((dsm), (info))
0191
0192 #define DSMSyncTree(dsm, shell) \
0193 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0194 dropManager_class.syncTree) \
0195 ((dsm), (shell))
0196
0197 #define DSMGetTreeFromDSM(dsm, shell, dataPtr) \
0198 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0199 dropManager_class.getTreeFromDSM) \
0200 ((dsm), (shell), (dataPtr))
0201
0202 #define DSMCreateTable(dsm) \
0203 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0204 dropManager_class.createTable) \
0205 ((dsm))
0206
0207 #define DSMDestroyTable(dsm) \
0208 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0209 dropManager_class.destroyTable) \
0210 ((dsm))
0211
0212 #define DSMRegisterInfo(dsm, widget, info) \
0213 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0214 dropManager_class.registerInfo) \
0215 ((dsm), (widget), (info))
0216
0217 #define DSMWidgetToInfo(dsm, widget) \
0218 (XtPointer) ((((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0219 dropManager_class.widgetToInfo) \
0220 ((dsm), (widget)))
0221
0222 #define DSMUnregisterInfo(dsm, info) \
0223 (((XmDropSiteManagerObjectClass) XtClass(dsm))-> \
0224 dropManager_class.unregisterInfo) \
0225 ((dsm), (info))
0226
0227
0228
0229 typedef struct __XmDropSiteUpdateInfoRec {
0230 XmDropSiteManagerObject dsm;
0231 Widget refWidget;
0232 struct __XmDropSiteUpdateInfoRec *next;
0233 } _XmDropSiteUpdateInfoRec, *_XmDropSiteUpdateInfo;
0234
0235
0236
0237 typedef struct _XmDropSiteManagerPart{
0238 XtCallbackProc notifyProc;
0239 XtCallbackProc treeUpdateProc;
0240 XtPointer client_data;
0241 XtPointer dragUnderData;
0242 XtPointer curInfo;
0243 Time curTime;
0244 Position curX, curY, oldX, oldY;
0245 unsigned char curDropSiteStatus;
0246 Widget curDragContext;
0247 Boolean curAnimate;
0248 unsigned char curOperations;
0249 unsigned char curOperation;
0250 XmRegion curAncestorClipRegion;
0251 XmRegion newAncestorClipRegion;
0252 XtPointer dsTable;
0253 XtPointer dsRoot;
0254 Position rootX, rootY;
0255 Dimension rootW, rootH;
0256 XtPointer clipperList;
0257 _XmDropSiteUpdateInfo updateInfo;
0258 XtIntervalId updateTimeOutId;
0259 } XmDropSiteManagerPart, *XmDropSiteManagerPartPtr;
0260
0261
0262
0263 typedef struct _XmDropSiteManagerRec{
0264 ObjectPart object;
0265 XmDropSiteManagerPart dropManager;
0266 } XmDropSiteManagerRec;
0267
0268 #ifdef __cplusplus
0269 }
0270 #endif
0271
0272 #endif