1994-08-12 10:52:49 +00:00
|
|
|
#include <relapp.h>
|
|
|
|
#include <stdtypes.h>
|
|
|
|
#include <lffiles.h>
|
|
|
|
#include "ba4.h"
|
|
|
|
#include "ba4400.h"
|
|
|
|
|
|
|
|
class BA4400_application : public TRelation_application
|
|
|
|
{
|
1994-12-02 13:11:00 +00:00
|
|
|
TMask* _msk;
|
|
|
|
TRelation* _rel;
|
|
|
|
TLocalisamfile* _anag;
|
|
|
|
TLocalisamfile* _ditte;
|
1994-08-12 10:52:49 +00:00
|
|
|
|
1994-12-02 13:11:00 +00:00
|
|
|
bool user_create() ;
|
|
|
|
bool user_destroy() ;
|
|
|
|
virtual TMask* get_mask(int mode) { return _msk;}
|
|
|
|
virtual bool changing_mask(int mode) { return FALSE;}
|
|
|
|
virtual TRelation* get_relation() const { return _rel;}
|
1994-08-12 10:52:49 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
BA4400_application() {}
|
|
|
|
virtual ~BA4400_application() {}
|
|
|
|
};
|
|
|
|
|
1994-12-02 13:11:00 +00:00
|
|
|
HIDDEN bool clear_cap(TMask_field& f, KEY key)
|
|
|
|
{
|
1996-05-16 09:18:18 +00:00
|
|
|
if (!f.mask().query_mode() && key == K_TAB)
|
|
|
|
{
|
|
|
|
TMask& msk = f.mask() ;
|
|
|
|
const TString16 val(f.get());
|
|
|
|
const bool com_ulc = f.dlg() == FLD_UL1_COMULC;
|
1994-12-02 13:11:00 +00:00
|
|
|
|
1996-05-16 09:18:18 +00:00
|
|
|
if (val.empty())
|
|
|
|
{
|
|
|
|
msk.set(com_ulc ? FLD_UL1_CAPULC : FLD_UL2_CAPTRIB, "", TRUE);
|
|
|
|
if (com_ulc)
|
|
|
|
{
|
|
|
|
msk.reset(-7);
|
|
|
|
msk.set(FLD_UL1_COMULC_COMUNI_PROVCOM, "", TRUE);
|
|
|
|
}
|
|
|
|
msk.set(com_ulc ? FLD_UL1_COMULC_COMUNI_DENCOM : FLD_UL2_COMTRIB_COMUNI_DENCOM, "", TRUE);
|
|
|
|
}
|
|
|
|
}
|
1994-12-02 13:11:00 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1994-08-12 10:52:49 +00:00
|
|
|
bool BA4400_application::user_create()
|
|
|
|
{
|
|
|
|
_msk = new TMask("ba4400a") ;
|
1994-12-02 13:11:00 +00:00
|
|
|
_msk->set_handler(FLD_UL1_COMULC, clear_cap);
|
|
|
|
_msk->set_handler(FLD_UL2_COMTRIB, clear_cap);
|
|
|
|
_rel = new TRelation(LF_UNLOC) ;
|
|
|
|
_anag = new TLocalisamfile(LF_ANAG) ;
|
|
|
|
_ditte = new TLocalisamfile(LF_NDITTE) ;
|
|
|
|
set_search_field(FLD_UL1_CODULC);
|
|
|
|
return TRUE;
|
1994-08-12 10:52:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
bool BA4400_application::user_destroy()
|
|
|
|
{
|
|
|
|
delete _msk;
|
1994-12-02 13:11:00 +00:00
|
|
|
delete _rel;
|
|
|
|
delete _anag;
|
|
|
|
delete _ditte;
|
|
|
|
return TRUE;
|
1994-08-12 10:52:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int ba4400(int argc, char* argv[])
|
|
|
|
{
|
1994-12-02 13:11:00 +00:00
|
|
|
|
1994-08-12 10:52:49 +00:00
|
|
|
BA4400_application a;
|
|
|
|
a.run(argc, argv, "Anagrafica Unita' Locali");
|
|
|
|
return 0;
|
|
|
|
}
|