/*
* $XConsortium: Shell.h,v 1.21 89/12/13 08:57:08 swick Exp $
* $oHeader: Shell.h,v 1.2 88/08/18 15:56:14 asente Exp $
*/
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose and without fee is hereby granted, 
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.  

DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

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

#ifndef _XtShell_h
#define _XtShell_h

#ifndef X_GBLS
#if defined(VMS) && !defined(NO_X_GBLS)
globalref char X$GBLSTRINGS [];
#include <DECW$INCLUDE:DECW$GblStrings.H>
#if defined(__STDC__) && __STDC__
#define X_GBLS(string) &X$GBLSTRINGS[XGBLN##string]
#else
#define X_GBLS(string) &X$GBLSTRINGS[XGBLN/**/string]
#endif /*__STDC__*/
#else
#if defined(__STDC__) && __STDC__
#define X_GBLS(string) #string
#else
#define X_GBLS(string) "string"
#endif /*__STDC__*/
#endif /* VMS */
#endif

/***********************************************************************
 *
 * Shell Widget
 *
 ***********************************************************************/
/*
 * Shell specific atoms
 */
#define XtNiconName X_GBLS(iconName)
#define XtCIconName X_GBLS(IconName)
#define XtNiconPixmap X_GBLS(iconPixmap)
#define XtCIconPixmap X_GBLS(IconPixmap)
#define XtNiconWindow X_GBLS(iconWindow)
#define XtCIconWindow X_GBLS(IconWindow)
#define XtNiconMask X_GBLS(iconMask)
#define XtCIconMask X_GBLS(IconMask)
#define XtNwindowGroup X_GBLS(windowGroup)
#define XtCWindowGroup X_GBLS(WindowGroup)
#define XtNvisual X_GBLS(visual)
#define XtCVisual X_GBLS(Visual)
#define XtNtitleEncoding X_GBLS(titleEncoding)
#define XtCTitleEncoding X_GBLS(TitleEncoding)
 
#define XtNsaveUnder X_GBLS(saveUnder)
#define XtCSaveUnder X_GBLS(SaveUnder)
#define XtNtransient X_GBLS(transient)
#define XtCTransient X_GBLS(Transient)
#define XtNoverrideRedirect X_GBLS(overrideRedirect)
#define XtCOverrideRedirect X_GBLS(OverrideRedirect)
#define XtNtransientFor X_GBLS(transientFor)
#define XtCTransientFor X_GBLS(TransientFor)

#define XtNiconNameEncoding X_GBLS(iconNameEncoding)
#define XtCIconNameEncoding X_GBLS(IconNameEncoding)

#define XtNallowShellResize X_GBLS(allowShellResize)
#define XtCAllowShellResize X_GBLS(AllowShellResize)
#define XtNcreatePopupChildProc X_GBLS(createPopupChildProc)
#define XtCCreatePopupChildProc X_GBLS(CreatePopupChildProc)

#define XtNtitle X_GBLS(title)
#define XtCTitle X_GBLS(Title)

#ifndef XtRAtom
#define XtRAtom X_GBLS(Atom)
#endif

/* 
 * The following are only used at creation and can not be changed via 
 * SetValues.
 */

#define XtNargc X_GBLS(argc)
#define XtCArgc X_GBLS(Argc)
#define XtNargv X_GBLS(argv)
#define XtCArgv X_GBLS(Argv)
#define XtNiconX X_GBLS(iconX)
#define XtCIconX X_GBLS(IconX)
#define XtNiconY X_GBLS(iconY)
#define XtCIconY X_GBLS(IconY)
#define XtNinput X_GBLS(input)
#define XtCInput X_GBLS(Input)
#define XtNiconic X_GBLS(iconic)
#define XtCIconic X_GBLS(Iconic)
#define XtNinitialState X_GBLS(initialState)
#define XtCInitialState X_GBLS(InitialState)
#define XtNgeometry X_GBLS(geometry)
#define XtCGeometry X_GBLS(Geometry)
#define XtNbaseWidth X_GBLS(baseWidth)
#define XtCBaseWidth X_GBLS(BaseWidth)
#define XtNbaseHeight X_GBLS(baseHeight)
#define XtCBaseHeight X_GBLS(BaseHeight)
#define XtNwinGravity X_GBLS(winGravity)
#define XtCWinGravity X_GBLS(WinGravity)
#define XtNminWidth X_GBLS(minWidth)
#define XtCMinWidth X_GBLS(MinWidth)
#define XtNminHeight X_GBLS(minHeight)
#define XtCMinHeight X_GBLS(MinHeight)
#define XtNmaxWidth X_GBLS(maxWidth)
#define XtCMaxWidth X_GBLS(MaxWidth)
#define XtNmaxHeight X_GBLS(maxHeight)
#define XtCMaxHeight X_GBLS(MaxHeight)
#define XtNwidthInc X_GBLS(widthInc)
#define XtCWidthInc X_GBLS(WidthInc)
#define XtNheightInc X_GBLS(heightInc)
#define XtCHeightInc X_GBLS(HeightInc)
#define XtNminAspectY X_GBLS(minAspectY)
#define XtCMinAspectY X_GBLS(MinAspectY)
#define XtNmaxAspectY X_GBLS(maxAspectY)
#define XtCMaxAspectY X_GBLS(MaxAspectY)
#define XtNminAspectX X_GBLS(minAspectX)
#define XtCMinAspectX X_GBLS(MinAspectX)
#define XtNmaxAspectX X_GBLS(maxAspectX)
#define XtCMaxAspectX X_GBLS(MaxAspectX)
#define XtNwmTimeout X_GBLS(wmTimeout)
#define XtCWmTimeout X_GBLS(WmTimeout)
#define XtNwaitForWm X_GBLS(waitforwm)
#define XtCWaitForWm X_GBLS(Waitforwm)

/* Class record constants */

typedef struct _ShellClassRec *ShellWidgetClass;
typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
typedef struct _WMShellClassRec *WMShellWidgetClass;
typedef struct _TransientShellClassRec *TransientShellWidgetClass;
typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;

#ifndef SHELL 
externalref WidgetClass shellWidgetClass;
externalref WidgetClass overrideShellWidgetClass;
externalref WidgetClass wmShellWidgetClass;
externalref WidgetClass transientShellWidgetClass;
externalref WidgetClass topLevelShellWidgetClass;
externalref WidgetClass applicationShellWidgetClass;
#endif

#endif /* _XtShell_h */
/* DON'T ADD STUFF AFTER THIS #endif */
