/* **********************************************************************
 * *                                                                    *
 * *                   IRIS Real Time Display                           *
 * *                                                                    *
 * **********************************************************************
 * File: utils/rtdisp/rtdisp.h
 *
 *       COPYRIGHT (c) 1996, 1997, 1998, 2000, 2001, 2002, 2003 BY
 *          SIGMET INCORPORATED, WESTFORD MASSACHUSETTS, U.S.A.
 *
 * THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
 * ONLY  IN  ACCORDANCE WITH  THE  TERMS  OF  SUCH  LICENSE  AND WITH THE
 * INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE  OR  ANY OTHER
 * COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
 * OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
 * TRANSFERED.
 */

#define RTDISP_H

#ifdef RTDISP_ALLOCATE
#define EXTERN
#else
#define EXTERN extern
#endif

#define RTD_WID_OFFSET  236
#define RTD_HGT_OFFSET  43

#define TEXT_COLOR_WHITE   0
#define TEXT_COLOR_GREEN   1
#define TEXT_COLOR_RED     2

#define SITE_STATUS_OK      1
#define SITE_STATUS_IDLE    2
#define SITE_STATUS_FAULT   3

/*****************************************
** Global Legacy Variables
** Set these variables in rtdisp.C
****************************************/
EXTERN Widget       UxTopLevel;
EXTERN Display      *UxDisplay;
EXTERN int          UxScreen;
EXTERN XtAppContext UxAppContext;

/****************************************
** Globlal User Created Variables
** Set these variables in rtdisp.C
****************************************/
EXTERN Display      *applDisplay;
EXTERN int          applScreen;
EXTERN XtAppContext appContext;

////////////////////////////////////////////////////
// 
// Classes
// 
///////////////////////////////////////////////////

class RtdAS
{
  private :
  public :
    void initRTD(char *sfilename_a);
    void refreshImage(void);
    void setSiteName3TxtF(char *site_id);
    void setRngValsOM(void);
    void setColorScaleAndLabels(void);
};
EXTERN RtdAS rtdAS;

class Color 
{
  private :
  public :
    void create(Widget parent_wgt);
    void popup(void);
    void popdown(void);
};
EXTERN Color color;

class Overlay 
{
  private :
  public :
    void create(Widget parent_wgt);
    void popup(void);
    void popdown(void);
};
EXTERN Overlay overlay;

class Rng 
{
  private :
  public :
    void create(Widget parent_wgt);
    void popup(void);
    void popdown(void);
};
EXTERN Rng rng;

class SiteStat 
{
  private :
  public :
    void create(Widget parent_wgt);
    void popup(void);
    void popdown(void);
    void updateSiteList(void);
};
EXTERN SiteStat siteStat;

class RhiOpt 
{
  private :
  public :
    void create(Widget parent_wgt);
    void popup(void);
    void popdown(void);
};
EXTERN RhiOpt rhiOpt;

#undef EXTERN

