/* **********************************************************************
 * *                                                                    *
 * *               DPY_OPT_TOOL_DIAG Header File                        *
 * *                                                                    *
 * **********************************************************************
 * File: iris/window/dpyOptToolDiag.h
 *
 *                        COPYRIGHT (c) 2004  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.
 */

#ifndef DPY_OPT_TOOL_DIAG_H
#define DPY_OPT_TOOL_DIAG_H

#ifdef DPY_OPT_TOOL_DIAG_ALLOCATE
#define EXTERN
#else
#define EXTERN extern
#endif

#define MULTILAYER_NDOP_UP   1
#define MULTILAYER_NDOP_DOWN 2

/*-----------------------------------------------------------------------------
Variables
*/

#ifdef __cplusplus
extern "C" {
#endif

void dpyOptLoadHomeList(char *sptr_a, SINT4 ilen_a);



EXTERN SOUT_OPT                        dpyopt_c;
EXTERN struct server_pom_scale_def     coloropt_c;
EXTERN struct overlay_mask_dir         overmaskinfo_c;
EXTERN struct server_overlay_dir  overinfo_c;




void dpyopt_create_menu(void);
void dpyopt_unmanage_menu(void);
EXTERN Widget dpyopt_main_c;
EXTERN Widget dpyopt_mainbar;
EXTERN Widget dpyopt_filebtn,  dpyopt_filepdw;
EXTERN Widget dpyopt_cmdsbtn,  dpyopt_cmdspdw;
EXTERN Widget dpyopt_helpbtn,  dpyopt_helppdw;

EXTERN Widget dpyopt_printpdw;


void dpyopt_file_cbf();
void dpyopt_cmds_cbf();
void dpyopt_help_cbf();

EXTERN Widget     dpyoptprod_frm;
EXTERN XsPDW_TXT dpyoptprod_type;
void dpyoptprod_typepdw_cbf();
void dpyoptprod_typetxt_cbf(); 


EXTERN Widget dpyoptprodover_frm, dpyoptprod_poverlab;
EXTERN Widget dpyoptprod_liveopt, dpyoptprod_livebtns[2];
void dpyoptprod_livebtns_cbf();
 
EXTERN Widget dpyoptprod_poverbtn[3], dpyoptprod_povertxt[3],
              dpyoptprod_povertxt1[3];
void   dpyoptprod_poverbtn_cbf();
void   dpyoptprod_povertxt1_cbf();

EXTERN XsFOLB*   dpyoptprod_poverp;
void   dpyoptprod_poverflb_cbf();

EXTERN Widget dpyoptprod_unitslab, dpyoptprod_unitsopt,
              dpyoptprod_unitsbtns[2];
EXTERN Widget dpyoptprod_timelab, dpyoptprod_timeopt,
              dpyoptprod_timebtns[3];
EXTERN Widget dpyoptprod_ringslab, dpyoptprod_ringsopt,
              dpyoptprod_ringsbtns[4];
EXTERN Widget dpyoptprod_ringsspaceopt, dpyoptprod_ringsspacebtns[8];
EXTERN Widget dpyoptprod_centerlab, dpyoptprod_centeropt,
              dpyoptprod_centerbtns[18];

EXTERN Widget dpyoptprod_lgndlab, dpyoptprod_lgndtgl;
EXTERN Widget dpyoptprod_shadowlab, dpyoptprod_shadowopt,
              dpyoptprod_shadowbtns[4];
void dpyoptprod_unitsbtns_cbf();
void dpyoptprod_ringsbtns_cbf();
void dpyoptprod_timebtns_cbf();
void dpyoptprod_ringsspacebtns_cbf();
void dpyoptprod_centerbtns_cbf();
void dpyoptprod_lgndtgl_cbf();
void dpyoptprod_shadowbtns_cbf();

EXTERN Widget dpyoptprod_tabbtn;
void dpyoptprod_tabbtn_cbf();
void tab_options(struct tabulation_list *tab, UINT4 ilen_a );

EXTERN Widget dpyoptprod_extbtn;




EXTERN Widget dpyoptover_laygrplab, dpyoptover_laygrpmb, dpyoptover_laygrppdw,
       dpyoptover_laygrpcas, dpyoptover_laygrpbtn[8], dpyoptover_laygrpsep,
       dpyoptover_laygrpbtn_new, dpyoptover_laygrpbtn_del, dpyoptover_laygrptxt;
void   dpyoptover_laygrppdw_cbf();
void   dpyoptover_laygrpbtn_new_cbf();
void   dpyoptover_laygrpbtn_del_cbf();
void   dpyoptover_laygrptxt_cbf();

EXTERN XsFLB* dpyoptover_laygrp_del;
void   dpyoptover_laygrp_delflb_cbf();

EXTERN Widget dpyoptover_laygrp_new_pop;
void   dpyoptover_laygrp_new_pop_cbf();


EXTERN Widget dpyoptover_scrwnd, dpyoptover_scrwndfrm;
EXTERN Widget dpyoptover_layertgl[32];
void dpyoptover_layertgl_cbf();



EXTERN Widget dpyopt_okbtn, dpyopt_applybtn, 
       dpyopt_applyallbtn, dpyopt_cancelbtn; 
void  dpyopt_okbtn_cbf();
void  dpyopt_applybtn_cbf(); 
void  dpyopt_applyallbtn_cbf(); 
void  dpyopt_cancelbtn_cbf(); 


void dpyopt_qlmmodecheck(void);
void destroy_dpyopt(void);
void dpyopt_options( char *sptr_a, UINT4 ilen_a );
void dpyopt_update_overlays_btns(void);
void dpyoptprod_poverlist( char *sptr_a, UINT4 ilen_a );

/* TABULTATIONS Menu
*/
EXTERN Widget tab_main_c;
EXTERN Widget tab_mainbar;
EXTERN Widget tab_filebtn, tab_filepdw;
EXTERN Widget tab_printpdw;
EXTERN Widget tab_lst;

void tab_file_cbf(Widget wgt,int idx_a, XmPushButtonCallbackStruct* cbd);



/* OUTPUT Options
*/

void outopt_create_menu(void);
void outopt_unmanage_menu(void);


/* VVP OUTPUT Options
*/
void vvpopt_options( const char *sptr_a, UINT4 ilen_a );

EXTERN Widget vvpopt_main_c;
EXTERN Widget vvpopt_mainbar;
EXTERN Widget vvpopt_filebtn,  vvpopt_filepdw;
EXTERN Widget vvpopt_stylebtn, vvpopt_stylepdw;
EXTERN Widget vvpopt_cmdsbtn,  vvpopt_cmdspdw;
EXTERN Widget vvpopt_helpbtn,  vvpopt_helppdw;
void  vvpopt_file_cbf();
void  vvpopt_style_cbf();
void  vvpopt_cmds_cbf();
void  vvpopt_help_cbf();

EXTERN Widget vvpopt_okbtn, vvpopt_applybtn;
EXTERN Widget vvpopt_cancelbtn, vvpopt_defltbtn; 
void  vvpopt_okbtn_cbf();
void  vvpopt_applybtn_cbf();
void  vvpopt_cancelbtn_cbf();
void  vvpopt_defltbtn_cbf();

void vvpopt_graphs_manage_frm(void);
void vvpopt_graphs_set_params(void);

void vvpopt_timehgt_manage_frm(void);
void vvpopt_timehgt_set_params(void);

/* OUTPUT OPTIONS VVP Graphs
*/
EXTERN Widget vvpopt_graphs_frm;
EXTERN Widget vvpopt_graphs_lab;

EXTERN Widget vvpopt_graphs_wndspeedtgl, vvpopt_graphs_wndspeedlab;
EXTERN Widget vvpopt_graphs_wndspeedtxt, vvpopt_graphs_wndspeedlab1;
EXTERN Widget vvpopt_graphs_wnddirtgl,   vvpopt_graphs_wnddirlab;
EXTERN Widget vvpopt_graphs_wnddirtxt,   vvpopt_graphs_wnddirlab1;
EXTERN Widget vvpopt_graphs_divergtgl,   vvpopt_graphs_diverglab;
EXTERN Widget vvpopt_graphs_divergtxt,   vvpopt_graphs_diverglab1;
EXTERN Widget vvpopt_graphs_vertveltgl,  vvpopt_graphs_vertvellab;
EXTERN Widget vvpopt_graphs_vertveltxt,  vvpopt_graphs_vertvellab1;
EXTERN Widget vvpopt_graphs_deformtgl,   vvpopt_graphs_deformlab;
EXTERN Widget vvpopt_graphs_deformtxt,   vvpopt_graphs_deformlab1;
EXTERN Widget vvpopt_graphs_axdiltgl,    vvpopt_graphs_axdillab;
EXTERN Widget vvpopt_graphs_axdiltxt,    vvpopt_graphs_axdillab1;
EXTERN Widget vvpopt_graphs_reflecttgl,  vvpopt_graphs_reflectlab;
EXTERN Widget vvpopt_graphs_reflecttxt,  vvpopt_graphs_reflectlab1;
EXTERN Widget vvpopt_graphs_hgtspnlab,   vvpopt_graphs_hgtspntxt;
EXTERN Widget vvpopt_graphs_stddevlab,   vvpopt_graphs_stddevtxt;
void vvpopt_graphs_tgl_cbf();
void vvpopt_graphs_txt_cbf();

EXTERN int vvpopt_graphs_total_sel;


/* OUTPUT OPTIONS VVP Time height
*/
EXTERN Widget vvpopt_timehgt_frm;

EXTERN Widget vvpopt_timehgt_clrundrlab;
EXTERN Widget vvpopt_timehgt_clrundropt, vvpopt_timehgt_clrundrbtns[5];
EXTERN Widget vvpopt_timehgt_ovrpltlab;
EXTERN Widget vvpopt_timehgt_ovrpltopt, vvpopt_timehgt_ovrpltbtns[4];
EXTERN Widget vvpopt_timehgt_sep;
EXTERN Widget vvpopt_timehgt_timespnlab,   vvpopt_timehgt_timespntxt;
EXTERN Widget vvpopt_timehgt_hgtspnlab,    vvpopt_timehgt_hgtspntxt;
EXTERN Widget vvpopt_timehgt_timesteplab,  vvpopt_timehgt_timesteptxt;
EXTERN Widget vvpopt_timehgt_hgtsteplab,   vvpopt_timehgt_hgtsteptxt;
EXTERN Widget vvpopt_timehgt_stddevlab,    vvpopt_timehgt_stddevtxt;
void vvpopt_timehgt_clrundropt_cbf();
void vvpopt_timehgt_ovrpltopt_cbf();
void vvpopt_timehgt_timespntxt_cbf();
void vvpopt_timehgt_hgtspntxt_cbf();
void vvpopt_timehgt_timesteptxt_cbf();
void vvpopt_timehgt_hgtsteptxt_cbf();
void vvpopt_timehgt_stddevtxt_cbf();

/* WIND OUTPUT OPTIONS 
*/
EXTERN Widget wndopt_main_c;
EXTERN Widget wndopt_mainbar;
EXTERN Widget wndopt_filebtn,  wndopt_filepdw;
EXTERN Widget wndopt_cmdsbtn,  wndopt_cmdspdw;
EXTERN Widget wndopt_helpbtn,  wndopt_helppdw;
void  wndopt_file_cbf();
void  wndopt_cmds_cbf();
void  wndopt_options( char *sptr_a, UINT4 ilen_a );
void  wndopt_help_cbf();

EXTERN Widget wndopt_submeanwndlab;
EXTERN Widget wndopt_submeanwndopt, wndopt_submeanwndbtns[2];
EXTERN Widget wndopt_wnddpystylelab;
EXTERN Widget wndopt_wnddpystyleopt, wndopt_wnddpystylebtns[2];
EXTERN Widget wndopt_strlenlab, wndopt_strlentxt;
EXTERN Widget wndopt_areathreshlab, wndopt_areathreshtxt;
EXTERN Widget wndopt_hgtlab, wndopt_hgttxt, wndopt_hgtscl;
EXTERN Widget wndopt_okbtn, wndopt_applybtn, wndopt_cancelbtn, wndopt_defltbtn; 

void wndopt_submeanwndopt_cbf();
void wndopt_wnddpystyleopt_cbf();
void wndopt_strlentxt_cbf();
void wndopt_strlen_sensitive(int lsensitive);
void wndopt_areathreshtxt_cbf();
void wndopt_hgtscl_cbf();
void wndopt_okbtn_cbf();
void wndopt_applybtn_cbf();
void wndopt_cancelbtn_cbf();
void wndopt_defltbtn_cbf();

EXTERN SINT4 wndopt_imax_num_layers;
EXTERN SINT4 wndopt_ilayer_step;
EXTERN SINT4 wndopt_iheight_bottom;
EXTERN SINT4 wndopt_icur_layer_idx;
void wndopt_updatescale(SINT4 isize_a, SINT4 iscale_a, SINT4 ihgt_a );
void wndopt_getnewlayer(UINT4 up_down);

/* CATCH Options */
EXTERN Widget catchopt_main_c;
EXTERN Widget catchopt_nameslab;
EXTERN Widget catchopt_namesopt, catchopt_namesbtns[2];
EXTERN Widget catchopt_stylelab;
EXTERN Widget catchopt_styleopt, catchopt_stylebtns[2];
EXTERN Widget catchopt_cancelbtn;
void   catchopt_namesopt_cbf();
void   catchopt_styleopt_cbf();
void   catchopt_cancelbtn_cbf();
void   catchopt_maxtxt_cbf();
void   catchopt_unmanage_menu(void);
void   destroy_catchopt(void);                         

/* Color Options
*/
void color_create_menu();
void color_unmanage_menu();
EXTERN Widget coloropt_main_c;
EXTERN Widget coloropt_mainbar;
EXTERN Widget coloropt_filebtn,  coloropt_filepdw;
EXTERN Widget coloropt_cmdsbtn,  coloropt_cmdspdw;
EXTERN Widget coloropt_helpbtn,  coloropt_helppdw;

void  coloropt_file_cbf();
void  coloropt_cmds_cbf();
void  coloropt_help_cbf();
void  coloropt_options( char *sptr_a, UINT4 ilen_a );

EXTERN Widget coloropt_lab;
EXTERN Widget coloropt_datatypelab;
EXTERN Widget coloropt_datatypeopt, coloropt_datatypebtns[SERVER_DTYPE_COUNT];
EXTERN Widget coloropt_defltlab;
EXTERN Widget coloropt_defltopt, coloropt_defltbtns[2];
EXTERN Widget coloropt_dpyuntslab, coloropt_dpyuntstxt;
EXTERN Widget coloropt_palettelab;
EXTERN Widget coloropt_paletteopt, coloropt_palettebtns[COLOR_SET_COUNT+1];
EXTERN Widget coloropt_scalelab;
EXTERN Widget coloropt_scaleopt, coloropt_scalebtns[10];
EXTERN Widget coloropt_lvlsnumlab;
EXTERN Widget coloropt_lvlsnumopt, coloropt_lvlsnumbtns[16];
EXTERN Widget coloropt_startlab, coloropt_starttxt, coloropt_steptxt;

void coloropt_datatypeopt_cbf();
void coloropt_defltopt_cbf();
void coloropt_paletteopt_cbf();
void coloropt_scaleopt_cbf();
void coloropt_lvlsnumopt_cbf();
void coloropt_leglabopt_cbf();
void coloropt_starttxt_cbf();
void coloropt_steptxt_cbf();
void coloropt_datatype_sensitive(int lsensitive);
void coloropt_deflt_sensitive(int lsensitive);
void coloropt_lvls_sensitive(int lsensitive);

EXTERN Widget coloropt_okbtn, coloropt_applybtn, coloropt_cancelbtn; 
void  coloropt_okbtn_cbf();
void  coloropt_applybtn_cbf(); 
void  coloropt_cancelbtn_cbf(); 

#ifdef __cplusplus
}
#endif

#undef EXTERN
#endif
