#include #include #include "cgtbtra.h" class Tabtra_application : public Tab_application { private: TMask* _msk; TString _tabname; public: virtual bool check_autorization() const { return false; } virtual bool user_create(); virtual void init_query_mode(TMask&); virtual void init_modify_mode(TMask&); virtual void init_insert_mode(TMask&); }; HIDDEN bool ultimo_handler(TMask& m, KEY k) { if (k == K_SHIFT+K_F12) { m.enable(F_NUMULTRAS); m.enable(F_DATAULTRAS); } return TRUE; } HIDDEN bool dittaric_handler(TMask_field& f, KEY k) { if (k == K_TAB) { TMask& m = f.mask(); bool show_cfc = false; bool show_pcc = false; const long codditta = m.get_long(F_CODDITTARIC); if (codditta > 0) { if (!prefix().exist(codditta)) { f.error_box(TR("La ditta selezionata non e' abilitata per la contabilita'")); return false; } TFilename path = firm2dir(codditta); path.add("ditta.ini"); TConfig conf(path, "cg"); show_cfc = conf.get_bool("AnCfCm"); show_pcc = conf.get_bool("PcTcCm"); } // Accendi i campi per le forzature sui file in comune se necessario m.show(F_AGGPCONCOM, show_pcc); m.show(F_AGGCLIFOCOM, show_cfc); } return true; } void Tabtra_application::init_query_mode(TMask& m) { m.disable(F_NUMULTRAS); m.disable(F_DATAULTRAS); } void Tabtra_application::init_modify_mode(TMask& m) { m.disable(F_NUMULTRAS); m.disable(F_DATAULTRAS); } void Tabtra_application::init_insert_mode(TMask& m) { m.disable(F_NUMULTRAS); m.disable(F_DATAULTRAS); } bool Tabtra_application::user_create() { Tab_application::user_create(); open_files(LF_TABCOM, LF_TAB, 0); _msk = get_mask(); _tabname = get_tabname(); if (_tabname == "%TRA") { _msk->set_handler(ultimo_handler); _msk->set_handler(F_CODDITTARIC, dittaric_handler); } return TRUE; } int cg6300(int argc, char* argv[]) { Tabtra_application* a = new Tabtra_application; a->run(argc,argv, TR("Tabelle")); delete a; return 0; }