diff --git a/ve/velib.h b/ve/velib.h index 82126866b..e7c944d0e 100755 --- a/ve/velib.h +++ b/ve/velib.h @@ -904,6 +904,7 @@ public: static bool ss_notify(TSheet_field& ss, int r, KEY key); static bool ss_handler(TMask_field& f, KEY key); virtual void user_set_handler( int fieldid, int index); + virtual void user_set_row_handler(TMask& rm, int field, int index); void reset_masks(const TString& tipo_doc); TVariable_mask* riga_mask(int numriga); diff --git a/ve/velib06.cpp b/ve/velib06.cpp index d4939a4a7..227373821 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -1023,6 +1023,10 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga) if (m == NULL) { m = new TVariable_mask(name); + m->set_handler(FR_TIPORIGA, tipo_riga_handler); + m->set_handler( FR_QTA, qta_handler ); + m->set_handler( FR_UMQTA, um_handler ); + m->set_handler( FR_DATACONS, dcons_handler); _maskriga.add(name, m); @@ -1032,16 +1036,12 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga) const int numhandler = pro.get_int( "NHANDLER", "HANDLERS" ); for(int i = 1; i <= numhandler; i++) { - TString8 chiave; chiave.format("%d", i ); + TString8 chiave;chiave.format("%d", i ); TToken_string riga(pro.get(chiave, "HANDLERS")); - row_set_handler( *m, riga.get_int(0), riga.get_int(1) ); + user_set_row_handler( *m, riga.get_int(0), riga.get_int(1) ); } - - m->set_handler(FR_TIPORIGA, tipo_riga_handler); - m->set_handler( FR_QTA, qta_handler ); - m->set_handler( FR_UMQTA, um_handler ); - m->set_handler( FR_DATACONS, dcons_handler); - TList_field & htr = lfield(F_LBTIPORIGA); + + TList_field & htr = lfield(F_LBTIPORIGA); const TString codes(htr.get_codes()); const TString values(htr.get_values()); diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index 35877316c..33fb6d07b 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -68,12 +68,9 @@ bool numdocrif_hndl( TMask_field& field, KEY key ) } } return true; - - } bool totdoc_hndl( TMask_field& field, KEY key ) - { if (key == K_ENTER) { @@ -350,42 +347,32 @@ bool data_hndl( TMask_field& field, KEY key ) return true; } -// handler delle righe - -void row_set_handler( TMask& m, const int field, const int index) +// handler di campi delle maschere di riga +void TDocumento_mask::user_set_row_handler(TMask& rm, int field, int index) { - switch ( index ) + switch (index) { - case 1: - m.set_handler( field, pricerange_handler); - break; - case 2: - m.set_handler( field, dummy_hndl ); - break; - case 3: - if (field == FR_CODART) - m.set_handler( field, search_price_handler ); - break; - case 4: - if (field == FR_CODART) - m.set_handler( field, find_price_handler ); - break; - case 5: - if (field == FR_CODART) - m.set_handler( field, link_row_handler ); - break; - case 6: - m.set_handler( field, evasion_check_handler ); - break; - default: - yesnofatal_box( false, "Funzione di handler sulla riga non definita( %d ).", index ); - break; + case 1: rm.set_handler( field, pricerange_handler ); break; + case 2: rm.set_handler( field, dummy_hndl ); break; + case 3: + if (field == FR_CODART) + rm.set_handler( field, search_price_handler ); + break; + case 4: + if (field == FR_CODART) + rm.set_handler( field, find_price_handler ); + break; + case 5: + if (field == FR_CODART) + rm.set_handler( field, link_row_handler ); + break; + case 6: rm.set_handler( field, evasion_check_handler ); break; + default: + break; } - - } -HIDDEN TString16 curr_um; +HIDDEN TString4 curr_um; HIDDEN real curr_fc = UNO; bool iva_handler( TMask_field& f, KEY key )