summaryrefslogtreecommitdiff
path: root/Xw/ResConvert.c
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2018-10-20 17:43:57 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2018-10-20 17:43:57 +0200
commit04d5d0ea0f65a434e568fe031f6396caec9b3a8d (patch)
treedecc35c37120084c4a55311cb4e801524369ff57 /Xw/ResConvert.c
Import Upstream version 3.8.78.dfsg
Diffstat (limited to 'Xw/ResConvert.c')
-rw-r--r--Xw/ResConvert.c797
1 files changed, 797 insertions, 0 deletions
diff --git a/Xw/ResConvert.c b/Xw/ResConvert.c
new file mode 100644
index 0000000..d705c26
--- /dev/null
+++ b/Xw/ResConvert.c
@@ -0,0 +1,797 @@
+/*************************************<+>*************************************
+ *****************************************************************************
+ **
+ ** File: ResConvert.c
+ **
+ ** Project: X Widgets
+ **
+ ** Description: Contains a function to register all of the resource
+ ** type converters used within Xw and the converter
+ ** routines.
+ **
+ *****************************************************************************
+ **
+ ** Copyright (c) 1988 by Hewlett-Packard Company
+ ** Copyright (c) 1988 by the Massachusetts Institute of Technology
+ **
+ ** Permission to use, copy, modify, and distribute this software
+ ** and its documentation for any purpose and without fee is hereby
+ ** granted, provided that the above copyright notice appear in all
+ ** copies and that both that copyright notice and this permission
+ ** notice appear in supporting documentation, and that the names of
+ ** Hewlett-Packard or M.I.T. not be used in advertising or publicity
+ ** pertaining to distribution of the software without specific, written
+ ** prior permission.
+ **
+ *****************************************************************************
+ *************************************<+>*************************************/
+
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <X11/Xlib.h>
+#include <X11/IntrinsicP.h>
+#include <X11/Intrinsic.h>
+#include <Xw/Xw.h>
+#include <Xw/XwP.h>
+#include <Xw/TextEdit.h>
+#include <X11/StringDefs.h>
+
+
+static void _XwCvtStringToTraversalType ();
+static void _XwCvtStringToHighlightStyle ();
+static void _XwCvtStringToTileType();
+static void _XwCvtStringToLayoutPolicy();
+static void _XwCvtStringToLabelLocation();
+static Boolean StringsAreEqual();
+static void _XwCvtStringToAlignment();
+static void _XwCvtStringToWidgetType();
+static void _XwCvtStringToSelectionMethod();
+static void _XwCvtStringToSelectionStyle();
+static void _XwCvtStringToSelectionBias();
+static void _XwCvtStringToElementHighlight();
+static void _XwCvtStringToDestroyMode();
+static void _XwCvtStringToGravity ();
+static void _XwCvtStringToTitlePositionType();
+static void _XwCvtStringToLabelType();
+static void _XwCvtStringToTitleType();
+static void _XwCvtLongToLong();
+static void CvtStringToEditMode();
+static void CvtStringToSourceType();
+static void CvtStringToWrap();
+static void CvtStringToWrapBreak();
+static void CvtStringToWrapForm();
+static void CvtStringToScroll();
+static void CvtStringToGrow();
+
+typedef struct {
+ unsigned char *string;
+ int value;
+} XwSetValuePair;
+
+#define NUMVALUESETS 7
+#define XwEditTypeValueSetNum 0
+#define XwSourceTypeValueSetNum 1
+#define XwWrapValueSetNum 2
+#define XwWrapFormValueSetNum 3
+#define XwWrapBreakValueSetNum 4
+#define XwScrollValueSetNum 5
+#define XwGrowValueSetNum 6
+
+static XwSetValuePair XwEditTypeValueSet[] =
+ { {(unsigned char *)"edit", (int) XwtextEdit},
+ {(unsigned char *)"append", (int) XwtextAppend},
+ {(unsigned char *)"read", (int) XwtextRead},
+ NULL };
+static XwSetValuePair XwSourceTypeValueSet[] =
+ {{(unsigned char *)"stringsrc", (int) XwstringSrc},
+ {(unsigned char *)"disksrc", (int) XwdiskSrc},
+ {(unsigned char *)"userdefined", (int) XwprogDefinedSrc},
+ NULL };
+static XwSetValuePair XwWrapValueSet[] =
+ {{(unsigned char *)"wrapoff", (int) XwWrapOff},
+ {(unsigned char *)"softwrap", (int) XwSoftWrap},
+ {(unsigned char *)"hardwrap", (int) XwHardWrap},
+ NULL };
+static XwSetValuePair XwWrapFormValueSet[] =
+ {{(unsigned char *)"sourceform", (int) XwSourceForm},
+ {(unsigned char *)"displayform", (int) XwDisplayForm},
+ NULL };
+static XwSetValuePair XwWrapBreakValueSet[] =
+ {{(unsigned char *)"wrapany", (int) XwWrapAny},
+ {(unsigned char *)"wrapwhitespace", (int) XwWrapWhiteSpace},
+ NULL };
+static XwSetValuePair XwScrollValueSet[] =
+ {{(unsigned char *)"autoscrolloff", (int) XwAutoScrollOff},
+ {(unsigned char *)"autoscrollvertical", (int) XwAutoScrollVertical},
+ {(unsigned char *)"autoscrollhorizontal", (int) XwAutoScrollHorizontal},
+ {(unsigned char *)"autoscrollboth", (int) XwAutoScrollBoth},
+ NULL };
+static XwSetValuePair XwGrowValueSet[] =
+ {{(unsigned char *)"growoff", (int) XwGrowOff},
+ {(unsigned char *)"growhorizontal", (int) XwGrowHorizontal},
+ {(unsigned char *)"growvertical", (int) XwGrowVertical},
+ {(unsigned char *)"growboth", (int) XwGrowBoth},
+ NULL };
+
+static XwSetValuePair *valuepairsets[NUMVALUESETS];
+
+/************************************************************************
+ *
+ * XwRegisterConverters
+ * Register all of the Xw resource type converters. Retain a
+ * flag indicating whether the converters have already been
+ * registered.
+ *
+ ************************************************************************/
+
+XwRegisterConverters ()
+{
+ static Boolean registered = False;
+
+ if (!registered)
+ {
+ XtAddConverter (XtRString, XtRTraversalType,
+ _XwCvtStringToTraversalType, NULL, 0);
+ XtAddConverter (XtRString, XtRLayout,
+ _XwCvtStringToLayoutPolicy, NULL, 0);
+ XtAddConverter (XtRString, XtRHighlightStyle,
+ _XwCvtStringToHighlightStyle, NULL, 0);
+ XtAddConverter (XtRString, XtRTileType,
+ _XwCvtStringToTileType, NULL, 0);
+ XtAddConverter (XtRString, XtRLabelLocation,
+ _XwCvtStringToLabelLocation, NULL, 0);
+ XtAddConverter (XtRString, XtRAlignment,
+ _XwCvtStringToAlignment, NULL, 0);
+ XtAddConverter (XtRString, XtRWidgetType,
+ _XwCvtStringToWidgetType, NULL, 0);
+ XtAddConverter (XtRString, XtRGravity,
+ _XwCvtStringToGravity, NULL,0);
+ XtAddConverter (XtRString, XtRTitlePositionType,
+ _XwCvtStringToTitlePositionType, NULL, 0);
+ XtAddConverter (XtRString, XtRTitleType, _XwCvtStringToTitleType,
+ NULL, 0);
+ XtAddConverter (XtRString, XtRLabelType, _XwCvtStringToLabelType,
+ NULL, 0);
+ XtAddConverter (XtRLong, XtRLong, _XwCvtLongToLong, NULL, 0);
+
+ valuepairsets[XwEditTypeValueSetNum] = XwEditTypeValueSet;
+ valuepairsets[XwSourceTypeValueSetNum] = XwSourceTypeValueSet;
+ valuepairsets[XwWrapValueSetNum] = XwWrapValueSet;
+ valuepairsets[XwWrapFormValueSetNum] = XwWrapFormValueSet;
+ valuepairsets[XwWrapBreakValueSetNum] = XwWrapBreakValueSet;
+ valuepairsets[XwScrollValueSetNum] = XwScrollValueSet;
+ valuepairsets[XwGrowValueSetNum] = XwGrowValueSet;
+
+ XtAddConverter(XtRString, XtREditMode, CvtStringToEditMode, NULL, 0);
+ XtAddConverter(XtRString, XtRSourceType, CvtStringToSourceType, NULL, 0);
+ XtAddConverter(XtRString, XtRWrap, CvtStringToWrap, NULL, 0);
+ XtAddConverter(XtRString, XtRWrapBreak, CvtStringToWrapBreak, NULL, 0);
+ XtAddConverter(XtRString, XtRWrapForm, CvtStringToWrapForm, NULL, 0);
+ XtAddConverter(XtRString, XtRScroll, CvtStringToScroll, NULL, 0);
+ XtAddConverter(XtRString, XtRGrow, CvtStringToGrow, NULL, 0);
+
+ }
+ registered = True;
+}
+
+
+
+
+/************************************************************************
+ *
+ * Resource Conversion Functions
+ * The following set of functions are used by the resource
+ * manager to convert the resource types defined for this class.
+ *
+ ************************************************************************/
+
+
+/* Convert a string to a traversal type. */
+
+static void _XwCvtStringToTraversalType (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ char * in_str = (char *) (fromVal->addr);
+ static int i;
+
+ i = XwHIGHLIGHT_OFF;
+
+ if (((*in_str) == 'H') || ((*in_str) == 'h'))
+ {
+ if (StringsAreEqual (in_str, "highlight_traversal"))
+ i = XwHIGHLIGHT_TRAVERSAL;
+ else if (StringsAreEqual (in_str, "highlight_enter"))
+ i = XwHIGHLIGHT_ENTER;
+ }
+
+ (*toVal).size = sizeof (int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+/******************************************************/
+/* Convert a string to a ButtonClass Label Location. */
+/******************************************************/
+static void _XwCvtStringToLabelLocation (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ char * in_str = (char *) (fromVal->addr);
+ static int i;
+
+ if (((*in_str)== 'L') || ((*in_str)=='l'))
+ {
+ if (StringsAreEqual(in_str,"left")) i = XwLEFT;
+ }
+ else
+ i = XwRIGHT;
+
+ (*toVal).size = sizeof (int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+/********************************************************/
+/* Convert a string to ManagerClass layout mode type. */
+/********************************************************/
+static void _XwCvtStringToLayoutPolicy (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ char * in_str = (char *) (fromVal->addr);
+ static int i;
+
+ i = XwMINIMIZE;
+
+ switch(*in_str)
+ {
+ case 'I':
+ case 'i':
+ if (StringsAreEqual(in_str,"ignore")) i = XwIGNORE;
+ break;
+
+ case 'M':
+ case 'm':
+ if (StringsAreEqual(in_str,"maximize")) i = XwMAXIMIZE;
+
+ }
+
+ (*toVal).size = sizeof (int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+
+
+static Boolean StringsAreEqual(in_str, test_str)
+char *in_str, *test_str;
+{
+ int i, j;
+
+ for (;;)
+ {
+ i = *in_str;
+ j = *test_str;
+
+ if (isupper(i)) i = tolower(i);
+ if (isupper(j)) j = tolower(j);
+ if (i != j) return (False);
+ if (i == 0) return (True);
+
+ in_str++;
+ test_str++;
+ }
+}
+
+
+/* Convert a string to a highlight type. */
+
+static void _XwCvtStringToHighlightStyle (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ char * in_str = (char *) (fromVal->addr);
+ static int i;
+
+ i = XwWIDGET_DEFINED;
+
+ if (((*in_str) == 'P') || ((*in_str) == 'p'))
+ if (StringsAreEqual (in_str, "pattern_border"))
+ i = XwPATTERN_BORDER;
+
+ (*toVal).size = sizeof (int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+/* Convert a string to an tile type. */
+
+static void _XwCvtStringToTileType (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ char * in_str = (char *) (fromVal->addr);
+ static int i;
+
+ i = XwFOREGROUND;
+
+ switch (*in_str)
+ {
+ case 'F':
+ case 'f':
+ if (StringsAreEqual (in_str, "foreground")) i = XwFOREGROUND;
+ break;
+
+ case 'B':
+ case 'b':
+ if (StringsAreEqual (in_str, "background")) i = XwBACKGROUND;
+ break;
+ }
+
+
+ (*toVal).size = sizeof (int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+
+/*************************************<->*************************************
+ *
+ * static void _XwCvtStringToAlignment()
+ * Display *display;
+ * XrmValue *p_fromVal;
+ * XrmValue *toVal;
+ *
+ * Description:
+ * -----------
+ * This is a type conversion procedure for the resource manager.
+ * converts strings to type XwAlignment. The conversion is case
+ * insensitive.
+ *
+ * Inputs:
+ * ------
+ * See "Xlib - C Language X Interface Protocol Version 11"
+ *
+ * Outputs:
+ * -------
+ * See "Xlib - C Language X Interface Protocol Version 11"
+ *
+ * Procedures Called
+ * -----------------
+ * StringsAreEqual
+ *
+ *************************************<->***********************************/
+static void _XwCvtStringToAlignment(args,num,p_fromVal,toVal)
+ XrmValue *args;
+ Cardinal num;
+ XrmValue *p_fromVal;
+ XrmValue *toVal;
+{
+ static XwAlignment Align = XwALIGN_LEFT;
+ char *from_str;
+ Boolean match = FALSE;
+
+ from_str = (char *) (p_fromVal->addr);
+ toVal->addr = (caddr_t) &Align;
+ toVal->size = sizeof(XwAlignment);
+
+ switch(*from_str)
+ {
+ case 'L':
+ case 'l':
+ if (match = StringsAreEqual(from_str,"left"))
+ Align = XwALIGN_LEFT;
+ break;
+ case 'C':
+ case 'c':
+ if (match = StringsAreEqual(from_str,"center"))
+ Align = XwALIGN_CENTER;
+ break;
+ case 'R':
+ case 'r':
+ if (match = StringsAreEqual(from_str,"right"))
+ Align = XwALIGN_RIGHT;
+ break;
+ case 'N':
+ case 'n':
+ if (match = StringsAreEqual(from_str,"none"))
+ Align = XwALIGN_NONE;
+ break;
+ default:
+ match = FALSE;
+ break;
+ }
+
+ if(!match)
+ {
+ toVal->addr = NULL;
+ toVal->size = 0;
+ }
+}
+
+
+/*************************************<->*************************************
+ *
+ * static void _XwCvtStringToWidgetType()
+ * Display *display;
+ * XrmValue *p_fromVal;
+ * XrmValue *toVal;
+ *
+ * Description:
+ * -----------
+ * This is a type conversion procedure for the resource manager.
+ * converts strings to type XwWidgetType. The conversion is case
+ * insensitive.
+ *
+ * Inputs:
+ * ------
+ * See "Xlib - C Language X Interface Protocol Version 11"
+ *
+ * Outputs:
+ * -------
+ * See "Xlib - C Language X Interface Protocol Version 11"
+ *
+ * Procedures Called
+ * -----------------
+ * StringsAreEqual
+ *
+ *************************************<->***********************************/
+static void _XwCvtStringToWidgetType(args,num,p_fromVal,toVal)
+ XrmValue *args;
+ Cardinal num;
+ XrmValue *p_fromVal;
+ XrmValue *toVal;
+{
+ static XwWidgetType WType = XwUNKNOWN;
+ char *from_str;
+ Boolean match = FALSE;
+
+ from_str = (char *) (p_fromVal->addr);
+ toVal->addr = (caddr_t) &WType;
+ toVal->size = sizeof(XwWidgetType);
+
+ switch(*from_str)
+ {
+ case 'T':
+ case 't':
+ if (match = StringsAreEqual(from_str,"title"))
+ WType = XwTITLE;
+ break;
+ case 'P':
+ case 'p':
+ if (match = StringsAreEqual(from_str,"pulldown"))
+ WType = XwPULLDOWN;
+ break;
+ case 'W':
+ case 'w':
+ if (match = StringsAreEqual(from_str,"work space"))
+ WType = XwWORK_SPACE;
+ break;
+ case 'U':
+ case 'u':
+ if (match = StringsAreEqual(from_str,"unknown"))
+ WType = XwUNKNOWN;
+ break;
+ default:
+ match = FALSE;
+ break;
+ }
+
+ if(!match)
+ {
+ toVal->addr = NULL;
+ toVal->size = 0;
+ }
+}
+
+
+
+
+/************************************************************************
+ *
+ * _XwCvtStringToGravity
+ * Convert a resource string to a gravity value.
+ *
+ ************************************************************************/
+
+static void _XwCvtStringToGravity (args, numArgs, fromVal, toVal)
+XrmValue * args;
+Cardinal numArgs;
+XrmValue * fromVal;
+XrmValue * toVal;
+
+{
+ static int gravity = CenterGravity;
+ char *from_str;
+ Boolean match = FALSE;
+
+ from_str = (char *) (fromVal->addr);
+ toVal->addr = (caddr_t) &gravity;
+ toVal->size = sizeof(int);
+
+ switch (*from_str)
+ {
+ case 'N':
+ case 'n':
+ if (match = StringsAreEqual(from_str,"NorthGravity"))
+ gravity = NorthGravity;
+ else if (match = StringsAreEqual(from_str,"NorthWestGravity"))
+ gravity = NorthWestGravity;
+ else if (match = StringsAreEqual(from_str,"NorthEastGravity"))
+ gravity = NorthEastGravity;
+ break;
+ case 'S':
+ case 's':
+ if (match = StringsAreEqual(from_str,"SouthGravity"))
+ gravity = SouthGravity;
+ else if (match = StringsAreEqual(from_str,"SouthWestGravity"))
+ gravity = SouthWestGravity;
+ else if (match = StringsAreEqual(from_str,"SouthEastGravity"))
+ gravity = SouthEastGravity;
+ break;
+ case 'W':
+ case 'w':
+ if (match = StringsAreEqual(from_str,"WestGravity"))
+ gravity = WestGravity;
+ break;
+ case 'E':
+ case 'e':
+ if (match = StringsAreEqual(from_str,"EastGravity"))
+ gravity = EastGravity;
+ break;
+ case 'C':
+ case 'c':
+ if (match = StringsAreEqual(from_str,"CenterGravity"))
+ gravity = CenterGravity;
+ break;
+ default:
+ match = FALSE;
+ break;
+ }
+
+ if(!match)
+ {
+ toVal->addr = NULL;
+ toVal->size = 0;
+ }
+}
+
+static void _XwCvtStringToTitleType (args, num_args, fromVal, toVal)
+
+ XrmValuePtr args;
+ Cardinal * num_args;
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+
+{
+ static int i;
+ String source = (String) fromVal->addr;
+
+ if (source)
+ {
+ if (strcmp ("string", source) == 0)
+ i = XwSTRING;
+ else if (strcmp ("image", source) == 0)
+ i = XwIMAGE;
+ else if (strcmp ("rect", source) == 0)
+ i = XwRECT;
+ else
+ {
+ i = XwSTRING;
+ XtWarning (
+ "MenuPane: Unknown title type specified; using string title");
+ }
+ }
+ else
+ {
+ i = XwSTRING;
+ XtWarning ("MenuPane: Unknown title type specified; using string title");
+ }
+
+ (*toVal).size = sizeof(int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+
+static void _XwCvtStringToLabelType (args, num_args, fromVal, toVal)
+
+ XrmValuePtr args;
+ Cardinal * num_args;
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+
+{
+ static int i;
+
+ if (strcmp ("string", (char *) fromVal->addr) == 0)
+ i = XwSTRING;
+ else if (strcmp ("image", (char *) fromVal->addr) == 0)
+ i = XwIMAGE;
+ else
+ {
+ i = XwSTRING;
+ XtWarning
+ ("MenuButton: Unknown label type specified; using string label");
+ }
+
+ (*toVal).size = sizeof(int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+static void _XwCvtStringToTitlePositionType (args, num_args, fromVal, toVal)
+
+ XrmValuePtr args;
+ Cardinal * num_args;
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+
+{
+ static int i;
+ String source = (char *) fromVal->addr;
+
+ if (source)
+ {
+ /* Force the comparison to be case insensitive */
+ for (i = 0; i < XwStrlen(source); i++)
+ {
+ if (isupper (source[i]))
+ source[i] = tolower(source[i]);
+ }
+
+ if (strcmp ("bottom", source) == 0)
+ i = XwBOTTOM;
+ else if (strcmp ("top", source) == 0)
+ i = XwTOP;
+ else if (strcmp ("both", source) == 0)
+ i = XwTOP | XwBOTTOM;
+ else
+ {
+ i = XwTOP;
+ XtWarning ("Cascade: Invalid title position; position set to top");
+ }
+ }
+ else
+ {
+ i = XwTOP;
+ XtWarning ("Cascade: Invalid title position; position set to top");
+ }
+
+ (*toVal).size = sizeof(int);
+ (*toVal).addr = (caddr_t) &i;
+}
+
+/*---------------------------------------------------------------------------*/
+/* Type long to type long conversion (mostly to satisfy picky 64-bit OSF) */
+/*---------------------------------------------------------------------------*/
+
+static void _XwCvtLongToLong (args, num_args, fromVal, toVal)
+
+ XrmValuePtr args;
+ Cardinal * num_args;
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+
+{
+ long result = (long) fromVal->addr;
+
+ if (!result) {
+ XtWarning ("SourceStr: Invalid max_size; max_size set to -1");
+ result = -1;
+ }
+ (*toVal).size = sizeof(long);
+ (*toVal).addr = (caddr_t) &result;
+}
+
+/*--------------------------------------------------------------------------+*/
+static void SetConverter(fromVal, toVal, setNum)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr fromVal, toVal;
+ int setNum;
+{
+ int j;
+ XwSetValuePair *ptr;
+ static int value;
+ unsigned char *fromstr;
+
+ fromstr = (unsigned char *)fromVal->addr;
+ ptr = valuepairsets[setNum];
+ for(j=0; *ptr[j].string; j++)
+ if (!strcmp(ptr[j].string, fromstr)) {
+ value = ptr[j].value;
+ toVal->size = sizeof(int);
+ toVal->addr = (caddr_t)&value;
+ return;
+ };
+ toVal->size = 0;
+ toVal->addr = NULL;
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToEditMode(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwEditTypeValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToSourceType(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwSourceTypeValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToWrap(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwWrapValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToWrapForm(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwWrapFormValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToWrapBreak(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwWrapBreakValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToScroll(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwScrollValueSetNum);
+}
+
+/*--------------------------------------------------------------------------+*/
+static void CvtStringToGrow(args, num_args, fromVal, toVal)
+/*--------------------------------------------------------------------------+*/
+ XrmValuePtr *args; /* unused */
+ Cardinal *num_args; /* unused */
+ XrmValuePtr fromVal;
+ XrmValuePtr toVal;
+{
+ SetConverter(fromVal, toVal, XwGrowValueSetNum);
+}