#include <relapp.h>  

#include "ba4.h"
#include "ba4100.h"

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

protected:
  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;}
  virtual TMask* get_mask(int mode) { return _msk;}

public:
  TComuni_app() : _msk(NULL), _rel(NULL) { }
  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()
{
  _rel = new TRelation(LF_COMUNI);
  _msk = new TMask("ba4100a") ;
  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, TR("Anagrafica Comuni"));
  return 0;
}