diff --git a/cg/cg0200.cpp b/cg/cg0200.cpp index 8d7438dc0..b32b6f03c 100755 --- a/cg/cg0200.cpp +++ b/cg/cg0200.cpp @@ -69,11 +69,13 @@ protected: void indsp_pack(); void common_f(const TMask& m); + static bool tipocf_handler(TMask_field& f, KEY key); static bool tipo_handler(TMask_field& f, KEY key); static bool percip_handler(TMask_field& f, KEY key); // static bool fax_handler(TMask_field& f, KEY k); static bool email_handler(TMask_field& f, KEY k); static bool rsoc_handler(TMask_field& f, KEY k); + virtual bool force_cursor_usage() const { return TRUE;} public: // @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata @@ -204,10 +206,7 @@ HIDDEN bool cofi_handler(TMask_field& f, KEY key) TMask& m = f.mask(); if (key == K_ENTER && !f.dirty() && !m.query_mode()) - { ok = ((TEdit_field&)f).validate(key); - f.set_dirty(); - } if (ok && f.to_check(key)) { @@ -230,10 +229,7 @@ HIDDEN bool paiv_handler(TMask_field& f, KEY key) const TMask& m = f.mask(); if (key == K_ENTER && !f.dirty() && !m.query_mode()) - { ok = ((TEdit_field&)f).validate(key); - f.set_dirty(); - } if (ok && f.to_check(key) && m.get(F_ALLEG) != "4") ok = no_dup_iva(f, key); @@ -241,6 +237,14 @@ HIDDEN bool paiv_handler(TMask_field& f, KEY key) return ok; } +bool TClifo_application::tipocf_handler(TMask_field& f, KEY key) +{ + if (key == K_TAB && f.focusdirty()) + app().set_limits(); + + return TRUE; +} + bool TClifo_application::tipo_handler(TMask_field& f, KEY key) { TMask& m = f.mask(); @@ -813,6 +817,7 @@ bool TClifo_application::user_create() // initvar e arrmask _msk = new TMask("cg0200a") ; + _msk->set_handler(F_TIPOCF, tipocf_handler); _msk->set_handler(F_OCCASIONALE, occas_handler); _msk->set_handler(F_COFI, cofi_handler); _msk->set_handler(F_PAIV, paiv_handler);