// gestione tabelle passaggio pack #include #include class TMask_tabtp : public TAutomask { protected: bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TMask_tabtp(const char* name); virtual ~TMask_tabtp(); }; TMask_tabtp::TMask_tabtp(const char* name) : TAutomask(name) { } TMask_tabtp::~TMask_tabtp() { } bool TMask_tabtp::on_field_event(TOperable_field& o, TField_event e, long jolly) { return true; } class Tab_app_tp : 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_tp(); virtual ~Tab_app_tp() {} }; HIDDEN inline Tab_app_tp& app() { return (Tab_app_tp&)main_app(); } // costruttore Tab_app_tp::Tab_app_tp() {} TString& Tab_app_tp::get_mask_name(TString& name) const { name = get_tabname(); if (name[0] == '%') name = name.mid(1); name.insert("tptb", 0); return name; } TMask* Tab_app_tp::set_mask(TMask* m) { if (m == NULL) { TFilename name; get_mask_name(name); m = new TMask_tabtp(name); } return TTable_application::set_mask(m); } bool Tab_app_tp::user_create() { bool ok = Tab_application::user_create(); if (ok) { TMask& mask = *set_mask(); } return ok; } bool Tab_app_tp::user_destroy() { return Tab_application::user_destroy(); } int Tab_app_tp::rewrite(const TMask& m) { return Tab_application::rewrite(m); } int tp0200(int argc, char* argv[]) { Tab_app_tp a; a.run(argc, argv, TR("Tabella")); return 0; }