1#include <stdlib.h>
2#include <stdio.h>
3#include <X11/StringDefs.h>
4#include <Xaw/Box.h>
5#include <Xaw/List.h>
6#include <Xaw/Viewport.h>
7#include <Xaw/Command.h>
8
9void quit_CB(Widget w, XtPointer closure, XtPointer call_data)
10{
11   Widget lst=closure;
12   XawListReturnStruct *ret;
13
14   ret=XawListShowCurrent(lst);
15
16   if (ret->string[0] != 0)
17   	printf("selected:%s\n",ret->string);
18
19   XtAppSetExitFlag(XtWidgetToApplicationContext(w));
20}
21
22int main(int argc, char **argv)
23{
24    Widget toplevel,box,list,cmd,view;
25    XtAppContext app_con;
26    toplevel = XtAppInitialize(&app_con, "Hello", NULL, 0,
27                               &argc, argv, NULL,
28                               NULL, 0);
29    char *items[]={ "the  ","quick","brown", "fox  ",
30		    "jumps","Over","the","lazy","dog",
31		    NULL};
32
33    box = XtCreateManagedWidget("box", boxWidgetClass, toplevel, NULL, 0);
34    cmd=XtCreateManagedWidget("exit", commandWidgetClass, box, NULL, 0);
35
36   view=XtVaCreateManagedWidget("viewport", viewportWidgetClass, box,
37				XtNallowVert, 1,
38                                XtNforceBars,1,
39				NULL);
40
41   list= XtVaCreateManagedWidget("listbox", listWidgetClass,view,
42				  XtNlist,items,
43				  XtNdefaultColumns,1,
44				  XtNnumberStrings,4,
45				  XtNforceColumns,1,
46				  NULL);
47    XawListChange(list,items,0,0,0);
48    XtAddCallback(cmd, XtNcallback, quit_CB , list);
49    XtRealizeWidget(toplevel);
50    XtAppMainLoop(app_con);
51    exit(0);
52}
53