campo-sirio/ca/ca0500.cpp

69 lines
1.7 KiB
C++
Raw Normal View History

// gestione files Contabilita' Analitica: CENTRI DI COSTO
#include <execp.h>
#include <relapp.h>
#include "calib01.h"
#include "ca0500a.h"
////////////////////////////////////////////////////////////////////////
//MASCHERA
////////////////////////////////////////////////////////////////////////
class TCdC_anal_msk : public TSimple_anal_msk
{
protected:
virtual int get_logicnum() const { return LF_CDC; }
public:
TCdC_anal_msk() { read("ca0500a"); }
};
////////////////////////////////////////////////////////////////////////
//APPLICAZIONE
////////////////////////////////////////////////////////////////////////
// applicazione per la gestione dei Centri di Costo
class TCdC_app : public TAnal_app
{
int _maxlev;
protected:
virtual void init_modify_mode(TMask& mask);
virtual void init_insert_mode(TMask& mask);
virtual TSimple_anal_msk* create_mask() const { return new TCdC_anal_msk; }
virtual bool user_create();
};
void TCdC_app::init_modify_mode(TMask& mask)
{
const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1);
mask.enable(-1, mask.get(id).not_empty());
TAnal_app::init_modify_mode(mask);
}
void TCdC_app::init_insert_mode(TMask& mask)
{
const short id = ((TCdC_anal_msk &)mask).get_field_id(_maxlev - 1, 1);
mask.enable(-1, mask.get(id).not_empty());
TAnal_app::init_insert_mode(mask);
}
bool TCdC_app::user_create()
{
const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_CDC);
_maxlev = mci.levels();
if (_maxlev <= 0)
return error_box(TR("I centri di costo non sono stati configurati"));
return TAnal_app::user_create();
}
int ca0500(int argc, char* argv[])
{
TCdC_app a;
a.run(argc, argv, TR("Centri di Costo"));
return 0;
}