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

📄 test1.c

📁 安装DDD之前
💻 C
字号:
/* $Id: test1.c,v 1.1 2002/05/14 22:49:04 dannybackx Exp $ *//* * Copyright 1994 John L. Cwikla * * Permission to use, copy, modify, distribute, and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appears in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of John L. Cwikla or * Wolfram Research, Inc not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission.	John L. Cwikla and Wolfram Research, Inc make no * representations about the suitability of this software for any * purpose.	It is provided "as is" without express or implied warranty. * * John L. Cwikla and Wolfram Research, Inc disclaim all warranties with * regard to this software, including all implied warranties of * merchantability and fitness, in no event shall John L. Cwikla or * Wolfram Research, Inc be liable for any special, indirect or * consequential damages or any damages whatsoever resulting from loss of * use, data or profits, whether in an action of contract, negligence or * other tortious action, arising out of or in connection with the use or * performance of this software. * * Author: *	John L. Cwikla *	X Programmer *	Wolfram Research Inc. * *	cwikla@wri.com*/#include <X11/Intrinsic.h>#include <X11/StringDefs.h>#include <X11/Shell.h>#include <X11/Core.h>#include <Xm/Xm.h>#include <Xm/PushB.h>#include <Xm/Label.h>#include <Xm/Separator.h>#include <Xm/RowColumn.h>#include <Xm/DialogS.h>#include <stdio.h>#include "SmartMB.h"#define APPNAME "SmartMBTest"#define APPCLASS "SmartMBTest"#include <Xm/XmP.h>#if DEBUGstatic voiddump_box(XmKidGeometry box){    if (!box)	return;    while (box->kid) {	printf("    KID %s REQ %08x X %-5d Y %-5d W %-5d H %-5d B %-5d\n",		XtName(box->kid), box->box.request_mode, box->box.x, box->box.y,		box->box.width, box->box.height, box->box.border_width);	box++;    }}static voiddump_layout(XmGeoRowLayout rows, XmKidGeometry boxes){    if (!rows)	return;    --rows;    do {	rows++;	printf("ROW: %p\n", rows);	printf("  end: %d fixup: %p even_width: %d even_height: %d\n",		rows->end, rows->fix_up, rows->even_width, rows->even_height);	printf("  min_height: %d stretch_height: %d uniform_border %d\n",		rows->min_height, rows->stretch_height, rows->uniform_border);	printf("  border: %d fill_mode: %d fit_mode: %d sticky_end: %d\n",		rows->border, rows->fill_mode, rows->fit_mode, rows->sticky_end);	printf("  space_above: %d space_end: %d space_between: %d\n",		rows->space_above, rows->space_end, rows->space_between);	printf("  max_box_height: %d boxes_width: %d fill_width %d\n",		rows->max_box_height, rows->boxes_width, rows->fill_width);	printf("  box_count: %d\n", rows->box_count);	dump_box(boxes);	boxes += rows->box_count + 1;    } while (!rows->end);}static voiddump_matrix(XmGeoMatrix geo) {    printf("MATRIX: composite: %p instigator %p boxes %p\n",	geo->composite, geo->instigator, geo->boxes);    printf("  layouts: %p margin_w: %d margin_h: %d stretch_boxes: %d\n",	geo->layouts, geo->margin_w, geo->margin_h, geo->stretch_boxes);    printf("  uniform_border: %d border: %d max_major: %d boxes_minor: %d\n",	geo->uniform_border, geo->border, geo->max_major, geo->boxes_minor);    printf("  fill_minor: %d width: %d height: %d set: %p\n",	geo->fill_minor, geo->width, geo->height, geo->set_except);    printf("  almost: %p no_geo: %p extension %p destruct: %p\n",	geo->almost_except, geo->no_geo_request, geo->extension,	geo->ext_destructor);    printf("  arrange: %p major: %d\n",	geo->arrange_boxes, geo->major_order);    dump_layout((XmGeoRowLayout)geo->layouts, geo->boxes);}#endifintmain(argc, argv)int argc;char *argv[];{	Widget row, toplevel, smb, defButton;	XtAppContext app;	Display *theDisplay;	Arg warg[8];	int n, i;	XtToolkitInitialize();	app = XtCreateApplicationContext();		theDisplay = XtOpenDisplay (app, NULL, APPNAME, APPCLASS, 		NULL, 0, &argc, argv);	if (!theDisplay)	{		printf("%s: can't open display, exiting...", APPNAME);		exit (0);	}#if 1	toplevel = XtAppCreateShell (APPNAME, APPCLASS,		applicationShellWidgetClass, theDisplay, NULL, 0);	smb = XtCreateManagedWidget("SmartMessageBoxInformation", xmSmartMessageBoxWidgetClass,		toplevel, NULL, 0);	XtCreateManagedWidget("Separator", xmSeparatorWidgetClass, smb, NULL, 0);	XtCreateManagedWidget("MessageLabel", xmLabelWidgetClass, smb, NULL, 0);	n = 0;	defButton = XtCreateManagedWidget("OK", xmPushButtonWidgetClass, smb, warg, n);	XtCreateManagedWidget("Help", xmPushButtonWidgetClass, smb, NULL, 0);	n = 0;	XtSetArg(warg[n], XmNdefaultButton, defButton); n++;	XtSetValues(smb, warg, n);	XtRealizeWidget(toplevel);#endif	toplevel = XtAppCreateShell (APPNAME, APPCLASS,		applicationShellWidgetClass, theDisplay, NULL, 0);	smb = XtCreateManagedWidget("SmartMessageBox", xmSmartMessageBoxWidgetClass,		toplevel, NULL, 0);	XtCreateManagedWidget("Separator", xmSeparatorWidgetClass, smb, NULL, 0);	row = XtCreateManagedWidget("RowCol", xmRowColumnWidgetClass, smb, NULL, 0);	for(i=0;i<3;i++)		XtCreateManagedWidget("Control Button", xmPushButtonWidgetClass, row, NULL, 0);	n = 0;	defButton = XtCreateManagedWidget("OK", xmPushButtonWidgetClass, smb, warg, n);	XtCreateManagedWidget("Apply", xmPushButtonWidgetClass, smb, NULL, 0);	XtCreateManagedWidget("Cancel", xmPushButtonWidgetClass, smb, NULL, 0);	XtCreateManagedWidget("Help", xmPushButtonWidgetClass, smb, NULL, 0);	n = 0;	XtSetArg(warg[n], XmNdefaultButton, defButton); n++;	XtSetValues(smb, warg, n);	XtRealizeWidget(toplevel);#if 1	toplevel = XmCreateDialogShell(smb, "popup_shell", NULL, 0);	smb = XtCreateWidget("SmartMessageBox", xmSmartMessageBoxWidgetClass,		toplevel, NULL, 0);	XtCreateManagedWidget("NoSeparatorLabel", xmLabelWidgetClass, smb, NULL, 0);	n = 0;	defButton = XtCreateManagedWidget("OK", xmPushButtonWidgetClass, smb, warg, n);	XtCreateManagedWidget("Help", xmPushButtonWidgetClass, smb, NULL, 0);	n = 0;	XtSetArg(warg[n], XmNdefaultButton, defButton); n++;	XtSetValues(smb, warg, n);	XtManageChild(smb);	XtPopup(toplevel, XtGrabNone);	toplevel = XtAppCreateShell (APPNAME, APPCLASS,		applicationShellWidgetClass, theDisplay, NULL, 0);	smb = XtCreateManagedWidget("SmartMessageBox", xmSmartMessageBoxWidgetClass,		toplevel, NULL, 0);	for(i=0;i<5;i++)		defButton = XtCreateManagedWidget("Buttons", xmPushButtonWidgetClass, smb, NULL, 0);	XtSetArg(warg[n], XmNdefaultButton, defButton); n++;	XtSetValues(smb, warg, n);	XtRealizeWidget(toplevel);#endif		/* core dumps, so we can't get geometry */	PrintDetails(toplevel,NULL);	LessTifTestMainLoop(toplevel);	exit(0);}

⌨️ 快捷键说明

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