static void XawFormClassInitialize(void) { static XtConvertArgRec parentCvtArgs[] = { {XtBaseOffset, (XtPointer)XtOffsetOf(WidgetRec, core.parent), sizeof(Widget)} }; char name[12]; XawInitializeWidgetSet(); XmuNCopyISOLatin1Lowered(name, XtEchainLeft, sizeof(name)); QchainLeft = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEchainRight, sizeof(name)); QchainRight = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEchainTop, sizeof(name)); QchainTop = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEchainBottom, sizeof(name)); QchainBottom = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtErubber, sizeof(name)); Qrubber = XrmStringToQuark(name); XtAddConverter(XtRString, XtREdgeType, _CvtStringToEdgeType, NULL, 0); XtSetTypeConverter(XtREdgeType, XtRString, CvtEdgeTypeToString, NULL, 0, XtCacheNone, NULL); XtSetTypeConverter(XtRString, XtRWidget, XmuNewCvtStringToWidget, parentCvtArgs, XtNumber(parentCvtArgs), XtCacheNone, NULL); XtSetTypeConverter(XtRWidget, XtRString, XmuCvtWidgetToString, NULL, 0, XtCacheNone, NULL); }
/*ARGSUSED*/ void XmuCvtStringToJustify(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { static XtJustify e; XrmQuark q; char *s = (char *)fromVal->addr; char name[7]; if (s == NULL) return; InitializeQuarks(); XmuNCopyISOLatin1Lowered(name, s, sizeof(name)); q = XrmStringToQuark(name); toVal->size = sizeof(XtJustify); toVal->addr = (XPointer)&e; if (q == Qleft) e = XtJustifyLeft; else if (q == Qcenter) e = XtJustifyCenter; else if (q == Qright) e = XtJustifyRight; else { toVal->addr = NULL; XtStringConversionWarning((char *)fromVal->addr, XtRJustify); } }
/*ARGSUSED*/ void XmuCvtStringToBackingStore(XrmValue *args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { XrmQuark q; char name[11]; static int backingStoreType; if (*num_args != 0) XtWarning("String to BackingStore conversion needs no extra arguments"); InitializeQuarks(); XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name)); q = XrmStringToQuark (name); if (q == QnotUseful) backingStoreType = NotUseful; else if (q == QwhenMapped) backingStoreType = WhenMapped; else if (q == Qalways) backingStoreType = Always; else if (q == Qdefault) backingStoreType = Always + WhenMapped + NotUseful; else { XtStringConversionWarning((char *)fromVal->addr, XtRBackingStore); return; } toVal->size = sizeof(int); toVal->addr = (XPointer)&backingStoreType; }
/* * This function is deprecated as of the addition of * XtCvtStringToGravity in R6 */ void XmuCvtStringToGravity(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { static Boolean haveQuarks = False; char name[10]; XrmQuark q; struct _namepair *np; if (*num_args != 0) XtWarningMsg("wrongParameters","cvtStringToGravity","XtToolkitError", "String to Gravity conversion needs no extra arguments", (String *)NULL, (Cardinal *)NULL); if (!haveQuarks) { for (np = names; np->name; np++) np->quark = XrmPermStringToQuark(np->name); haveQuarks = True; } XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name)); q = XrmStringToQuark(name); for (np = names; np->name; np++) { if (np->quark == q) { done(&np->gravity, XtGravity); return; } } XtStringConversionWarning((char *)fromVal->addr, XtRGravity); }
/*ARGSUSED*/ static void _CvtStringToEdgeType(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { static XtEdgeType edgeType; XrmQuark q; char name[12]; XmuNCopyISOLatin1Lowered(name, (char*)fromVal->addr, sizeof(name)); q = XrmStringToQuark(name); if (q == QchainLeft) edgeType = XtChainLeft; else if (q == QchainRight) edgeType = XtChainRight; else if (q == QchainTop) edgeType = XtChainTop; else if (q == QchainBottom) edgeType = XtChainBottom; else if (q == Qrubber) edgeType = XtRubber; else { XtStringConversionWarning(fromVal->addr, XtREdgeType); toVal->size = 0; toVal->addr = NULL; return; } toVal->size = sizeof(XtEdgeType); toVal->addr = (XPointer)&edgeType; }
/*ARGSUSED*/ void XmuCvtStringToOrientation(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { static XtOrientation orient; XrmQuark q; char name[11]; InitializeQuarks(); XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name)); q = XrmStringToQuark(name); toVal->size = sizeof(XtJustify); toVal->addr = (XPointer)&orient; if (q == Qhorizontal) orient = XtorientHorizontal; else if (q == Qvertical) orient = XtorientVertical; else { toVal->addr = NULL; XtStringConversionWarning((char *)fromVal->addr, XtROrientation); } }
/* * Implementation */ static void InitializeQuarks(void) { if (!haveQuarks) { char name[11]; XmuNCopyISOLatin1Lowered(name, XtEnotUseful, sizeof(name)); QnotUseful = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEwhenMapped, sizeof(name)); QwhenMapped = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEalways, sizeof(name)); Qalways = XrmStringToQuark(name); XmuNCopyISOLatin1Lowered(name, XtEdefault, sizeof(name)); Qdefault = XrmStringToQuark(name); haveQuarks = True; } }
XmuWidgetNode * XmuWnNameToNode(XmuWidgetNode *nodelist, int nnodes, _Xconst char *name) { int i; XmuWidgetNode *wn; char tmp[1024]; XmuNCopyISOLatin1Lowered(tmp, name, sizeof(tmp)); for (i = 0, wn = nodelist; i < nnodes; i++, wn++) { if (strcmp (tmp, wn->lowered_label) == 0 || strcmp (tmp, wn->lowered_classname) == 0) { return wn; } } return NULL; }
/*ARGSUSED*/ static void CvtStringToAsciiType(XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) { static XawAsciiType type; XrmQuark q; char name[7]; XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name)); q = XrmStringToQuark(name); if (q == Qstring) type = XawAsciiString; else if (q == Qfile) type = XawAsciiFile; else { toVal->size = 0; toVal->addr = NULL; XtStringConversionWarning((char *)fromVal->addr, XtRAsciiType); } toVal->size = sizeof(XawAsciiType); toVal->addr = (XPointer)&type; }