#include #include #include #include #include #include #include void ButtonCB(Widget w, XtPointer client_data, XmPushButtonCallbackStruct *cbs) { printf("Don't push me!\n"); } int main(int argc, char **argv) { Widget top, form, button1, button2; XmString label1, label2, tmp1, tmp2; XtAppContext app; Arg args[20]; int n; char mbs[256]; wchar_t *wcs; int len; XtSetLanguageProc(NULL, NULL, NULL); top = XtVaAppInitialize(&app, "RendTest", NULL, 0, &argc, argv, NULL, NULL); form = XtVaCreateManagedWidget("form", xmFormWidgetClass, top, XmNmarginWidth, 2, XmNmarginHeight, 2, NULL); label1 = XmStringGenerate("Render 1", NULL, XmCHARSET_TEXT, "susan"); tmp1 = XmStringComponentCreate(XmSTRING_COMPONENT_RENDITION_BEGIN, sizeof("rendition"), "fred"); tmp2 = XmStringComponentCreate(XmSTRING_COMPONENT_RENDITION_END, sizeof("rendition"), "fred"); label1 = XmStringConcat(tmp1, label1); label1 = XmStringConcat(label1, tmp2); XmStringFree(tmp1); XmStringFree(tmp2); label2 = XmStringGenerate("Render 2", NULL, XmCHARSET_TEXT, "rendition2"); button1 = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, form, XmNleftAttachment, XmATTACH_FORM, XmNleftOffset, 10, XmNtopAttachment, XmATTACH_FORM, XmNtopOffset, 8, XmNbottomAttachment, XmATTACH_FORM, XmNbottomOffset, 8, XmNlabelString, label1, NULL); button2 = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, form, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, button1, XmNleftOffset, 10, XmNrightAttachment, XmATTACH_FORM, XmNrightOffset, 10, XmNtopAttachment, XmATTACH_FORM, XmNtopOffset, 8, XmNbottomAttachment, XmATTACH_FORM, XmNbottomOffset, 8, XmNlabelString, label2, NULL); XtAddCallback(button2, XmNactivateCallback, (XtCallbackProc)ButtonCB, (XtPointer)NULL); XtRealizeWidget(top); XtAppMainLoop(app); } .