#include "DRW/drwwh.h"
#include "DRW/drwWxdata.h"
#ifndef wimp_H
 #include "OSLib/wimp.h"
#endif

#ifndef drwautofnh_H
 #include "DRW/drwautofnh.h"
#endif
#ifndef drw_u_trdf_H
 #include "drwUTrdf.h"
#endif
#include "bartmplrg/barw.h"


#if defined NAMESPACE_DRWIMPC
 using namespace DrWimpC;
#endif

#if defined NAMESPACE_OSLIB
 using namespace OSLib;
#endif

extern void bartmpl_barw_reg(char *extpathname)

{

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "NONE",
                     (drw_fn_ptr) &bartmpl_barw_pwc,
                     DRW_PRE_WCR_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "NONE",
                     (drw_fn_ptr) &bartmpl_barw_mid,
                     DRW_MENU_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "NONE",
                     (drw_fn_ptr) &bartmpl_barw,
                     DRW_MOUSECLICK_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject[1]",
                     NULL,
                     DRW_NO_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject_ini,
                     DRW_INIT_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject_nul,
                     DRW_NULL_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject_msl,
                     DRW_MSL_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject_mid,
                     DRW_MENU_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject_mop,
                     DRW_MENUOPEN_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "barobject",
                     (drw_fn_ptr) &bartmpl_barw_barobject,
                     DRW_MOUSECLICK_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "nudgeup",
                     (drw_fn_ptr) &bartmpl_barw_nudgeup,
                     DRW_MOUSECLICK_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "nudgeup",
                     (drw_fn_ptr) &bartmpl_barw_nudgeup_mid,
                     DRW_MENU_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "nudgedown",
                     (drw_fn_ptr) &bartmpl_barw_nudgedown,
                     DRW_MOUSECLICK_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "scuttest",
                     (drw_fn_ptr) &bartmpl_barw_scuttest_kpr,
                     DRW_KEYPR_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "scuttest",
                     (drw_fn_ptr) &bartmpl_barw_scuttest_kpr,
                     DRW_KEYPR_AUTOFN,
                     NULL);

drw_reg_icon_whan_fn((wimp_w) -1,
                     (wimp_i) -1,
                     extpathname,
                     "bartmpl",
                     "barw",
                     "NONE",
                     (drw_fn_ptr) &bartmpl_barw_ini,
                     DRW_INIT_AUTOFN,
                     NULL);

}




extern void *bartmpl_barw_ini(drw_wimp_data *wpwd,
                              int objectid,
                              wimp_w whan,
                              wimp_i icon,
                              int occno,
                              int userwincode)

{

bar_bartmpl_barw_data *bar_data;
int i;

if ((bar_data = (bar_bartmpl_barw_data *) drw_mem_alloc(
          sizeof(bar_bartmpl_barw_data),
     (drw_mem_flags) 0,
    (drwGP) 0,
    NULL)))
 {
  for (i = 0; i < bar_barw_bar_barw_num_barobject; i++)
   bar_data->barobject[i] = drw_get_initfn_data(wpwd, "barobject", i + 1);

 }

return (void *) bar_data;

}




extern bar_bartmpl_barw_data *bar_bartmpl_barw_get_wdata(wimp_w whan)

{

return (bar_bartmpl_barw_data  *) drw_get_whan_data(whan);
}

