summaryrefslogtreecommitdiff
path: root/examples/list.c
diff options
context:
space:
mode:
authorWalter Harms <wharms@bfs.de>2023-05-12 23:03:32 +0200
committerWalter Harms <wharms@bfs.de>2023-05-12 23:03:32 +0200
commit2f99a415913b6be4ed2955a3e30694c2216aafbd (patch)
treef7edfa31d631eaa30bd5258d40c1b3902c13239f /examples/list.c
parent324358180ddeaae482c5f66bb5647a4918710296 (diff)
downloadxorg-lib-libXaw-2f99a415913b6be4ed2955a3e30694c2216aafbd.tar.gz
add examples
provide some examples to support the documentation
Diffstat (limited to 'examples/list.c')
-rw-r--r--examples/list.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/list.c b/examples/list.c
new file mode 100644
index 0000000..8296059
--- /dev/null
+++ b/examples/list.c
@@ -0,0 +1,52 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <StringDefs.h>
+#include <Xaw/Box.h>
+#include <Xaw/List.h>
+#include <Xaw/Viewport.h>
+#include <Xaw/Command.h>
+
+void quit_CB(Widget w, XtPointer closure, XtPointer call_data)
+{
+ Widget lst=closure;
+ XawListReturnStruct *ret;
+
+ ret=XawListShowCurrent(lst);
+
+ if (ret->string[0] != 0)
+ printf("selected:%s\n",ret->string);
+
+ XtAppSetExitFlag(XtWidgetToApplicationContext(w));
+}
+
+int main(int argc, char **argv)
+{
+ Widget toplevel,box,list,cmd,view;
+ XtAppContext app_con;
+ toplevel = XtAppInitialize(&app_con, "Hello", NULL, 0,
+ &argc, argv, NULL,
+ NULL, 0);
+ char *items[]={ "the ","quick","brown", "fox ",
+ "jumps","Over","the","lazy","dog",
+ NULL};
+
+ box = XtCreateManagedWidget("box", boxWidgetClass, toplevel, NULL, 0);
+ cmd=XtCreateManagedWidget("exit", commandWidgetClass, box, NULL, 0);
+
+ view=XtVaCreateManagedWidget("viewport", viewportWidgetClass, box,
+ XtNallowVert, 1,
+ XtNforceBars,1,
+ NULL);
+
+ list= XtVaCreateManagedWidget("listbox", listWidgetClass,view,
+ XtNlist,items,
+ XtNdefaultColumns,1,
+ XtNnumberStrings,4,
+ XtNforceColumns,1,
+ NULL);
+ XawListChange(list,items,0,0,0);
+ XtAddCallback(cmd, XtNcallback, quit_CB , list);
+ XtRealizeWidget(toplevel);
+ XtAppMainLoop(app_con);
+ exit(0);
+}