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

📄 test5.c

📁 安装DDD之前
💻 C
字号:
/* Prints CascadeButtonGadget dimensions when it is in a Option Menu. * If one tryes it with different settings e.g shadowThickness, * fontList, marginBottom and marginTop, it reveals a lot of the * inner geometry of CascadeButton */#include <Xm/RowColumnP.h>#include <Xm/CascadeBGP.h>#include <Xm/PushBGP.h>#include <stdio.h>static voidPrintDimensions(Widget w, XtPointer clientData, XtPointer callData){    XmCascadeButtonGadget cw = (XmCascadeButtonGadget) w;    XtWidgetGeometry preferred;    fprintf(stderr, "Widget %s - x: %3d y: %3d width: %3d height: %3d\n",	    XrmQuarkToString(cw->object.xrm_name),	     cw->rectangle.x, cw->rectangle.y,	    cw->rectangle.width, cw->rectangle.height);    XtQueryGeometry(w, NULL, &preferred);    fprintf(stderr, "Preferred geometry, Width %3d, Height %3d\n",	    preferred.width, preferred.height);    fprintf(stderr, "BorderWidth: %3d HighlightThickness %3d ShadowThickness: %3d\n",	    cw->rectangle.border_width,	    cw->gadget.highlight_thickness,	    cw->gadget.shadow_thickness);    fprintf(stderr, "MarginLeft: %3d MarginRight %3d MarginTop: %3d MarginBottom: %3d\n",	    cw->label.cache->margin_left,	    cw->label.cache->margin_right,	    cw->label.cache->margin_top,	    cw->label.cache->margin_bottom);    fprintf(stderr, "MarginHeight: %3d MarginWidth %3d\n",	    cw->label.cache->margin_height,	    cw->label.cache->margin_width);    fprintf(stderr, "TextRect x: %3d y: %3d w: %3d h: %3d\n",	    cw->label.TextRect.x,	    cw->label.TextRect.y,	    cw->label.TextRect.width,	    cw->label.TextRect.height);    fprintf(stderr, "AccTextRect x: %3d y: %3d w: %3d h: %3d\n",	    cw->label.acc_TextRect.x,	    cw->label.acc_TextRect.y,	    cw->label.acc_TextRect.width,	    cw->label.acc_TextRect.height);    fprintf(stderr, "CascadeRect x: %3d y: %3d w: %3d h: %3d\n\n",	    cw->cascade_button.cascade_rect.x,	    cw->cascade_button.cascade_rect.y,	    cw->cascade_button.cascade_rect.width,	    cw->cascade_button.cascade_rect.height);    /*    XmCascadeButtonGadgetHighlight(w, False); */}char *fallbacks[] ={    "*Test14.allowShellResize: True",    /*    "*om.labelString: Options", */    "*pb1.labelString: Short Label",    "*pb2.labelString: Longer Label",    "*pb3.labelString: Mutch mutch longer Label",   NULL};intmain(int argc, char **argv){    XtAppContext app;    Widget toplevel, pane1, om, pb1, pb2, pb3, cb1;    Arg args[1];        toplevel = XtVaAppInitialize(&app, "Test5", NULL, 0,				 &argc, argv, fallbacks, NULL);    pane1 = XmCreatePulldownMenu(toplevel, "pane1", NULL, 0);    pb1 = XtVaCreateManagedWidget ("pb1",        xmPushButtonGadgetClass, pane1,        NULL);    pb2 = XtVaCreateManagedWidget ("pb2",        xmPushButtonGadgetClass, pane1,        NULL);    pb3 = XtVaCreateManagedWidget ("pb3",        xmPushButtonGadgetClass, pane1,        NULL);    XtSetArg(args[0], XmNsubMenuId, pane1);    om = XmCreateOptionMenu(toplevel, "om", args, 1);    cb1 = XmOptionButtonGadget(om);    XtAddCallback(cb1, XmNactivateCallback, PrintDimensions, NULL);    XtAddCallback(cb1, XmNcascadingCallback, PrintDimensions, NULL);    XtManageChild(om);    /* XtManageChild(pane1); */    XtRealizeWidget(toplevel);    /* Note: the following values are the result of * querying the current geometry. */{static XtWidgetGeometry Expected[] = {   CWWidth | CWHeight            ,  363,  381,  194,   35, 0,0,0, /* om */   CWWidth | CWHeight | CWX | CWY,    3,    3,    4,   29, 0,0,0, /* OptionLabel */   CWWidth | CWHeight | CWX | CWY,   10,    3,  181,   29, 0,0,0, /* OptionButton */};/* toplevel should be replaced with to correct applicationShell */PrintDetails(toplevel, Expected);}LessTifTestMainLoop(toplevel);    exit(0);}

⌨️ 快捷键说明

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