#include #include #include "cg0.h" #include "cg0300.h" class CG0300_application : public TRelation_application { TMask* _msk; TRelation *_rel; 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;} virtual void init_query_mode(TMask& m); virtual void init_query_insert_mode(TMask& m); virtual void init_modify_mode(TMask& m); virtual void init_insert_mode(TMask& m) { init_modify_mode(m); } public: CG0300_application() {} }; void CG0300_application::init_query_mode(TMask& m) { disable_menu_item(M_FILE_NEW); m.show(-1); m.hide(-2); } void CG0300_application::init_query_insert_mode(TMask& m) { disable_menu_item(M_FILE_NEW); m.hide(-1); m.show(-2); m.enable(-3); } void CG0300_application::init_modify_mode(TMask& m) { m.disable(-3); } bool CG0300_application::user_create() { open_files(LF_ALLEG, LF_NDITTE, LF_ATTIV, LF_CLIFO, 0); _msk = new TMask("cg0300a") ; _rel = new TRelation(LF_ALLEG); const long codditta = get_firm(); TString16 key ; key << codditta; const TRectype & ditta = cache().get(LF_NDITTE, key); _msk->set(F_CODDITTA, codditta); if (!ditta.empty()) _msk->set(F_CODATT, ditta.get(N_CODATTPREV)); return TRUE; } bool CG0300_application::user_destroy() { delete _msk; delete _rel; return TRUE; } int cg0300(int argc, char* argv[]) { CG0300_application a; a.run(argc, argv, TR("Immissione progressivi allegati")); return 0; }