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

📄 test52.c

📁 安装DDD之前
💻 C
字号:
#include <Xm/Xm.h>#include <Xm/XmP.h>#include <Xm/CascadeB.h>#include <Xm/MenuShell.h>#include <Xm/MessageB.h>#include <Xm/MessageB.h>#include <Xm/PushB.h>#include <Xm/PushBG.h>#include <Xm/PushBP.h>#include <Xm/RepType.h>#include <Xm/RowColumnP.h>#include <Xm/SelectioB.h>#include <Xm/DrawingA.h>#include <stdio.h>#include "../../common/Test.h"Widget toplevel, box, push;XtAppContext	app_context;int DialogDone=False,DialogReturn;Widget menubar;Widget cascade1;Widget pane1;Widget button1;Widget pane1_tear_off;char *fallback[] = {	"*tearOffModel:				tear_off_enabled",	NULL	/* The end */};static char *XdbRcType2String(unsigned char t){    static char res[40];    switch (t)    {    case XmWORK_AREA:	return "XmWORK_AREA";    case XmMENU_BAR:	return "XmMENU_BAR";    case XmMENU_PULLDOWN:	return "XmMENU_PULLDOWN";    case XmMENU_POPUP:	return "XmMENU_POPUP";    case XmMENU_OPTION:	return "XmMENU_OPTION";    default:	sprintf(res, "Invalid RC Type %d", t);	return res;    }}static voidReportRC(Widget w){XmRowColumnPart *rc = &((XmRowColumnWidget)w)->row_column;	printf("%7s %17s %15s %9s %11s %11s %11s %11s %17s %8s %11s %11s %s\n",		XtName(w),		XtName(XtParent(w)),		XdbRcType2String(rc->type),		rc->armed & XmRC_ARMED_BIT ? "armed" : "not-armed",		rc->cascadeBtn ? XtName(rc->cascadeBtn) : "NULL",		rc->memory_subwidget ? XtName(rc->memory_subwidget) : "NULL",		rc->lastSelectToplevel ? XtName(rc->lastSelectToplevel) : "NULL",		rc->popupPosted ? XtName(rc->popupPosted) : "NULL",		rc->ParentShell ? XtName(rc->ParentShell) : "NULL",		rc->to_state ? "torn" : "not-torn",		rc->tear_off_lastSelectToplevel ? XtName(rc->tear_off_lastSelectToplevel) : "NULL",		rc->tear_off_focus_item ? XtName(rc->tear_off_focus_item) : "NULL",		"");}static voidReport(){	ReportRC(menubar);	ReportRC(pane1);	printf("\n");}intmain(int argc, char **argv){/* Install converter to make the command line indicated above work */    XmRepTypeInstallTearOffModelConverter();/* Toplevel and Menu Bar */    toplevel = XtVaAppInitialize(&app_context, "test50", NULL, 0,     	&argc, argv, fallback, NULL);    menubar = XmCreateMenuBar(toplevel, "menubar", NULL, 0);{XmRowColumnPart *rc = &((XmRowColumnWidget)menubar)->row_column;	rc->ParentShell = NULL;	rc->tear_off_focus_item = NULL;}/* First Menu */    pane1 = XmCreatePulldownMenu(menubar, "pane1", NULL, 0);{XmRowColumnPart *rc = &((XmRowColumnWidget)pane1)->row_column;	rc->ParentShell = NULL;	rc->tear_off_focus_item = NULL;}    /*    XtAddCallback(pane1, XmNmapCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(pane1, XmNtearOffMenuActivateCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(pane1, XmNtearOffMenuDeactivateCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(pane1, XmNunmapCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(XtParent(pane1), XmNpopupCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(XtParent(pane1), XmNpopdownCallback, (void *)GenericCallback, (XtPointer)__LINE__);    */    pane1_tear_off = XmGetTearOffControl(pane1);    cascade1 = XtVaCreateManagedWidget("cascade1",				       xmCascadeButtonWidgetClass, menubar, 				       XmNsubMenuId,	pane1,				       NULL);    /*    XtAddCallback(cascade1, XmNactivateCallback, (void *)GenericCallback, (XtPointer)__LINE__);    XtAddCallback(cascade1, XmNcascadingCallback, (void *)GenericCallback, (XtPointer)__LINE__);    */    button1 = XtVaCreateManagedWidget("button1",     				xmPushButtonWidgetClass, pane1,				NULL);    XtManageChild(menubar);    XtRealizeWidget(toplevel);    LessTifTestWaitForIt(toplevel);    printf("%7s %17s %15s %9s %11s %11s %11s %11s %17s %8s %11s %11s %s\n",		"widget",		"parent",		"type",		"arm",		"cascadeBtn",		"mem",		"last",		"popup",		"shell",		"torn",		"to_last",		"focus",		"\n");    Report();    LessTifTestBtn1Down(cascade1);    Report();    LessTifTestBtn1Up(pane1_tear_off);    Report();    /*    XtCallActionProc(XtParent(pane1_tear_off), "MenuEscape", NULL, NULL, 0);    Report();    */    LessTifTestMainLoop(toplevel);    exit(0);}

⌨️ 快捷键说明

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