示例#1
0
文件: Host.c 项目: idunham/dtextra
static void
class_initialize(void)
{
XmRepTypeId id;
static char *value_names[] =
{
    "client",
    "server"
};

static unsigned char values[] =
{
    XltHOST_CLIENT,
    XltHOST_SERVER
};

    /*
       printf("class_initialize()\n");
     */
     id = XmRepTypeRegister(XltRHostType, value_names, values, XtNumber(values));
     /* rws 13 Apr 2001
        We need a HostType to String converter
     XtSetTypeConverter(XltRHostType, XmRString, conv, NULL, 0, XtCacheNone, NULL);
     */
     XmRepTypeAddReverse(id);
}
示例#2
0
文件: test1.c 项目: melanj/lesstif
int
main(int argc, char **argv)
{
    int target;
    int GlobalErrors = 0;
    XtAppContext app;
    Widget Shell;
    XmRepTypeId id;
    XrmValue from, to;
    XrmValue rev_from, rev_to;
    static String value_names[] = {
	"client",
	"server",
    };
    static unsigned char values[] = {
	100,
	101,
    };

    XtSetLanguageProc(NULL, NULL, NULL);

    Shell = XtVaAppInitialize(&app, "Shell", 
    	NULL, 0, 
    	&argc, argv, 
    	FallBack, 
    	NULL);

    XtRealizeWidget(Shell);
    id = XmRepTypeRegister(TestRepType, 
	value_names, values,
	XtNumber(value_names));
    XmRepTypeAddReverse(id);
    printf("XmRepTypeId %i\n", id);

    for (target = 0; target < XtNumber(value_names); target++)
    {
	from.size = sizeof(String);
	from.addr = value_names[target];
	printf("Convert %s >%s< -> %s ",
	       XmRString,
	       from.addr,
	       TestRepType);
	XtConvertAndStore(Shell, XmRString, &from, TestRepType, &to);
	if (to.size != sizeof(unsigned char) || *(to.addr) != values[target])
	{
	    printf("Convert error\n");
	    GlobalErrors++;
	}
	else
	{
	    printf(">%d< (okay)\n", *(to.addr));
	}

	rev_from.size = to.size;
	rev_from.addr = (XtPointer)&(values[target]);
	printf("Convert %s >%d< -> XmRString ",
	       TestRepType,
	       *(rev_from.addr));
	rev_to.size = 0;
	rev_to.addr = NULL;
	XtConvertAndStore(Shell, TestRepType, &rev_from, XmRString, &rev_to);
	if (rev_to.size != sizeof(String)
	    || strcmp(rev_to.addr, value_names[target]) != 0)
	{
	    printf("Convert error\n");
	    GlobalErrors++;
	}
	else
	{
	    printf(">%s< (okay)\n", rev_to.addr);
	}
    }
    exit(GlobalErrors);
}