6 #include <Wc/WcCreate.h>
7 #include <X11/Intrinsic.h>
8 #include <X11/Xaw/Box.h>
9 #include <X11/Xaw/Command.h>
10 #include <X11/Xaw/Form.h>
11 #include <X11/Xaw/AsciiText.h>
12 #include <X11/Shell.h>
13 #include <X11/StringDefs.h>
14 #include <X11/cursorfont.h>
15 #include <X11/Xutil.h>
19 int help(), again(), go();
20 void advance_focus(), retreat_focus();
21 char fname[128], mname[128], lname[128], iname[128], uname[128], pname[128];
24 XtActionsRec field_actions[] = {
25 {"AdvanceFocus", advance_focus},
26 {"RetreatFocus", retreat_focus},
34 { fname }, { mname }, { lname }, { iname }, { uname }
49 setenv("XAPPLRESDIR", "/mit/moiradev/src/clients/xregister/");
50 TopWidget = XtInitialize("Register", "Register", NULL, 0,
51 (unsigned int *)&argc, argv);
53 XtGetApplicationResources(TopWidget, NULL, NULL, 0, NULL);
54 app = XtWidgetToApplicationContext(TopWidget);
55 AriRegisterAthena(app);
56 WcWidgetCreation(TopWidget);
58 XtRealizeWidget(TopWidget);
61 XtAddActions(field_actions, 2);
63 XtSetArg(args[0], XtNstring, fname);
64 fields[0].w = XtCreateManagedWidget("fnameb", asciiTextWidgetClass,
67 XtSetArg(args[0], XtNstring, mname);
68 fields[1].w = XtCreateManagedWidget("mnameb", asciiTextWidgetClass,
71 XtSetArg(args[0], XtNstring, lname);
72 fields[2].w = XtCreateManagedWidget("lnameb", asciiTextWidgetClass,
75 XtSetArg(args[0], XtNstring, iname);
76 fields[3].w = XtCreateManagedWidget("idb", asciiTextWidgetClass,
79 XtSetArg(args[0], XtNstring, uname);
80 fields[4].w = XtCreateManagedWidget("loginb", asciiTextWidgetClass,
83 w = XtCreateManagedWidget("go", commandWidgetClass, box, args, 0);
84 XtAddCallback(w, XtNcallback, go, NULL);
85 w = XtCreateManagedWidget("again", commandWidgetClass, box, args, 0);
86 XtAddCallback(w, XtNcallback, again, NULL);
90 remove_popup(ignored, w, ignored1)
95 XtPopdown((Widget) w);
106 static int inited = 0;
109 XtTranslateCoords(TopWidget, (Position) 0, (Position) 120, &x, &y);
111 XtSetArg(args[num_args], XtNx, x); num_args++;
112 XtSetArg(args[num_args], XtNy, y); num_args++;
113 top = XtCreatePopupShell("helpshell", transientShellWidgetClass,
114 TopWidget, args, num_args);
116 box = XtCreateManagedWidget("box", boxWidgetClass, top, NULL, 0);
117 last = XtCreateManagedWidget("helptext", asciiTextWidgetClass,
119 last = XtCreateManagedWidget("helpcmd", commandWidgetClass,
121 XtAddCallback(last, XtNcallback, remove_popup, top);
123 XtPopup(top, XtGrabNone);
128 fname[0] = mname[0] = lname[0] = iname[0] = uname[0] = pname[0] = 0;
138 XtSetArg(args[0], XtNborderWidth, 0);
139 XtSetArg(args[1], XtNdisplayCaret, False);
140 for (i = 0; i < NFIELDS; i++) {
141 XtSetValues(fields[i].w, args, 2);
143 XtSetArg(args[0], XtNborderWidth, 2);
144 XtSetArg(args[1], XtNdisplayCaret, True);
145 XtSetValues(fields[f].w, args, 2);
150 if (active_field++ >= NFIELDS)
152 activate_field(active_field);
158 if (active_field-- < 0)
159 active_field = NFIELDS;
160 activate_field(active_field);