#include <relapp.h>  
#include <msksheet.h>
#include <stdtypes.h>
#include "ba4.h"
#include "ba4100.h"

class TComuni_app : public TRelation_application
{
  TMask * _msk;
  TRelation * _rel;

  virtual bool user_create() ;                         
  virtual bool user_destroy() ; 
  virtual void  init_query_mode(TMask& m);
  virtual void  init_modify_mode(TMask& m);
  virtual void  init_insert_mode(TMask& m) { init_modify_mode(m);}
  virtual bool changing_mask(int mode) { return FALSE;}
  virtual TRelation* get_relation() const { return _rel;}

public:
  virtual TMask* get_mask(int mode) { return _msk;}
  TComuni_app() {}
  virtual ~TComuni_app() {}           
};

void  TComuni_app::init_query_mode(TMask& m)
{
  m.enable(FLD_CM1_DENSTA);
}

void  TComuni_app::init_modify_mode(TMask& m)
{
  m.disable(FLD_CM1_DENSTA);
}

TComuni_app & app() { return (TComuni_app &) main_app(); }

bool TComuni_app::user_create()
{
  _msk = new TMask("ba4100a") ;
  _rel = new TRelation(LF_COMUNI);
  return TRUE;
}

bool TComuni_app::user_destroy()
{
  delete  _msk;
  delete  _rel;                         
  return TRUE;
}

int ba4100(int argc, char* argv[])
{
  TComuni_app a ;
  a.run(argc, argv, "Anagrafica Comuni");
  return 0;
}
