1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
/*
* Motif Tools Library, Version 3.1
* $Id$
*
* Written by David Flanagan.
* Copyright (c) 1992-2001 by David Flanagan.
* All Rights Reserved. See the file COPYRIGHT for details.
* This is open source software. See the file LICENSE for details.
* There is no warranty for this software. See NO_WARRANTY for details.
*
* $Log$
* Revision 1.1.1.1 2001/07/18 11:06:03 root
* Initial checkin.
*
* Revision 1.2 2001/06/12 16:25:28 andre
* *** empty log message ***
*
*
*/
#include <Xmt/Xmt.h>
#include <Xmt/ConvertersP.h>
/*ARGSUSED*/
#if NeedFunctionPrototypes
Boolean XmtConvertStringToWidget(Display *dpy,
XrmValue *args, Cardinal *num_args,
XrmValue *from, XrmValue *to,
XtPointer *converter_data)
#else
Boolean XmtConvertStringToWidget(dpy, args, num_args, from, to, converter_data)
Display *dpy;
XrmValue *args;
Cardinal *num_args;
XrmValue *from;
XrmValue *to;
XtPointer *converter_data;
#endif
{
Widget w;
if (*num_args != 1)
XmtWarningMsg("XmtConvertStringToWidget","wrongParameters",
"converter needs reference widget argument.");
w = XmtNameToWidget(*(Widget *)args[0].addr, from->addr);
if (w == NULL) {
XtDisplayStringConversionWarning(dpy, (char *)from->addr, XtRWidget);
return False;
}
/* see ConvertersP.h for this macro */
done(Widget, w);
}
#if NeedFunctionPrototypes
void XmtRegisterWidgetConverter(void)
#else
void XmtRegisterWidgetConverter()
#endif
{
static Boolean registered = False;
if (!registered) {
/*
* We register this converter three times: once to convert XtRWidget,
* and also for to XmRWindow, and XmRMenuWidget, because Motif widgets
* mis-named the type of their widget resoruces and the Cascade button
* has yet another type.
*/
registered = True;
XtSetTypeConverter(XtRString, XtRWidget,
XmtConvertStringToWidget,
_XmtWidgetConvertArg, (Cardinal) 1,
XtCacheNone, NULL);
XtSetTypeConverter(XtRString, XmRWindow,
XmtConvertStringToWidget,
_XmtWidgetConvertArg, (Cardinal) 1,
XtCacheNone, NULL);
XtSetTypeConverter(XtRString, XmRMenuWidget,
XmtConvertStringToWidget,
_XmtWidgetConvertArg, (Cardinal) 1,
XtCacheNone, NULL);
}
}
|