Get rid of obnoxious visible "have we paused?" state.
[super-star-trek.git] / src / xio.c
index 126da025166b1ba5de6ca7c9ea4a89f12f3814e7..9e59c19945c595c9af846ff61a972695a7c98ef3 100644 (file)
--- a/src/xio.c
+++ b/src/xio.c
@@ -1,4 +1,26 @@
+/*
+ * Problems with this code:
+ *   1. The text window behaves like it's only a few lines high, 
+ *      scrolling in response to Return when the insertion point 
+ *      is nowhere near the last line.
+ *   2. The attempt to insert text with XawTextReplace() core dumps.
+ *   3. I haven't found a way to write a callback that triggers on Return 
+ *      and yields the line before the return.  The explanation at
+ *      http://www.linuxjunkies.org/programming/GUI/xwindow/x11/text.html
+ *      hints that this may be difficult.
+ *
+ * The functional goal is this:
+ *    1. Button pushes should be able to insert commands at the buffer's
+ *       current insertion point.
+ *    2. When a user finishes a command with Return, a callback should
+ *       receive the line of input typed.
+ * 
+ * All the input passed to the game in back of this will be lines full
+ * of commands generated either by typing into the text buffer directly 
+ * or by button presses that generate text unto the buffer.
+ */
 #include <stdlib.h>
+#include <stdio.h>
 #include <X11/Intrinsic.h>
 #include <X11/StringDefs.h>
 #include <X11/Shell.h>
@@ -6,9 +28,9 @@
 #include <X11/Xaw/Form.h>
 #include <X11/Xaw/Command.h>
 #include <X11/Xaw/AsciiText.h>
-#include "sst.h"
-
-#undef length  /* ugh -- must get rid of ugly #defines */
+//#include "sst.h"
+#define OPTION_PLANETS 1
+#define OPTION_PROBE   2
 
 static XtAppContext app_context;
 static Widget toplevel, text, form; 
@@ -158,7 +180,7 @@ static void instantiate_main(int argc, char **argv)
     misclabel  = XtVaCreateManagedWidget("misclabel", 
                                         labelWidgetClass, misc,
                                         NULL); 
-    for (cp = commands; cp < commands + sizeof(commands)/sizeof(commands[0]); cp++) {
+    for (cp = commands; cp < commands + ARRAY_SIZE(commands); cp++) {
        cp->widget = XtVaCreateManagedWidget(cp->name, 
                                             commandWidgetClass, 
                                             *cp->parent,