#include #include #include #include #include #include #include #include "..\ba\batbtra.h" class Tabtra_application : public Tab_application { private: TMask* _msk; TString _tabname; public: bool user_create(); virtual void init_query_mode(TMask&); virtual void init_modify_mode(TMask&); virtual void init_insert_mode(TMask&); Tabtra_application() {} virtual ~Tabtra_application() {} }; HIDDEN inline Tabtra_application& app() {return (Tabtra_application&) main_app();} 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 ditta_handler(TMask_field& f, KEY k) { if (k == K_TAB) { long codditta = f.mask().get_long(F_CODDITTARIC); if (codditta != 0) { if (prefix().exist(codditta)) return TRUE; else { f.error_box("La ditta selezionata non e' abilitata per la contabilita' "); return FALSE; } } } 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(); _msk = get_mask(); _tabname = get_tabname(); if (_tabname == "%TRA") { _msk->set_handler(ultimo_handler); _msk->set_handler(F_CODDITTARIC, ditta_handler); } return TRUE; } cg6300(int argc, char* argv[]) { Tabtra_application* a= new Tabtra_application; a->run(argc,argv, "Tabelle"); delete a; return 0; }