diff --git a/cg/cg0600.cpp b/cg/cg0600.cpp new file mode 100755 index 000000000..7c44afdda --- /dev/null +++ b/cg/cg0600.cpp @@ -0,0 +1,94 @@ +// -------------------------------------------------------------- +// fv: cg0 -5 : gestione maschere contabilita' +// -------------------------------------------------------------- + +#include +#include +#include "../ba/batbesc.h" +#include + +class CGTab_application : public Tab_application +{ + TLocalisamfile* _saldi; + + protected: + +// virtual bool protected_record(TRectype& rec); +// virtual void init_query_mode(TMask& m); + virtual void init_modify_mode(TMask& m); + + virtual bool user_create(); + virtual bool user_destroy(); + + public: + + // ------------- handlers tabella esercizi ---- + static bool escdate_handler(TMask_field&, KEY); + // -------------------------------------------- + + CGTab_application& app() { return (CGTab_application&)main_app(); } + + CGTab_application() : Tab_application() {} + virtual ~CGTab_application() {} +}; + + +// virtual bool protected_record(TRectype& rec); +// virtual void init_query_mode(TMask& m); +void CGTab_application::init_modify_mode(TMask& m) +{ + if (get_tabname() == "ESC") + { + // cerca saldo con questo esercizio + TString cod(m.get(F_ANNO)); + _saldi->zero(); + _saldi->put(SLD_ANNOES, cod); + // se ce n'e' uno non si puo' cancellare + if (_saldi->read() == NOERR) + m.disable(DLG_DELREC); + else m.enable(DLG_DELREC); + } +} + +bool CGTab_application::user_create() +{ + Tab_application::user_create(); + + if (get_tabname() == "ESC") + { + _saldi = new TLocalisamfile(LF_SALDI); + // set handlers + TMask& m = *get_mask(); + m.set_handler(F_DATAINI, escdate_handler); + m.set_handler(F_DATAFIN, escdate_handler); + } + + return TRUE; +} + +bool CGTab_application::user_destroy() +{ + if (get_tabname() == "ESC") + delete _saldi; + + return Tab_application::user_destroy(); +} + + +// -- specifiche per tabella esercizi -------------------------- +bool CGTab_application::escdate_handler(TMask_field&, KEY) +{ + return TRUE; +} +// ------------------------------------------------------------- + +int cg0600(int argc, char* argv[]) +{ + CGTab_application a; + + a.run(argc, argv, "Gestione tabelle contabili"); + return 0; +} + + +