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

📄 testlist.c

📁 `smith.motif.tar.Z includes the source code for the book "Designing X clients with Xt/Motif," by Je
💻 C
字号:
/**** testlist.c ****/#include "listshell.h"/*Functions:*/static void Quit(), TestList(), ListSelection();/*Private data:*/static Widget topLevel, buttonBox, buttonTest1, buttonTest2,	buttonQuit;static ListShell list1, list2;/*main() creates a top-level window with three buttons, twoof which activate other top-level windows.*/void main(argc, argv)int argc;char *argv[];{	Arg args[10];	int i;	static char *months[] = {		"January",		"February",		"March",		"April",		"May",		"June",		"July",		"August",		"September",		"October",		"November",		"December",		NULL	};	XtAppContext app;	topLevel = XtAppInitialize(&app, "TestList",		(XrmOptionDescList) NULL, 0,		&argc, argv, (String *) NULL, (ArgList) NULL, 0);	i = 0;	XtSetArg(args[i], XmNorientation, (XtArgVal) XmHORIZONTAL); i++;	XtSetArg(args[i], XmNentryAlignment,		(XtArgVal) XmALIGNMENT_CENTER); i++;	buttonBox = XtCreateManagedWidget("buttonBox",		xmRowColumnWidgetClass, topLevel, args, i);	i = 0;	XtSetArg(args[i], XmNlabelString,		XmStringCreateLtoR("Quit",			XmSTRING_DEFAULT_CHARSET)); i++;	buttonQuit = XtCreateManagedWidget("buttonQuit",		xmPushButtonWidgetClass, buttonBox, args, i);	XtAddCallback(buttonQuit, XmNactivateCallback, Quit, NULL);	i = 0;	XtSetArg(args[i], XmNlabelString,		XmStringCreateLtoR("Test Viewport #1",			XmSTRING_DEFAULT_CHARSET)); i++;	buttonTest1 = XtCreateManagedWidget("buttonTest1",		xmPushButtonWidgetClass, buttonBox, args, i);	XtAddCallback(buttonTest1, XmNactivateCallback, TestList, NULL);	XtSetArg(args[i], XmNlabelString,		XmStringCreateLtoR("Test Viewport #2",			XmSTRING_DEFAULT_CHARSET)); i++;	buttonTest2 = XtCreateManagedWidget("buttonTest2",		xmPushButtonWidgetClass, buttonBox, args, i);	XtAddCallback(buttonTest2, XmNactivateCallback, TestList, NULL);	list1 = listShell_create(topLevel, "TestList", "listShell1", months,		XmSTRING_DEFAULT_CHARSET, 0, 12, listShell_STAY_UP,		listShell_WIN_MGR_DECOR);	listShell_add_callback(list1, ListSelection, 1);	list2 = listShell_create(topLevel, "TestList", "listShell2", months,		XmSTRING_DEFAULT_CHARSET, 0, 6, listShell_NO_STAY_UP,		listShell_MIN_WIN_MGR_DECOR);	listShell_add_callback(list2, ListSelection, 2);	XtRealizeWidget(topLevel);	listShell_realize(list1);	listShell_realize(list2);	XtAppMainLoop(app);}	/* main *//*Quit() terminates the application.*//*ARGSUSED*/static void Quit(w, client_data, call_data)Widget w;XtPointer client_data;XtPointer call_data;{	listShell_destroy(list1);	listShell_destroy(list2);	exit(0);}	/* Quit *//*TestList() activates a `ListShell' object.*//*ARGSUSED*/static void TestList(w, client_data, call_data)Widget w;XtPointer client_data;XtPointer call_data;{	if (w == buttonTest1)		listShell_activate(list1);	else if (w == buttonTest2)		listShell_activate(list2);}	/* TestList *//*ListSelection() performs an application-specific actionin response to a list selection by the user.*//*ARGSUSED*/static void ListSelection(w, client_data, call_data)Widget w;XtPointer client_data;XmListCallbackStruct *call_data;{	int list_no = (int) client_data;	char *entry;	XmStringGetLtoR(call_data->item, XmSTRING_DEFAULT_CHARSET,		&entry);	printf("You selected entry \"%s\" for list #%d\n",		entry,		list_no);}	/* ListSelection */

⌨️ 快捷键说明

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