This is Jaap Boender's original example code.
authorEric S. Raymond <esr@thyrsus.com>
Wed, 13 Sep 2006 17:18:31 +0000 (17:18 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 13 Sep 2006 17:18:31 +0000 (17:18 +0000)
xio.c [new file with mode: 0644]

diff --git a/xio.c b/xio.c
new file mode 100644 (file)
index 0000000..494ea7a
--- /dev/null
+++ b/xio.c
@@ -0,0 +1,35 @@
+#include <X11/Intrinsic.h>
+#include <X11/StringDefs.h>
+#include <X11/Shell.h>
+#include <X11/Xaw/Form.h>
+#include <X11/Xaw/Command.h>
+#include <X11/Xaw/AsciiText.h>
+
+XtAppContext app_context;
+Widget toplevel, form, quit, text;
+
+void quit_proc (Widget w, XtPointer client_data, XtPointer call_data)
+{ XtDestroyApplicationContext (app_context);
+  exit (0);
+}
+
+int main (int argc, char **argv)
+{ toplevel = XtVaOpenApplication (&app_context, "XThird", NULL, 0, &argc,
+                                  argv, NULL, applicationShellWidgetClass,
+                                 XtNallowShellResize, True, NULL);
+  form = XtVaCreateManagedWidget ("form", formWidgetClass, toplevel, NULL); 
+  quit = XtVaCreateManagedWidget ("quit", commandWidgetClass, form, XtNlabel,
+                                  "Quit", NULL);
+  text = XtVaCreateManagedWidget ("text", asciiTextWidgetClass, form, 
+                                  XtNfromHoriz, quit, XtNresize,
+                                 XawtextResizeBoth, XtNresizable, True, NULL);
+  XtAddCallback (quit, XtNcallback, quit_proc, NULL);
+  if (argc <= 1)
+    XtVaSetValues (text, XtNtype, XawAsciiString, XtNstring, "Fool! You should"
+                   " supply a file name!", NULL); 
+  else
+    XtVaSetValues (text, XtNtype, XawAsciiFile, XtNstring, argv [1], NULL);
+  XtVaSetValues (text, XtNeditType, XawtextRead, XtNdisplayCaret, False, NULL);
+  XtRealizeWidget (toplevel);
+  XtAppMainLoop (app_context);
+}