We know how to extract the button name within the callback.
[super-star-trek.git] / src / xio.c
index 4ba585ff8761bebfc718b9ab16997c788dcf4c78..615ea97610ae441b913b12167f2a4e2afd007d4c 100644 (file)
--- a/src/xio.c
+++ b/src/xio.c
@@ -39,6 +39,7 @@ static void noargs_proc(Widget w, XtPointer client_data, XtPointer call_data)
 /* use this for commands that take no arguments */
 {
     /* currently a stub */
+    printf("Button %s pressed\n", XtName(w));
 }
 
 static struct cmd_t commands[] = {
@@ -77,7 +78,10 @@ static struct cmd_t commands[] = {
     {"Help",           noargs_proc,    &misc,          0},
 };
 
-int main(int argc, char **argv)
+#define MAXWIDTH       640
+#define TEXTHEIGHT     200
+
+static void instantiate_main(int argc, char **argv)
 { 
     struct cmd_t *cp;
 
@@ -88,21 +92,23 @@ int main(int argc, char **argv)
     form = XtVaCreateManagedWidget("form", formWidgetClass, toplevel, NULL);
     /* the command window */
     text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, form, 
-                                  XtNwidth, 400, XtNheight, 200,
+                                  XtNwidth, MAXWIDTH, XtNheight, TEXTHEIGHT,
                                   NULL);
     XtVaSetValues(text, XtNeditType,XawtextRead, XtNdisplayCaret,False, NULL);
     /* The button panels */
     navigation  = XtVaCreateManagedWidget("navigation", 
-                                      boxWidgetClass, form,
-                                      XtNfromVert, text, 
-                                      XtNorientation, XtorientHorizontal,
-                                      NULL); 
+                                         boxWidgetClass, form,
+                                         XtNborderWidth, 0,
+                                         XtNfromVert, text,
+                                         XtNorientation, XtorientHorizontal,
+                                         NULL); 
     navlabel  = XtVaCreateManagedWidget("Navigation:   ", 
                                        labelWidgetClass, navigation,
                                        XtNborderWidth, 0,
                                        NULL); 
     weapons  = XtVaCreateManagedWidget("weapons", 
                                       boxWidgetClass, form,
+                                      XtNborderWidth, 0,
                                       XtNfromVert, navigation, 
                                       XtNorientation, XtorientHorizontal,
                                       NULL); 
@@ -112,6 +118,7 @@ int main(int argc, char **argv)
                                         NULL); 
     status   = XtVaCreateManagedWidget("status", 
                                       boxWidgetClass, form,
+                                      XtNborderWidth, 0,
                                       XtNfromVert, weapons, 
                                       XtNorientation, XtorientHorizontal,
                                       NULL); 
@@ -121,6 +128,7 @@ int main(int argc, char **argv)
                                         NULL); 
     planets  = XtVaCreateManagedWidget("planets", 
                                       boxWidgetClass, form,
+                                      XtNborderWidth, 0,
                                       XtNfromVert, status, 
                                       XtNorientation, XtorientHorizontal,
                                       NULL); 
@@ -130,6 +138,7 @@ int main(int argc, char **argv)
                                         NULL); 
     misc  = XtVaCreateManagedWidget("misc", 
                                       boxWidgetClass, form,
+                                      XtNborderWidth, 0,
                                       XtNfromVert, planets, 
                                       XtNorientation, XtorientHorizontal,
                                       NULL); 
@@ -150,5 +159,10 @@ int main(int argc, char **argv)
     XtAppMainLoop(app_context);
     /* loop may be interrupted */
     XtDestroyApplicationContext(app_context);
+}
+
+int main(int argc, char **argv)
+{
+    instantiate_main(argc, argv);
     exit(0);
 }