OlWidgetSearchIEDB(3W) UNIX System V OlWidgetSearchIEDB(3W)
Database Utilities
NAME
OlWidgetSearchIEDB - register a given database on a specific widget
instance
SYNOPSIS
#include <Xol/OpenLook.h>
...
void
OlWidgetSearchIEDB(w, db)
Widget w;
OlVirtualEventTable db;
DESCRIPTION
The OlWidgetSearchIEDB procedure is used to register a given database on
a specific widget instance. The db value was returned from a call to
OlCreateInputEventDB(3W).
Once a database is registered with a given widget instance, 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 this
widget instance.
CAVEAT
The registering order determines the searching order when doing a lookup.
SEE ALSO
OlClassSearchIEDB(3W)
OlClassSearchTextDB(3W)
OlCreateInputEventDB(3W)
OlLookupInputEvent(3W)
OlWidgetSearchTextDB(3W)
EXAMPLE
/* To create a client application database */
...
#include <Xol/OpenLook.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"
10/89 Page 1
OlWidgetSearchIEDB(3W) UNIX System V OlWidgetSearchIEDB(3W)
static OlKeyOrBtnRec OlMyBtnInfo[] = {
/*name defaultvalue virtualname */
{ 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: "w" is a stub widget that is interested in */
/* OlMyDB */
OlWidgetSearchIEDB(w, OlMyDB);
/* once this step is done, this widget instance will */
/* receive OlMyDB commands after a call to */
/* OlLookupInputEvent(), or in the XtNconsumeEvent */
/* callback's OlVirtualEvent structure supplied with */
/* the calldata field. */
...
Page 2 10/89