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

📄 test13.c

📁 安装DDD之前
💻 C
字号:
/* $Header: /cvsroot/lesstif/lesstif/test/Xm/scrolledwindow/test13.c,v 1.6 2001/06/18 14:22:06 amai Exp $ * This test is an interactive interface to control the resources * of a bunch of widgets. These widgets are really stolen out of * test12. */#include <stdlib.h>#include <stdio.h>#include <Xm/Xm.h>#include <Xm/ArrowB.h>#include <Xm/CascadeB.h>#include <Xm/Form.h>#include <Xm/PushB.h>#include <Xm/RowColumn.h>#include <Xm/Scale.h>#include <Xm/ScrolledWP.h>#ifdef LESSTIF_VERSION#include <XmI/MacrosI.h>#endifWidget toplevel, sw, ab;Dimension st;/* * These are the ScrolledWindow resources that can be set by sliders. */struct x {	char	*name;	int	initial, min, max;} list [] = {	{ XmNwidth,		100,	0,	400 },	{ XmNheight,		100,	0,	400 },	{ XmNspacing,		3,	0,	20 },	{ XmNshadowThickness,	5,	0,	20 },};char *fallback[] = {	"*sw.background:	green",	"*sw.topShadowColor:	red",	"*sw.bottomShadowColor:	blue",	"*ab.background:	yellow",	"*ab.foreground:	black",	NULL};void cb(Widget wid, XtPointer cld, XtPointer cad){Dimension w,h,bw;static Boolean toggle=False;	if ((toggle = !toggle))	{		w=300; h=300; bw = 1;	}	else    {		w=100; h=100; bw = 10;	}	printf("scrolledW child: asking for %ix%i (bw %i) /",w,h,bw);	XtVaSetValues(wid,XmNwidth,w,XmNheight,h,XmNborderWidth,bw,NULL);	XtVaGetValues(wid,XmNwidth,&w,XmNheight,&h,XmNborderWidth,&bw,NULL);	printf("got %ix%i (bw %i)\n",w,h,bw);}void Quit(Widget w, XtPointer client, XtPointer call){	exit(0);}void ChangePlacement(Widget w, XtPointer client, XtPointer call){	XtVaSetValues(sw, XmNscrollBarPlacement, (int)client, NULL);}void Change(Widget w, XtPointer client, XtPointer call){	int	i = (int)client;	XmScaleCallbackStruct	*p = (XmScaleCallbackStruct *)call;	XtVaSetValues(sw, list[i].name, p->value, NULL);}int main(int argc, char **argv){  XtAppContext	app;  Widget	top, mb, form, fc, fp, quit, s, om, mp, w;  int		i;  Arg		arg;  XmString	xms;  XtSetLanguageProc(NULL, NULL, NULL);  toplevel = XtVaAppInitialize(&app, "Label", NULL, 0,	&argc, argv, fallback, NULL);  form = XtVaCreateManagedWidget("form", xmFormWidgetClass, toplevel, 		XmNwidth,		500,		XmNheight,		300,		XmNresizePolicy,	XmRESIZE_NONE,	NULL);  mb  = XtVaCreateManagedWidget("mb", xmRowColumnWidgetClass, form, 		XmNrowColumnType,	XmMENU_BAR,		XmNtopAttachment,	XmATTACH_FORM,		XmNleftAttachment,	XmATTACH_FORM,		XmNrightAttachment,	XmATTACH_FORM,		XmNbottomAttachment,	XmATTACH_NONE,	NULL);  fp = XmCreatePulldownMenu(mb, "file pulldown", NULL, 0);  fc = XtVaCreateManagedWidget("File", xmCascadeButtonWidgetClass, mb, 		XmNsubMenuId,	fp,	NULL);  quit = XtVaCreateManagedWidget("Quit", xmPushButtonWidgetClass, fp,	NULL);  XtAddCallback(quit, XmNactivateCallback, Quit, NULL);/* Panel of scales */  top = mb;  for (i=0; i<XtNumber(list); i++) {	xms = XmStringCreateSimple(list[i].name);	s = XtVaCreateManagedWidget(list[i].name, xmScaleWidgetClass, form,		XmNorientation,		XmHORIZONTAL,		XmNminimum,		list[i].min,		XmNmaximum,		list[i].max,		XmNvalue,		list[i].initial,		XmNtopAttachment,	XmATTACH_WIDGET,		XmNtopWidget,		top,		XmNleftAttachment,	XmATTACH_FORM,		XmNrightAttachment,	XmATTACH_POSITION,		XmNrightPosition,	25,		XmNbottomAttachment,	XmATTACH_NONE,		XmNtitleString,		xms,		XmNshowValue,		True,		NULL);	XmStringFree(xms);	top = s;	XtAddCallback(s, XmNvalueChangedCallback, Change, (XtPointer)i);  }/* Option menu for placement */  mp = XmCreatePulldownMenu(form, "option pane", NULL, 0);  xms = XmStringCreateSimple("Placement");  XtSetArg(arg, XmNlabelString, xms);  om = XmCreateOptionMenu(form, "option", &arg, 1);  XmStringFree(xms);  XtVaSetValues(om,  		XmNsubMenuId,		mp,		XmNtopAttachment,	XmATTACH_WIDGET,		XmNtopWidget,		top,		XmNleftAttachment,	XmATTACH_FORM,		XmNrightAttachment,	XmATTACH_POSITION,		XmNrightPosition,	25,		XmNbottomAttachment,	XmATTACH_NONE,	NULL);  XtManageChild(om);  w = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, mp,		XtVaTypedArg, XmNlabelString, XmRString, "TOP_RIGHT", 10,	NULL);  XtAddCallback(w, XmNactivateCallback,	ChangePlacement, (XtPointer)XmTOP_RIGHT);  w = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, mp,		XtVaTypedArg, XmNlabelString, XmRString, "BOTTOM_RIGHT", 12,	NULL);  XtAddCallback(w, XmNactivateCallback,	ChangePlacement, (XtPointer)XmBOTTOM_RIGHT);  XtVaSetValues(om, XmNmenuHistory, w, NULL);  w = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, mp,		XtVaTypedArg, XmNlabelString, XmRString, "BOTTOM_LEFT", 11,	NULL);  XtAddCallback(w, XmNactivateCallback,	ChangePlacement, (XtPointer)XmBOTTOM_LEFT);  w = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, mp,		XtVaTypedArg, XmNlabelString, XmRString, "TOP_LEFT", 9,	NULL);  XtAddCallback(w, XmNactivateCallback,	ChangePlacement, (XtPointer)XmTOP_LEFT);/* Create the SW */  sw  = XtVaCreateManagedWidget("sw", xmScrolledWindowWidgetClass, form, 		XmNscrollingPolicy,	XmAUTOMATIC,		XmNtopAttachment,	XmATTACH_WIDGET,		XmNtopWidget,		mb,		XmNleftAttachment,	XmATTACH_POSITION,		XmNleftPosition,	25,		XmNrightAttachment,	XmATTACH_NONE,		XmNbottomAttachment,	XmATTACH_NONE,		XmNwidth,		100,		XmNheight,		100,	NULL);  ab = XtVaCreateManagedWidget("ab", xmArrowButtonWidgetClass, sw,		XmNwidth,	300,		XmNheight,	300,	NULL);  XtAddCallback(ab,XmNactivateCallback,cb,0);  XtRealizeWidget(toplevel);  {    static XtWidgetGeometry Expected[] = {   CWWidth | CWHeight            ,  508,  524,  500,  300, 0,0,0, /* form */   CWWidth | CWHeight | CWX | CWY,    0,    0,  500,   31, 0,0,0, /* mb */   CWWidth | CWHeight | CWX | CWY,    5,    5,   40,   21, 0,0,0, /* File */   CWWidth | CWHeight | CWX | CWY,    0,   31,  125,   56, 0,0,0, /* width */   CWWidth | CWHeight | CWX | CWY,    0,   35,   34,   17, 0,0,0, /* Title */   CWWidth | CWHeight | CWX | CWY,    0,   16,  125,   19, 0,0,0, /* Scrollbar */   CWWidth | CWHeight | CWX | CWY,    0,   87,  125,   56, 0,0,0, /* height */   CWWidth | CWHeight | CWX | CWY,    0,   35,   40,   17, 0,0,0, /* Title */   CWWidth | CWHeight | CWX | CWY,    0,   16,  125,   19, 0,0,0, /* Scrollbar */   CWWidth | CWHeight | CWX | CWY,    0,  143,  125,   56, 0,0,0, /* spacing */   CWWidth | CWHeight | CWX | CWY,    0,   35,   46,   17, 0,0,0, /* Title */   CWWidth | CWHeight | CWX | CWY,    0,   16,  125,   19, 0,0,0, /* Scrollbar */   CWWidth | CWHeight | CWX | CWY,    0,  199,  125,   56, 0,0,0, /* shadowThickness */   CWWidth | CWHeight | CWX | CWY,    0,   35,   94,   17, 0,0,0, /* Title */   CWWidth | CWHeight | CWX | CWY,    0,   16,  125,   19, 0,0,0, /* Scrollbar */   CWWidth | CWHeight | CWX | CWY,    0,  255,  125,   31, 0,0,0, /* option */   CWWidth | CWHeight | CWX | CWY,    3,    3,   58,   25, 0,0,0, /* OptionLabel */   CWWidth | CWHeight | CWX | CWY,   64,    3,  109,   25, 0,0,0, /* OptionButton */   CWWidth | CWHeight | CWX | CWY,  125,   31,  100,  100, 0,0,0, /* sw */   CWWidth | CWHeight | CWX | CWY,    4,    4,   69,   69, 0,0,0, /* ScrolledWindowClipWindow */   CWWidth | CWHeight | CWX | CWY,    0,    0,  300,  300, 0,0,0, /* ab */   CWWidth | CWHeight | CWX | CWY,   81,    0,   19,   77, 0,0,0, /* VertScrollBar */   CWWidth | CWHeight | CWX | CWY,    0,   81,   77,   19, 0,0,0, /* HorScrollBar */     };    PrintDetails(toplevel,Expected);};  LessTifTestMainLoop(toplevel);  exit(0);}

⌨️ 快捷键说明

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