/* ** dialog.c ** */ #include #include #include #include #define XtNinput "input" void make_dialog (parent_widget, dialog_widget, dialog_name, dialog_label, default_string, sensitivity, border_width, b1_name, b1_calls, b2_name, b2_calls, b3_name, b3_calls, left_neighbour, left_distance, top_neighbour, top_distance) Widget parent_widget, *dialog_widget, left_neighbour, top_neighbour; String dialog_name, dialog_label, default_string, b1_name, b2_name, b3_name; int left_distance, top_distance; Dimension border_width; XtCallbackRec *b1_calls, *b2_calls, *b3_calls; Boolean sensitivity; { int i; Arg dialog_args [30]; Widget d1_button, d2_button, d3_button; i = 0; XtSetArg (dialog_args [i], XtNlabel, (XtArgVal) dialog_label); i++; XtSetArg (dialog_args [i], XtNvalue, (XtArgVal) default_string); i++; XtSetArg (dialog_args [i], XtNsensitive, (XtArgVal) sensitivity); i++; XtSetArg (dialog_args [i], XtNborderWidth, (XtArgVal) border_width); i++; XtSetArg (dialog_args [i], XtNfromHoriz, (XtArgVal) left_neighbour); i++; XtSetArg (dialog_args [i], XtNhorizDistance, (XtArgVal) left_distance); i++; XtSetArg (dialog_args [i], XtNfromVert, (XtArgVal) top_neighbour); i++; XtSetArg (dialog_args [i], XtNvertDistance, (XtArgVal) top_distance); i++; XtSetArg (dialog_args [i], XtNinput, (XtArgVal) True); i++; *dialog_widget = XtCreateManagedWidget (dialog_name, dialogWidgetClass, parent_widget, dialog_args, i); if (b1_name != NULL) make_button (*dialog_widget, &d1_button, "d1_button", b1_name, b1_calls, NULL, 4, NULL, 4); if (b2_name != NULL) make_button (*dialog_widget, &d2_button, "d2_button", b2_name, b2_calls, NULL, 4, NULL, 4); if (b3_name != NULL) make_button (*dialog_widget, &d3_button, "d3_button", b3_name, b3_calls, NULL, 4, NULL, 4); }