// gestione files Contabilita' Analitica: CENTRI DI COSTO #include #include #include #include #include #include "tc0800a.h" //////////////////////////////////////////////////////////////////////// //MASCHERA //////////////////////////////////////////////////////////////////////// class TTS_ricl_msk : public TAutomask { virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TTS_ricl_msk() : TAutomask("tc0800a") {} }; bool TTS_ricl_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case F_CONTO: break; default: break; } return true; } class TTSRiclass_application : public TRelation_application // @author:(INTERNAL) Vari // @access:(INTERNAL) Private Member { // @cmember:(INTERNAL) Maschera corrente dell'applicazione TMask* _msk; // @cmember:(INTERNAL) Relazione corrente dell'applicazione TRelation* _rel; bool _use_pcn; // @access Protected Member protected: virtual TMask* get_mask(int mode = MODE_QUERY) { CHECK(_msk, "Null mask"); return _msk; } // @cmember Indica se la futura ritornera' una maschera diversa // dalla corrente. virtual bool changing_mask(int mode) { return false; } // @cmember Ritorna la relazione da modificare virtual TRelation* get_relation() const { CHECK(_rel, "Null relation"); return _rel; } // @cmember Inizializza la maschera per il modo ricerca virtual void init_query_mode(TMask& m); // @cmember Inizializza la maschera per il modo ricerca ed inserimento (chiama ) virtual void init_query_insert_mode(TMask& m) ; // @cmember Inizializza la maschera per il modo inserimento virtual void init_insert_mode(TMask& m); // @cmember Inizializza la maschera per il modo modifica virtual void init_modify_mode(TMask& m); // @cmember Inizializzazione dei dati dell'utente virtual bool user_create() ; // @cmember Distruzione dei dati dell'utente virtual bool user_destroy() ; // @cmember Chiama il programma di stampa virtual void print(); // @access Public Member public: // @cmember Costruttore TTSRiclass_application() : _msk(NULL), _rel(NULL) { } // @cmember Distruttore virtual ~TTSRiclass_application() {} }; void TTSRiclass_application::print() { TFilename rep("tctsricl.rep"); TString cmd; rep.custom_path(); cmd << "ba8 -4 "<< rep; TExternal_app stampa(cmd); stampa.run(); } void TTSRiclass_application::init_query_mode(TMask& m) { TRelation_application::init_query_mode(m); m.show(-1, _use_pcn); m.enable(-1, _use_pcn); m.show(-20, !_use_pcn); m.hide(-2); m.disable(-2); m.disable(-10); } void TTSRiclass_application::init_query_insert_mode(TMask& m) { TRelation_application::init_query_insert_mode(m); m.hide(-1); m.disable(-1); m.show(-20, !_use_pcn); m.show(-2, _use_pcn); m.enable(-2, _use_pcn); m.enable(-10, _use_pcn); } void TTSRiclass_application::init_modify_mode(TMask& m) { TRelation_application::init_modify_mode(m); m.show(-1, _use_pcn); m.show(-20, !_use_pcn); m.disable(-1); m.hide(-2); m.disable(-10); } void TTSRiclass_application::init_insert_mode(TMask& m) { TRelation_application::init_insert_mode(m); m.show(-1, _use_pcn); m.show(-20, !_use_pcn); m.disable(-1); m.hide(-2); m.disable(-2); m.disable(-10); } bool TTSRiclass_application::user_create() { _rel = new TRelation(LF_RICLPDC); _msk = new TTS_ricl_msk; TConfig config(CONFIG_DITTA); _use_pcn = config.get_bool("TSUSECMPCN"); _msk->show(-10, _use_pcn); _msk->show(-20, !_use_pcn); set_search_field(_use_pcn ? F_SOTTOCONTO : F_SOTTOCONTO1); TFilename rep("tctsricl.rep"); if (rep.custom_path()) enable_menu_item(M_FILE_PRINT); TString title; _msk->get_caption(title); set_title(title); return true; } bool TTSRiclass_application::user_destroy() { if (_msk) delete _msk; if (_rel) delete _rel; return true; } int tc0800(int argc, char* argv[]) { TTSRiclass_application a; a.run(argc, argv, TR("Riclassificazione piano dei conti Team System")); return 0; }