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

 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 plotDynamicPoints(void);
    void drawGrid(void);
  public:
    void init(void);
    void updateCalSignalBroad(void);
    void updateCalSignalNarrow(void);
    void setSigGenUpdateTxtF(void);
    void writeResults(void);
    void writeCalParams(void);
    void updateSiggenPlotScale(void);
    void updateIFPowerPlotScale(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(struct ConfigParams params_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:
    void summaryCal(UINT4 icur_pw_a, UINT2 lpolar_is_horiz_a);
  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
