/* ===========================================================================

 ZAUTO7.H    Global variables and functions for ZAUTO7 

=============================================================================*/

#ifdef ZAUTO7_ALLOCATE
#define EXTERN
#else
#define EXTERN extern
#endif


//#define DEBUG_PRINTF


class Zauto7Menu 
{
   private:
      void plotFitLine(void);
      void plotNoiseLine(void);
      void plotFitLimitLines(void);
      void drawGrid(void);
   public:
      void init(void);
      void writeResults(void);
      void writeCalParams(void);
      void updateSiggenPlotScale(void);
      void redrawAll(void);
      void plotPoints(void);
};
EXTERN Zauto7Menu zauto7Menu;

class ConfigMenu
{
   private:
   public:
      void create(swidget parent);
      void popup(void);
      void popdown(void);
      void initAutoCal(SINT2 iwidcnt_a, SINT2 ipwidths_a[4]);
      void updateAutoCal(int iwidindexac_a, int otherpw_a, int istep_a,
                           SINT4 siggen_limits_a[2], float flimits_a[2],
                           float fitlimits_a[2], int slopetol_a,
                           int dbzotol_a, int lpolor_is_horiz_ac_a);
      void updateLFitLim( float lfitlimits_a);
      void updateRFitLim( float rfitlimits_a);
      void desenSiggenLimit();
};
EXTERN ConfigMenu configMenu;

class UpdateMenu
{
   private:
   public:
      void create(swidget parent);
      void popup(void);
      void popdown(void);
      void initMess(SINT2 ipwidths[4], int iwidcnt);
      void updateMess(int iwididx);

};
EXTERN UpdateMenu updateMenu;

class ViewCalMenu
{
   private:
   public:
      void create(swidget parent);
      void popup(void);
      void popdown(void);
      void summary(UINT4 icur_pw_a, UINT2 lpolar_is_horiz_a);

};
EXTERN ViewCalMenu viewCalMenu;

class IdMenu
{
   private:
   public:
      void create(swidget parent);
      void popup(void);
      void popdown(void);

};
EXTERN IdMenu idMenu;

#undef EXTERN
