⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test57.c

📁 安装DDD之前
💻 C
字号:
#include <stdio.h>#include <Xm/PushB.h>#include <Xm/DrawnB.h>#include <Xm/CascadeB.h>#include <Xm/ToggleB.h>#include <Xm/RowColumn.h>#include "../../common/Test.h"static char *FallBack[] = {		"*.geometrySlop: 0",		NULL};typedef struct _CallbackResultStruct {	char * WidgetName;	int Reason;	String entryData;	Boolean IsRC;	char *EntryWidget;	String widgetData;	int widgetReason;} _CallbackResult;_CallbackResult Results[] = { /* insert results of Motif run after this */"RC", XmCR_ACTIVATE, "RC data", True, "PB", "PB data", XmCR_ACTIVATE,\"RC", XmCR_ACTIVATE, "RC data", True, "PB", "PB data 1", XmCR_ACTIVATE,\"RC", XmCR_ACTIVATE, "RC data", True, "DB", "DB data", XmCR_ACTIVATE,\"RC", XmCR_ACTIVATE, "RC data", True, "TB", "TB data", XmCR_VALUE_CHANGED,\	NULL, 0,  /* This must stay here */};int ResultIndex = 0;static voidGenericCallback(Widget w, String id, XmAnyCallbackStruct *cbs){Boolean IsRC = XmIsRowColumn(w);String Name = w ? XtName(w) : "";int Reason = cbs ? cbs->reason : XmCR_NONE;XmRowColumnCallbackStruct *rc_cbs = (XmRowColumnCallbackStruct *)cbs;    if (XtNumber(Results) == 1 || ResultIndex + 1 >= XtNumber(Results))    {    static Boolean FirstCall = True;	if (FirstCall)	{		printf("/^_CallbackResult/a\\\n");	}	printf("\"%s\", %*s%s, \"%s\", %s, \"%s\", \"%s\", %s,\\\n", 	    w ? XtName(w) : "",	    /*20 - strlen(Name)*/ 0, "",	    cbs ? XdbReason2String(cbs->reason) : "XmCR_NONE /* cbs is NULL */",	    id,	    IsRC ? "True" : "False",	    IsRC ? (rc_cbs->widget ? XtName(rc_cbs->widget) : "") : "",	    IsRC ? (rc_cbs->data ? rc_cbs->data : "") : "",	    IsRC ? (rc_cbs->callbackstruct ? XdbReason2String(((XmAnyCallbackStruct *)(rc_cbs->callbackstruct))->reason) : "XmCR_NONE") : "0"	    );	GlobalErrors = 1;	FirstCall = False;    }    else    {	printf("%s(%s), %*s%s(%s), %*s %s(%s), %s(%s), %s(%s) %s(%s), %s(%s) ", 	    Name,	    Results[ResultIndex].WidgetName,	    /*20 - (strlen(Name) + strlen(Results[ResultIndex].WidgetName) + 2)*/ 0, "",	    XdbReason2String(Reason),	    XdbReason2String(Results[ResultIndex].Reason),	    /*50 - strlen(XdbReason2String(Reason)) - strlen(XdbReason2String(Results[ResultIndex].Reason))*/ 0, "",	    id, Results[ResultIndex].entryData,	    IsRC ? "True" : "False", Results[ResultIndex].IsRC ? "True" : "False",	    IsRC && rc_cbs->widget ? XtName(rc_cbs->widget) : "", Results[ResultIndex].EntryWidget,	    IsRC ? rc_cbs->data : "", IsRC ? Results[ResultIndex].widgetData : "",	    IsRC ? (rc_cbs->callbackstruct ? XdbReason2String(((XmAnyCallbackStruct *)(rc_cbs->callbackstruct))->reason) : "XmCR_NONE") : "", XdbReason2String(Results[ResultIndex].widgetReason)	    );    	if (strcmp(Name, Results[ResultIndex].WidgetName) == 0 &&    	    strcmp(id, Results[ResultIndex].entryData) == 0 &&    	    Results[ResultIndex].Reason == Reason &&    	    IsRC == Results[ResultIndex].IsRC &&    	    (IsRC && strcmp(XtName(rc_cbs->widget), Results[ResultIndex].EntryWidget) == 0) &&    	    (IsRC && strcmp(rc_cbs->data, Results[ResultIndex].widgetData) == 0)    	    )    	{	    printf("okay\n");    	}    	else    	{	    printf("bad\n");	    GlobalErrors++;    	}    }    ResultIndex++;}intmain(int argc, char **argv){  XtAppContext	app;  Widget Shell;  Widget RC;  Widget Button;  XtSetLanguageProc(NULL, NULL, NULL);  Shell = XtVaAppInitialize(&app, "Shell", NULL, 0, &argc, argv, FallBack, NULL);  RC = XmCreateRowColumn(Shell,"RC",NULL,0);  XtAddCallback(RC, XmNentryCallback, (XtCallbackProc)GenericCallback, "RC data");  Button = XmCreatePushButton(RC,"PB",NULL,0);  XtAddCallback(Button, XmNactivateCallback, (XtCallbackProc)GenericCallback, "PB data");  XtAddCallback(Button, XmNactivateCallback, (XtCallbackProc)GenericCallback, "PB data 1");  XtManageChild(Button);  /*  Button = XmCreateCascadeButton(RC,"CB",NULL,0);  XtAddCallback(Button, XmNactivateCallback, (XtCallbackProc)GenericCallback, "CB data");  XtManageChild(Button);  */  Button = XmCreateDrawnButton(RC,"DB",NULL,0);  XtAddCallback(Button, XmNactivateCallback, (XtCallbackProc)GenericCallback, "DB data");  XtVaSetValues(Button,  	XmNheight, 20,  	NULL);  XtManageChild(Button);  Button = XmCreateToggleButton(RC,"TB",NULL,0);  XtAddCallback(Button, XmNvalueChangedCallback, (XtCallbackProc)GenericCallback, "TB data");  XtManageChild(Button);  XtManageChild(RC);  XtRealizeWidget(Shell);  LessTifTestWaitForIt(Shell);  {  WidgetList kids;  Cardinal num_kids;  int i;  	XtVaGetValues(RC,  		XmNchildren, &kids,  		XmNnumChildren, &num_kids,  		NULL);  	for (i = 0; i < num_kids; i++)  	{  		LessTifTestBtn1Down(kids[i]);  		LessTifTestBtn1Up(kids[i]);  	}  }  LessTifTestMainLoop(Shell);  exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -