KWWidgets
|
00001 /* 00002 * qebind.h -- 00003 * 00004 * This module is the header for quasi-events. 00005 * 00006 * Copyright (c) 2002-2006 Tim Baker 00007 * 00008 * RCS: @(#) $Id: qebind.h,v 1.1 2007-02-06 13:18:14 barre Exp $ 00009 */ 00010 00011 #ifndef INCLUDED_QEBIND_H 00012 #define INCLUDED_QEBIND_H 00013 00014 typedef struct QE_BindingTable_ *QE_BindingTable; 00015 00016 /* Pass to QE_BindEvent */ 00017 typedef struct QE_Event { 00018 int type; 00019 int detail; 00020 ClientData clientData; 00021 } QE_Event; 00022 00023 typedef struct QE_ExpandArgs { 00024 QE_BindingTable bindingTable; 00025 char which; 00026 ClientData object; 00027 Tcl_DString *result; 00028 int event; 00029 int detail; 00030 ClientData clientData; 00031 } QE_ExpandArgs; 00032 00033 typedef void (*QE_ExpandProc)(QE_ExpandArgs *args); 00034 extern QE_BindingTable bindingTable; 00035 extern int debug_bindings; 00036 00037 extern int QE_BindInit(Tcl_Interp *interp); 00038 extern QE_BindingTable QE_CreateBindingTable(Tcl_Interp *interp); 00039 extern void QE_DeleteBindingTable(QE_BindingTable bindingTable); 00040 extern int QE_InstallEvent(QE_BindingTable bindingTable, char *name, QE_ExpandProc expand); 00041 extern int QE_InstallDetail(QE_BindingTable bindingTable, char *name, int eventType, QE_ExpandProc expand); 00042 extern int QE_CreateBinding(QE_BindingTable bindingTable, 00043 ClientData object, char *eventString, char *command, int append); 00044 extern int QE_DeleteBinding(QE_BindingTable bindingTable, 00045 ClientData object, char *eventString); 00046 extern int QE_GetBinding(QE_BindingTable bindingTable, 00047 ClientData object, char *eventString); 00048 extern int QE_GetAllBindings(QE_BindingTable bindingTable, 00049 ClientData object); 00050 extern int QE_GetEventNames(QE_BindingTable bindingTable); 00051 extern int QE_GetDetailNames(QE_BindingTable bindingTable, char *eventName); 00052 extern int QE_BindEvent(QE_BindingTable bindingTable, QE_Event *eventPtr); 00053 extern void QE_ExpandDouble(double number, Tcl_DString *result); 00054 extern void QE_ExpandNumber(long number, Tcl_DString *result); 00055 extern void QE_ExpandString(char *string, Tcl_DString *result); 00056 extern void QE_ExpandEvent(QE_BindingTable bindingTable, int eventType, Tcl_DString *result); 00057 extern void QE_ExpandDetail(QE_BindingTable bindingTable, int event, int detail, Tcl_DString *result); 00058 extern void QE_ExpandPattern(QE_BindingTable bindingTable, int eventType, int detail, Tcl_DString *result); 00059 extern void QE_ExpandUnknown(char which, Tcl_DString *result); 00060 extern int QE_BindCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00061 Tcl_Obj *CONST objv[]); 00062 extern int QE_ConfigureCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00063 Tcl_Obj *CONST objv[]); 00064 extern int QE_GenerateCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00065 Tcl_Obj *CONST objv[]); 00066 extern int QE_InstallCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00067 Tcl_Obj *CONST objv[]); 00068 extern int QE_UnbindCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00069 Tcl_Obj *CONST objv[]); 00070 extern int QE_UninstallCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00071 Tcl_Obj *CONST objv[]); 00072 extern int QE_LinkageCmd(QE_BindingTable bindingTable, int objOffset, int objc, 00073 Tcl_Obj *CONST objv[]); 00074 00075 #endif /* INCLUDED_QEBIND_H */ 00076