]> andersk Git - moira.git/blobdiff - clients/mmoira/formup.c
Used /bin/sh format instead of /bin/csh format, by accident.
[moira.git] / clients / mmoira / formup.c
index 3186b37d47d1c5d4904a3f7884d6c2ae3f6476ad..cabf9265b5d9f34e8e1ac9a1d7cdf7f2ca0e6204 100644 (file)
@@ -1,15 +1,15 @@
 /* $Header$ */
 
 #include       <stdio.h>
-#include       <strings.h>
+#include       <string.h>
 #include       <X11/StringDefs.h>
 #include       <X11/IntrinsicP.h>
 #include       <X11/Shell.h>
 #include       <X11/Core.h>
 #include       <X11/CoreP.h>
+#include       <X11/CompositeP.h>
 #include       <Xm/Xm.h>
 #include       <Xm/BulletinB.h>
-#include       <Xm/BulletinBP.h>
 #include       <Xm/Label.h>
 #include       <Xm/Text.h>
 #include       <Xm/TextP.h>
@@ -19,7 +19,6 @@
 #include       <Xm/ToggleB.h>
 #include       <Xm/ToggleBG.h>
 #include       <Xm/RowColumn.h>
-#include       <Xm/RowColumnP.h>
 #include       <Xm/Separator.h>
 #include       <Xm/Traversal.h>
 #include       "mmoira.h"
@@ -295,8 +294,6 @@ EntryForm   *spec;
        int             foo = 30;
        Widget          children[20];
        static XtTranslations trans = NULL;
-#define newtrans "<FocusOut>: focusOut() MoiraFocusOut()"
-
 
        for (   current = (*myinputlines), localy = 0,  i = 0;
                current; 
@@ -313,7 +310,7 @@ EntryForm   *spec;
                if (current->type == FT_KEYWORD) {
                    char *p;
 
-                   p = index(current->prompt, '|');
+                   p = strchr(current->prompt, '|');
                    if (p) {
                        *p++ = 0;
                        current->keyword_name = p;
@@ -371,7 +368,7 @@ EntryForm   *spec;
                            XtAppAddActions(XtWidgetToApplicationContext(children[i]),
                                            myactions, XtNumber(myactions));
 
-                           trans = XtParseTranslationTable(newtrans);
+                           trans = XtParseTranslationTable(resources.text_trans);
                        }
                        XtOverrideTranslations(children[i], trans);
                        if (current->returnvalue.stringvalue) {
@@ -537,8 +534,6 @@ int field;
     Dimension x, y, parent_y, oldheight, newheight;
     Arg wargs[4];
     Widget w;
-    XmBulletinBoardWidget bb;
-    XmRowColumnWidget rc;
     static XtTranslations trans = NULL;
     extern char form_override_table[];
     int i;
@@ -557,25 +552,23 @@ int field;
     MapWidgetToForm(w, form);
     XmAddTabGroup(w);
     if (newheight > oldheight) {
-       bb = (XmBulletinBoardWidget) form->formpointer;
        parent_y = y;
-       for (i = 0; i < bb->composite.num_children; i++) {
+       for (i = 0; i < NumChildren(form->formpointer); i++) {
            XtSetArg(wargs[0], XtNy, &y);
-           XtGetValues(bb->composite.children[i], wargs, 1);
+           XtGetValues(NthChild(form->formpointer, i), wargs, 1);
            if (y > parent_y) {
                y = (y + newheight) - oldheight;
                XtSetArg(wargs[0], XtNy, y);
-               XtSetValues(bb->composite.children[i], wargs, 1);
+               XtSetValues(NthChild(form->formpointer, i), wargs, 1);
            }
        }
     }
 
     if (trans == NULL)
-      trans = XtParseTranslationTable(form_override_table);
+      trans = XtParseTranslationTable(resources.form_trans);
     XtOverrideTranslations(w, trans);
-    rc = (XmRowColumnWidget) w;
-    for (i = 0; i < rc->composite.num_children; i++)
-      XtOverrideTranslations(rc->composite.children[i], trans);
+    for (i = 0; i < NumChildren(w); i++)
+      XtOverrideTranslations(NthChild(w, i), trans);
 
     XtManageChild(w);
 }
@@ -762,7 +755,7 @@ Cardinal *n;
     XmTextRec *tr = (XmTextRec *)w;
     int i;
 
-    if (tr->core.self != w || tr->core.widget_class != xmTextWidgetClass)
+    if (!tr || tr->core.self != w || tr->core.widget_class != xmTextWidgetClass)
       return;
     newvalue = XmTextGetString(w);
     f = WidgetToForm(w);
@@ -903,3 +896,19 @@ Widget *w;
 {
     return((EntryForm *) hash_lookup(WFmap, w));
 }
+
+
+/* Routines to deal with children of composite widgets */
+
+Widget NthChild(w, n)
+CompositeRec *w;
+int n;
+{
+    return(w->composite.children[n]);
+}
+
+int NumChildren(w)
+CompositeRec *w;
+{
+    return(w->composite.num_children);
+}
This page took 0.043387 seconds and 4 git commands to generate.