KWWidgets
qebind.h
Go to the documentation of this file.
1 /*
2  * qebind.h --
3  *
4  * This module is the header for quasi-events.
5  *
6  * Copyright (c) 2002-2006 Tim Baker
7  *
8  * RCS: @(#) $Id: qebind.h,v 1.1 2007-02-06 13:18:14 barre Exp $
9  */
10 
11 #ifndef INCLUDED_QEBIND_H
12 #define INCLUDED_QEBIND_H
13 
14 typedef struct QE_BindingTable_ *QE_BindingTable;
15 
16 /* Pass to QE_BindEvent */
17 typedef struct QE_Event {
18  int type;
19  int detail;
20  ClientData clientData;
21 } QE_Event;
22 
23 typedef struct QE_ExpandArgs {
25  char which;
26  ClientData object;
27  Tcl_DString *result;
28  int event;
29  int detail;
30  ClientData clientData;
32 
33 typedef void (*QE_ExpandProc)(QE_ExpandArgs *args);
35 extern int debug_bindings;
36 
37 extern int QE_BindInit(Tcl_Interp *interp);
38 extern QE_BindingTable QE_CreateBindingTable(Tcl_Interp *interp);
39 extern void QE_DeleteBindingTable(QE_BindingTable bindingTable);
40 extern int QE_InstallEvent(QE_BindingTable bindingTable, char *name, QE_ExpandProc expand);
41 extern int QE_InstallDetail(QE_BindingTable bindingTable, char *name, int eventType, QE_ExpandProc expand);
42 extern int QE_CreateBinding(QE_BindingTable bindingTable,
43  ClientData object, char *eventString, char *command, int append);
44 extern int QE_DeleteBinding(QE_BindingTable bindingTable,
45  ClientData object, char *eventString);
46 extern int QE_GetBinding(QE_BindingTable bindingTable,
47  ClientData object, char *eventString);
48 extern int QE_GetAllBindings(QE_BindingTable bindingTable,
49  ClientData object);
50 extern int QE_GetEventNames(QE_BindingTable bindingTable);
51 extern int QE_GetDetailNames(QE_BindingTable bindingTable, char *eventName);
52 extern int QE_BindEvent(QE_BindingTable bindingTable, QE_Event *eventPtr);
53 extern void QE_ExpandDouble(double number, Tcl_DString *result);
54 extern void QE_ExpandNumber(long number, Tcl_DString *result);
55 extern void QE_ExpandString(char *string, Tcl_DString *result);
56 extern void QE_ExpandEvent(QE_BindingTable bindingTable, int eventType, Tcl_DString *result);
57 extern void QE_ExpandDetail(QE_BindingTable bindingTable, int event, int detail, Tcl_DString *result);
58 extern void QE_ExpandPattern(QE_BindingTable bindingTable, int eventType, int detail, Tcl_DString *result);
59 extern void QE_ExpandUnknown(char which, Tcl_DString *result);
60 extern int QE_BindCmd(QE_BindingTable bindingTable, int objOffset, int objc,
61  Tcl_Obj *CONST objv[]);
62 extern int QE_ConfigureCmd(QE_BindingTable bindingTable, int objOffset, int objc,
63  Tcl_Obj *CONST objv[]);
64 extern int QE_GenerateCmd(QE_BindingTable bindingTable, int objOffset, int objc,
65  Tcl_Obj *CONST objv[]);
66 extern int QE_InstallCmd(QE_BindingTable bindingTable, int objOffset, int objc,
67  Tcl_Obj *CONST objv[]);
68 extern int QE_UnbindCmd(QE_BindingTable bindingTable, int objOffset, int objc,
69  Tcl_Obj *CONST objv[]);
70 extern int QE_UninstallCmd(QE_BindingTable bindingTable, int objOffset, int objc,
71  Tcl_Obj *CONST objv[]);
72 extern int QE_LinkageCmd(QE_BindingTable bindingTable, int objOffset, int objc,
73  Tcl_Obj *CONST objv[]);
74 
75 #endif /* INCLUDED_QEBIND_H */
76