/* Global.h -- This file contains the includes, defines, and extern declara-
               tions needed by most (or all) other parts of the application.  */

/* Standard includes. */
#include <malloc.h>
#include <stdio.h>
#include <string.h>

/* X includes. */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Protocols.h>
#include <X11/Shell.h>

/* Motif includes. */
#include <X11/MwmUtil.h>
#include <Xm/Xm.h>
#include <Xm/XmP.h>
#include <Xm/CascadeBG.h>
#include <Xm/CutPaste.h>
#include <Xm/Form.h>
#include <Xm/LabelG.h>
#include <Xm/MainW.h>
#include <Xm/MessageB.h>
#include <Xm/PushBG.h>
#include <Xm/RowColumn.h>
#include <Xm/SeparatoG.h>
#include <Xm/ToggleBG.h>

/* Argument list and counter. */
extern Arg	    al[];
extern int	    ac;

/* Top-level application shell widget and related functions. */
extern Widget topLevel;

/* Dialog functions and widgets. */
extern Widget exitDialog;

/* Pulldown menu system global variables and functions. */
extern int    currentView;
extern Widget opt1Toggle, opt2Toggle, opt3Toggle;
extern int    currentOption;

/* Function prototypes */

void CreateWindowManagerProtocols(Widget shell);
void CreateSessionManagerProtocols(Widget shell);
void SaveSessionCB(Widget w, XtPointer client_data, XtPointer call_data);
void MenuCB (Widget w, XtPointer client_data, XtPointer call_data);
Widget CreateMenuBar (Widget parent);
Widget CreateMenuButton(
     Widget  parent,
     char    *name,
     int     buttonID,                    /* Values defined in Menu.h */
     char    *buttonLabelStr,
     char    buttonMnemonic,
     int     buttonType,                  /* Values defined in Menu.h */
     char    *buttonAccelerator,
     char    *buttonAcceleratorTextStr
);
static AddSeparator(Widget parent);
Widget  CreateExitDialog(Widget parent);
void DialogCB (
     Widget	w,		/*  widget id		*/
     XtPointer	client_data,	/*  data from application   */
     XtPointer	call_data	/*  data from widget class  */
);
