#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/StringDefs.h> /* string definitions for things like XtNwidth */
#include <X11/Xresource.h>
#include <X11/Intrinsic.h>  /* include all the intrinsic headers */
                            /* includes XToolkit definitions     */
#include <X11/Xatom.h>
#include <X11/Xutil.h>
#include <X11/Composite.h>  /* facilitate creation of composite widgets */
#include <X11/Shell.h>      /* include shell widget class header files  */
#include <X11/Form.h>       /* not only includes the Form widget defs   */
                            /* but also the constraint defs             */
#include <X11/Command.h>    /* include command widget class header file */
#include <X11/Box.h>        /* include box widget class header files    */
#include <X11/Label.h>      /* include label widget class header files  */

#include "mmm_include.h"

   XFontStruct *timesRoman12, *timesBold12;  /* font structures needed   */
   XFontStruct *fixedFont, *fixed;

/*********************************************************/

 create_all_widgets(base_widget)
     Widget base_widget;
 {
   int i;
   Display *the_display;
   Widget mmm_background;
   Widget main_title_display;
   Widget main_title;
   Widget WBwidget23;
   Widget mail_functions_display;
   Widget mail_functions_label;
   Widget mail_functions_sendmsg;
   Widget mail_functions_readmsg;
   Widget mail_functions_create_msg;
   Widget mail_functions_deletemsg;
   Widget mail_functions_readprev;
   Widget alens_functions_display;
   Widget alens_functions_label;
   Widget alens_functions_createrules;
   Widget alens_functions_runrules;
   Widget alens_functions_editrules;
   Widget main_body_display;
   Widget main_next_page;
   Widget mouse_display_form;
   Widget mouse_documentation_line;
   Widget icon_menu_display;
   Widget icon_menu_label;
   Widget icon_sample_button;
   Widget icon_sample_label;
   Widget WBwidget22;
   Widget WBwidget24;

   /* Load in necessary fonts */
   /* ----------------------- */
   the_display = XtDisplay(base_widget);      /* first get the display */
   timesRoman12 = XLoadQueryFont(the_display, "times-roman12");
   timesBold12 = XLoadQueryFont(the_display, "times-bold12");
   fixedFont = XLoadQueryFont(the_display, "fixed");
   fixed = XLoadQueryFont(the_display, "fixed");
   i = 0;

   /* Create Form Widget, whose parent is base_widget */

   XtSetArg(arg_list[i], XtNheight, 781); i++;
   XtSetArg(arg_list[i], XtNwidth, 515); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mmm_background =
      XtCreateManagedWidget("WBwidget0",
               formWidgetClass,
               base_widget, arg_list, i);
   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNheight, 25); i++;
   XtSetArg(arg_list[i], XtNwidth, 148); i++;
   XtSetArg(arg_list[i], XtNx, 180); i++;
   XtSetArg(arg_list[i], XtNy, 0); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNhorizDistance, 180); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   main_title_display =
      XtCreateManagedWidget("WBwidget1",
               formWidgetClass,
               mmm_background, arg_list, i);
   i = 0;

   /* Create Label Widget("         "), whose parent is main_title_display */

   XtSetArg(arg_list[i], XtNlabel,
      "         "); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 62); i++;
   XtSetArg(arg_list[i], XtNx, -179); i++;
   XtSetArg(arg_list[i], XtNy, 3); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 3); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, -179); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   main_title =
      XtCreateManagedWidget("WBwidget2",
               labelWidgetClass,
               main_title_display, arg_list, i);
   i = 0;

   /* Create Label Widget("MEDIA MAIL SYSTEM"), whose parent is main_title_display */

   XtSetArg(arg_list[i], XtNlabel,
      "MEDIA MAIL SYSTEM"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 140); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 4); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 4); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNtop, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, timesBold12); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   WBwidget23 =
      XtCreateManagedWidget("WBwidget23",
               labelWidgetClass,
               main_title_display, arg_list, i);
   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 28); i++;
   XtSetArg(arg_list[i], XtNwidth, 508); i++;
   XtSetArg(arg_list[i], XtNx, 1); i++;
   XtSetArg(arg_list[i], XtNy, 27); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 27); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 1); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_display =
      XtCreateManagedWidget("WBwidget4",
               formWidgetClass,
               mmm_background, arg_list, i);
   i = 0;

   /* Create Label Widget("Mail Functions :"), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Mail Functions :"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 104); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 4); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_label =
      XtCreateManagedWidget("WBwidget5",
               labelWidgetClass,
               mail_functions_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Send"), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Send"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 32); i++;
   XtSetArg(arg_list[i], XtNx, 355); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 355); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_sendmsg =
      XtCreateManagedWidget("WBwidget6",
               commandWidgetClass,
               mail_functions_display, arg_list, i);

   XtAddCallback(mail_functions_sendmsg,
		 XtNcallback, MMM_sendmail_button, (caddr_t) NULL);

   i = 0;

   /* Create Button Widget("Read Next Message"), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Read Next Message"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 110); i++;
   XtSetArg(arg_list[i], XtNx, 118); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 118); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_readmsg =
      XtCreateManagedWidget("WBwidget7",
               commandWidgetClass,
               mail_functions_display, arg_list, i);

   XtAddCallback(mail_functions_readmsg,
		 XtNcallback, MMM_next_msg, (caddr_t) NULL);

   i = 0;

   /* Create Button Widget("Create New Message"), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Create New Message"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 119); i++;
   XtSetArg(arg_list[i], XtNx, 232); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 232); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, timesRoman12); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_create_msg =
      XtCreateManagedWidget("WBwidget8",
               commandWidgetClass,
               mail_functions_display, arg_list, i);

   XtAddCallback(mail_functions_create_msg,
		 XtNcallback, MMM_create_msg_button, (caddr_t) NULL);

   i = 0;

   /* Create Button Widget("Delete"), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Delete"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 44); i++;
   XtSetArg(arg_list[i], XtNx, 458); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 458); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_deletemsg =
      XtCreateManagedWidget("WBwidget9",
               commandWidgetClass,
               mail_functions_display, arg_list, i);

   XtAddCallback(mail_functions_deletemsg,
		 XtNcallback, MMM_delete_msg_button, (caddr_t) NULL);

   i = 0;

   /* Create Button Widget("Read Prev."), whose parent is mail_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Read Prev."); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 63); i++;
   XtSetArg(arg_list[i], XtNx, 391); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 391); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, timesRoman12); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mail_functions_readprev =
      XtCreateManagedWidget("mail_functions_readprev",
               commandWidgetClass,
               mail_functions_display, arg_list, i);

   XtAddCallback(mail_functions_readprev,
		 XtNcallback, MMM_readprev_button, (caddr_t) NULL);

   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 28); i++;
   XtSetArg(arg_list[i], XtNwidth, 508); i++;
   XtSetArg(arg_list[i], XtNx, 1); i++;
   XtSetArg(arg_list[i], XtNy, 56); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 56); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 1); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   alens_functions_display =
      XtCreateManagedWidget("alens_functions_display",
               formWidgetClass,
               mmm_background, arg_list, i);
   i = 0;

   /* Create Label Widget("AI Mail Filter : "), whose parent is alens_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "AI Mail Filter : "); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 110); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 4); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 4); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNtop, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   alens_functions_label =
      XtCreateManagedWidget("alens_functions_label",
               labelWidgetClass,
               alens_functions_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Create a Rule Set"), whose parent is alens_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Create a Rule Set"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 110); i++;
   XtSetArg(arg_list[i], XtNx, 182); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 182); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   alens_functions_createrules =
      XtCreateManagedWidget("WBwidget11",
               commandWidgetClass,
               alens_functions_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Run Rules"), whose parent is alens_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Run Rules"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 62); i++;
   XtSetArg(arg_list[i], XtNx, 440); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 440); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   alens_functions_runrules =
      XtCreateManagedWidget("alens_functions_runrules",
               commandWidgetClass,
               alens_functions_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Edit a Rule Set"), whose parent is alens_functions_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Edit a Rule Set"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 98); i++;
   XtSetArg(arg_list[i], XtNx, 309); i++;
   XtSetArg(arg_list[i], XtNy, 5); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 5); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 309); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   alens_functions_editrules =
      XtCreateManagedWidget("alens_functions_editrules",
               commandWidgetClass,
               alens_functions_display, arg_list, i);
   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 684); i++;
   XtSetArg(arg_list[i], XtNwidth, 424); i++;
   XtSetArg(arg_list[i], XtNx, 1); i++;
   XtSetArg(arg_list[i], XtNy, 85); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 85); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 1); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   main_body_display =
      XtCreateManagedWidget("main_body_display",
               formWidgetClass,
               mmm_background, arg_list, i);

   WBcreate_wb(main_body_display,
	       WBwidget23,               /* ??? */
	       main_title_display);

   i = 0;

   /* Create Button Widget("Next Page"), whose parent is main_body_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Next Page"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 62); i++;
   XtSetArg(arg_list[i], XtNx, 356); i++;
   XtSetArg(arg_list[i], XtNy, 661); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 661); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 356); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   main_next_page =
      XtCreateManagedWidget("main_next_page",
               commandWidgetClass,
               main_body_display, arg_list, i);
   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 25); i++;
   XtSetArg(arg_list[i], XtNwidth, 505); i++;
   XtSetArg(arg_list[i], XtNx, -1); i++;
   XtSetArg(arg_list[i], XtNy, 770); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 770); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, -1); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mouse_display_form =
      XtCreateManagedWidget("mouse_display_form",
               formWidgetClass,
               mmm_background, arg_list, i);
   i = 0;

   /* Create Label Widget("Mouse Buttons-> Left:Edits what you point at.  Middle:Resizes it.  Right:Moves it."), whose parent is mouse_display_form */

   XtSetArg(arg_list[i], XtNlabel,
      "Mouse Buttons-> Left:Edits what you point at.  Middle:Resizes it.  Right:Moves it."); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 500); i++;
   XtSetArg(arg_list[i], XtNx, 1); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   XtSetArg(arg_list[i], XtNbackground, 0); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 4); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 1); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   mouse_documentation_line =
      XtCreateManagedWidget("mouse_documentation_line",
               labelWidgetClass,
               mouse_display_form, arg_list, i);

   documentation_line_widget = mouse_documentation_line;

   i = 0;

   /* Create Form Widget, whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 684); i++;
   XtSetArg(arg_list[i], XtNwidth, 83); i++;
   XtSetArg(arg_list[i], XtNx, 426); i++;
   XtSetArg(arg_list[i], XtNy, 85); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   XtSetArg(arg_list[i], XtNforeground, 1); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 85); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 426); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   icon_menu_display =
      XtCreateManagedWidget("icon_menu_display",
               formWidgetClass,
               mmm_background, arg_list, i);
   i = 0;

   /* Create Label Widget("Icon Menu :"), whose parent is icon_menu_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Icon Menu :"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 74); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 4); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 4); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNtop, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   icon_menu_label =
      XtCreateManagedWidget("icon_menu_label",
               labelWidgetClass,
               icon_menu_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Button"), whose parent is icon_menu_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Button"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 44); i++;
   XtSetArg(arg_list[i], XtNx, 7); i++;
   XtSetArg(arg_list[i], XtNy, 55); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 55); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 7); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   icon_sample_button =
      XtCreateManagedWidget("icon_sample_button",
               commandWidgetClass,
               icon_menu_display, arg_list, i);

   MMMeditable_icon_button(icon_menu_label, WBAddCommandButton);

   i = 0;

   /* Create Label Widget("Label"), whose parent is icon_menu_display */

   XtSetArg(arg_list[i], XtNlabel,
      "Label"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 38); i++;
   XtSetArg(arg_list[i], XtNx, 6); i++;
   XtSetArg(arg_list[i], XtNy, 33); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 33); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 6); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   icon_sample_label =
      XtCreateManagedWidget("icon_sample_label",
               labelWidgetClass,
               icon_menu_display, arg_list, i);

   MMMeditable_icon_button(icon_menu_label, WBAddLabel);

   i = 0;

   /* Create Label Widget("        "), whose parent is icon_menu_display */

   XtSetArg(arg_list[i], XtNlabel,
      "        "); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNborderWidth, 0); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 56); i++;
   XtSetArg(arg_list[i], XtNx, 23); i++;
   XtSetArg(arg_list[i], XtNy, 663); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 663); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 23); i++;
   XtSetArg(arg_list[i], XtNleft, XtChainLeft); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, fixed); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   WBwidget22 =
      XtCreateManagedWidget("WBwidget22",
               labelWidgetClass,
               icon_menu_display, arg_list, i);
   i = 0;

   /* Create Button Widget("Exit"), whose parent is mmm_background */

   XtSetArg(arg_list[i], XtNlabel,
      "Exit"); i++;
   XtSetArg(arg_list[i], XtNjustify, XtJustifyCenter); i++;
   XtSetArg(arg_list[i], XtNheight, 17); i++;
   XtSetArg(arg_list[i], XtNwidth, 29); i++;
   XtSetArg(arg_list[i], XtNx, 4); i++;
   XtSetArg(arg_list[i], XtNy, 4); i++;
   XtSetArg(arg_list[i], XtNhighlightThickness, 2); i++;
   /* Form related instance variables, about placement */
   XtSetArg(arg_list[i], XtNvertDistance, 4); i++;
   XtSetArg(arg_list[i], XtNhorizDistance, 4); i++;
   XtSetArg(arg_list[i], XtNleft, XtRubber); i++;
   XtSetArg(arg_list[i], XtNright, XtRubber); i++;
   XtSetArg(arg_list[i], XtNtop, XtRubber); i++;
   XtSetArg(arg_list[i], XtNbottom, XtRubber); i++;
   XtSetArg(arg_list[i], XtNresizable, TRUE); i++;
   XtSetArg(arg_list[i], XtNfont, timesRoman12); i++;
   XtSetArg(arg_list[i], NULL, NULL);

   WBwidget24 =
      XtCreateManagedWidget("WBwidget24",
               commandWidgetClass,
               mmm_background, arg_list, i);

   XtAddCallback(WBwidget24, XtNcallback, MMMexit_button, (caddr_t) NULL);

 };    /* end of create_all_widgets() */

/*********************************************************/
/*********************************************************/

main(argc, argv)
     int argc;
     char *argv[];
 {
   Widget shell;          /* the top level application shell      */
   Widget base_widget;    /* the base widget (visible background) */

   /* Initialize a toplevel root shell widget */
   /* --------------------------------------- */
   shell = XtInitialize(argv[0],
		       "Top Level Shell",
		       NULL, 0, &argc, argv);

   /* Allow top level shell resize by child */
   /* ------------------------------------- */
   XtSetArg(arg_list[0], XtNallowShellResize, TRUE);
   XtSetArg(arg_list[1], NULL,  (XtArgVal) NULL);
   XtSetValues(shell, arg_list, 1);

   /* Create main (background) widget for the application */
   /* --------------------------------------------------- */
   XtSetArg(arg_list[0], XtNresizable, TRUE);
   base_widget = XtCreateManagedWidget("Top Level Form",
			       boxWidgetClass, shell,
			       arg_list, 1);

   create_all_widgets(base_widget);  /* Hang all widgets off base_widget */

   XtRealizeWidget(shell);           /* Make all widgets visible */

   XtMainLoop();                     /* Infinite event loop */

 };        /* end of main() */

