diff options
Diffstat (limited to 'src/bltGrBind.h')
-rw-r--r-- | src/bltGrBind.h | 100 |
1 files changed, 27 insertions, 73 deletions
diff --git a/src/bltGrBind.h b/src/bltGrBind.h index 2f6dd92..abfb27a 100644 --- a/src/bltGrBind.h +++ b/src/bltGrBind.h @@ -37,85 +37,39 @@ typedef struct _Blt_BindTable *Blt_BindTable; typedef ClientData (Blt_BindPickProc)(ClientData clientData, int x, int y, - ClientData *contextPtr); + ClientData *contextPtr); typedef void (Blt_BindTagProc)(Blt_BindTable bindTable, ClientData object, - ClientData context, Blt_List list); - - -/* - * Binding structure information: - */ + ClientData context, Blt_List list); struct _Blt_BindTable { - unsigned int flags; - Tk_BindingTable bindingTable; - /* Table of all bindings currently defined. - * NULL means that no bindings exist, so the - * table hasn't been created. Each "object" - * used for this table is either a Tk_Uid for - * a tag or the address of an item named by - * id. */ - - ClientData currentItem; /* The item currently containing the mouse - * pointer, or NULL if none. */ - ClientData currentContext; /* One word indicating what kind of object was - * picked. */ - - ClientData newItem; /* The item that is about to become the - * current one, or NULL. This field is used - * to detect deletions of the new current item - * pointer that occur during Leave processing - * of the previous current tab. */ - ClientData newContext; /* One-word indicating what kind of object was - * just picked. */ - - ClientData focusItem; - ClientData focusContext; - - XEvent pickEvent; /* The event upon which the current choice of - * the current tab is based. Must be saved so - * that if the current item is deleted, we can - * pick another. */ - int activePick; /* The pick event has been initialized so that - * we can repick it */ - - int state; /* Last known modifier state. Used to defer - * picking a new current object while buttons - * are down. */ - - ClientData clientData; - Tk_Window tkwin; - Blt_BindPickProc *pickProc; /* Routine to report the item the mouse is - * currently over. */ - Blt_BindTagProc *tagProc; /* Routine to report tags picked items. */ + unsigned int flags; + Tk_BindingTable bindingTable; + ClientData currentItem; // The item currently containing the mouse pointer + ClientData currentContext; // One word indicating what kind of object + ClientData newItem; // The item that is about to become the current one + ClientData newContext; // One-word indicating what kind of object was picked + ClientData focusItem; + ClientData focusContext; + XEvent pickEvent; // The event upon which the choice of the current tab + int activePick; // The pick event has been initialized so that we can repick + int state; // Last known modifier state + ClientData clientData; + Tk_Window tkwin; + Blt_BindPickProc *pickProc; // Routine to report the item the mouse is over + Blt_BindTagProc *tagProc; // Routine to report tags picked items }; -extern void Blt_DestroyBindingTable(Blt_BindTable table); - extern Blt_BindTable Blt_CreateBindingTable(Tcl_Interp* interp, - Tk_Window tkwin, ClientData clientData, Blt_BindPickProc *pickProc, - Blt_BindTagProc *tagProc); - -extern int Blt_ConfigureBindingsFromObj(Tcl_Interp* interp, - Blt_BindTable table, ClientData item, int objc, Tcl_Obj *const *objv); - -extern void Blt_PickCurrentItem(Blt_BindTable table); - + Tk_Window tkwin, + ClientData clientData, + Blt_BindPickProc *pickProc, + Blt_BindTagProc *tagProc); +extern void Blt_DestroyBindingTable(Blt_BindTable table); extern void Blt_DeleteBindings(Blt_BindTable table, ClientData object); +extern int Blt_ConfigureBindingsFromObj(Tcl_Interp* interp, + Blt_BindTable table, + ClientData item, + int objc, Tcl_Obj *const *objv); -#define Blt_SetFocusItem(bindPtr, object, context) \ - ((bindPtr)->focusItem = (ClientData)(object),\ - (bindPtr)->focusContext = (ClientData)(context)) - -#define Blt_SetCurrentItem(bindPtr, object, context) \ - ((bindPtr)->currentItem = (ClientData)(object),\ - (bindPtr)->currentContext = (ClientData)(context)) - -#define Blt_GetCurrentItem(bindPtr) ((bindPtr)->currentItem) -#define Blt_GetCurrentContext(bindPtr) ((bindPtr)->currentContext) -#define Blt_GetLatestItem(bindPtr) ((bindPtr)->newItem) - -#define Blt_GetBindingData(bindPtr) ((bindPtr)->clientData) - -#endif /*_BLT_BIND_H*/ +#endif |