#include #include #include #include #include #include #include Arg args[1]; Widget window, box, label, form, button, text; static void button_handler(Widget w, XtPointer callData, XtPointer clientData) { String string; char msg[256]; XtSetArg(args[0], XtNstring, &string); XtGetValues(text, args, 1); memset(&msg, '\0', 256); memcpy(&msg, "Hello, ", strlen("Hello, ")); memcpy((&msg[0] + strlen(&msg[0])), string, strlen(string)); memcpy((&msg[0] + strlen(&msg[0])), "! Where is your GNOME now!?", \ strlen("! Where is your GNOME now!?")); XtVaSetValues(label, XtNlabel, &msg, NULL); } int main(int argc, char** argv) { XtAppContext cx; window = XtVaAppInitialize(&cx, "Hello World", NULL, 0, \ &argc, argv, NULL, NULL); box = XtVaCreateManagedWidget("box", boxWidgetClass, window, NULL); label = XtVaCreateManagedWidget("label", labelWidgetClass, box, \ XtNlabel, "Hi! What's your name?", XtNborderWidth, 0, NULL); form = XtVaCreateManagedWidget("form", formWidgetClass, \ box, XtNsensitive, True, XtNborderWidth, 0, NULL); text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, \ form, XtNheight, 20, XtNwidth, 500, NULL, NULL, NULL, NULL, \ NULL); button = XtVaCreateManagedWidget("button", commandWidgetClass, form, \ XtNlabel, "Okay", XtNfromVert, text, NULL); XtAddCallback(button, XtNcallback, button_handler, label); XtVaSetValues(text, XtNeditType, XawtextEdit, XtNdisplayCaret, True, \ NULL); XtRealizeWidget(window); XtAppMainLoop(cx); }