OlClassSearchIEDB(3W) UNIX System V OlClassSearchIEDB(3W)
Database Utilities
NAME
OlClassSearchIEDB - register a given database on a specific widget class
SYNOPSIS
#include <Xol/OpenLook.h>
...
void
OlClassSearchIEDB(wc, db)
WidgetClass wc;
OlVirtualEventTable db;
DESCRIPTION
The OlClassSearchIEDB procedure is used to register a given database on a
specific widget class. The db value was returned from a call to
OlCreateInputEventDB(3W).
Once a database is registered with a given widget class, the
OlLookupInputEvent(3W) procedure (if db_flag is OL_DEFAULT_IE or db) will
include this database in the search stack if the given widget id is a
subclass of this widget class.
CAVEAT
The registering order determines the searching order when doing a lookup.
SEE ALSO
OlClassSearchTextDB(3W)
OlCreateInputEventDB(3W)
OlLookupInputEvent(3W)
OlWidgetSearchIEDB(3W)
OlWidgetSearchTextDB(3W)
EXAMPLE
/* To create a client application database */
#include <Xol/OpenLook.h>
#include <Xol/Stub.h>
/* start with a big value to avoid */
/* the "virtualname" collision */
#define OLMYBASE 1000
#define OLMYDRAWLINEBTN OLMYBASE+0
#define OLMYDRAWARCBTN OLMYBASE+1
#define OLMYREDISPLAYKEY OLMYBASE+2
#define OLMYSAVEPARTKEY OLMYBASE+3
#define XtNmyDrawLineBtn "myDrawLineBtn"
#define XtNmyDrawArcBtn "myDrawArcBtn"
#define XtNmyRedisplayKey "myRedisplayKey"
#define XtNmySavePartKey "mySavePartKey"
static OlKeyOrBtnRec OlMyBtnInfo[] = {
/*name defaultvalue virtualname */
10/89 Page 1
OlClassSearchIEDB(3W) UNIX System V OlClassSearchIEDB(3W)
{ XtNmyDrawLineBtn, "c<Button1>", OLMYDRAWLINEBTN },
{ XtNmyDrawArcBtn, "s<myDrawLineBtn>", OLMYDRAWARCBTN },
};
static OlKeyOrBtnRec OlMyKeyInfo[] = {
/*name defaultvalue virtualname */
{ XtNmyRedisplayKey, "c<F5>", OLMYREDISPLAYKEY },
{ XtNmySavePartKey, "c<F5>", OLMYSAVEPARTKEY },
};
static OlVirtualEventTable OlMyDB;
OlMyDB = OlCreateInputEventDB(
w,
OlMyKeyInfo, XtNumber(OlMyKeyInfo),
OlMyBtnInfo, XtNumber(OlMyBtnInfo)
);
/* assume: all stub widgets are interested in OlMyDB */
OlClassSearchIEDB(stubWidgetClass, OlMyDB);
/* once this step is done, all stub widget instances */
/* will receive the OlMyDB commands after a call to */
/* OlLookupInputEvent(), or in the XtNconsumeEvent */
/* callback's OlVirtualEvent structure supplied with */
/* the calldata field. */
Page 2 10/89