// gestione tabelle DiTech #include #include #include class TMask_tabdt : public TAutomask { protected: bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TMask_tabdt(const char* name); virtual ~TMask_tabdt(); }; TMask_tabdt::TMask_tabdt(const char* name) : TAutomask(name) { } TMask_tabdt::~TMask_tabdt() { } bool TMask_tabdt::on_field_event(TOperable_field& o, TField_event e, long jolly) { return true; } class Tab_app_dt : public Tab_application { protected: // TRelation_application virtual bool user_destroy() ; virtual bool user_create() ; virtual int rewrite(const TMask& m); virtual TString& get_mask_name(TString& name) const; virtual TMask* set_mask(TMask * m=NULL); public: Tab_app_dt(); virtual ~Tab_app_dt() {} }; HIDDEN inline Tab_app_dt& app() { return (Tab_app_dt&)main_app(); } // costruttore Tab_app_dt::Tab_app_dt() {} TString& Tab_app_dt::get_mask_name(TString& name) const { name = get_tabname(); if (name[0] == '%') name = name.mid(1); name.insert("dttb", 0); return name; } TMask* Tab_app_dt::set_mask(TMask* m) { if (m == NULL) { TFilename name; get_mask_name(name); m = new TMask_tabdt(name); } return TTable_application::set_mask(m); } bool Tab_app_dt::user_create() { bool ok = Tab_application::user_create(); if (ok) { TMask& mask = *set_mask(); } return ok; } bool Tab_app_dt::user_destroy() { return Tab_application::user_destroy(); } int Tab_app_dt::rewrite(const TMask& m) { return Tab_application::rewrite(m); } int dt0100(int argc, char* argv[]) { Tab_app_dt a; a.run(argc, argv, TR("Tabella")); return 0; }