From 1bd1b6ce77a0a9e146b47aae708424ccc7f666e6 Mon Sep 17 00:00:00 2001 From: angelo Date: Tue, 11 Nov 1997 10:19:39 +0000 Subject: [PATCH] Aggiunto handler sul checkbox per eseguire solo la stampa: non deve abilitare il ricalcolo nel caso sia selezionata l'annuale e viceversa non si deve abilitare il list_box nel caso si cambi mese ma sia richiesta la sola stampa senza ricalcolo. git-svn-id: svn://10.65.10.50/trunk@5589 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg4300.cpp | 20 +++++++++++++++++++- cg/cg4300.h | 1 + cg/cg4300a.uml | 8 ++------ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/cg/cg4300.cpp b/cg/cg4300.cpp index 55b3d94d1..05b0123eb 100755 --- a/cg/cg4300.cpp +++ b/cg/cg4300.cpp @@ -673,7 +673,9 @@ bool TLiquidazione_app::lst_tm_handler(TMask_field& f, KEY key) msk.field(CG43_LST_CALC).disable(); } else - msk.field(CG43_LST_CALC).enable(); + // Abilita il ricalcolo solo se non e' richiesta esplicitamente la sola stampa + if (!msk.get_bool(CG43_CHK_FINAL)) + msk.field(CG43_LST_CALC).enable(); const bool change = (app()._month != 13 && m == 13) || (app()._month == 13 && m != 13); if (change) @@ -714,6 +716,20 @@ bool TLiquidazione_app::reset_button(TMask_field& f, KEY key) return TRUE; } +bool TLiquidazione_app::chk_final_handler(TMask_field& f, KEY key) +{ + if (key == K_SPACE) + { + TMask& m = f.mask(); + // Abilita solo se il mese di ricalcolo e' != 13 (annuale) e non e' checkkato il campo + int vers = m.get_int(CG43_RDB_VERS); + int mese = vers == 3 ? m.get_int(CG43_LST_TRIM) : m.get_int(CG43_LST_MESE); + const bool abilita = !m.get_bool(CG43_CHK_FINAL) && mese != 13; + m.enable(CG43_LST_CALC, abilita); + } + return TRUE; +} + void TLiquidazione_app::reset_choices(TMask& m) { _selected.reset(); @@ -789,6 +805,8 @@ bool TLiquidazione_app::set_liquidazione() m.set_handler(CG43_LST_TRIM, lst_tm_handler); m.set_handler(CG43_BUT_SEL, select_button); m.set_handler(CG43_BUT_ANN, reset_button); + m.set_handler(CG43_CHK_FINAL, chk_final_handler); + m.field(CG43_FLD_SELECTED).set(format("%ld",_selected.ones())); m.field(CG43_FLD_ANNO).set(_year); diff --git a/cg/cg4300.h b/cg/cg4300.h index a4e34ab7a..004e65657 100755 --- a/cg/cg4300.h +++ b/cg/cg4300.h @@ -391,6 +391,7 @@ protected: static bool lst_tm_handler(TMask_field& f, KEY key); static bool select_button(TMask_field& f, KEY key); static bool reset_button(TMask_field& f, KEY key); + static bool chk_final_handler(TMask_field& f, KEY key); static TLiquidazione_app& app() { return (TLiquidazione_app&)main_app(); } diff --git a/cg/cg4300a.uml b/cg/cg4300a.uml index bc003ab8a..bb4e36577 100755 --- a/cg/cg4300a.uml +++ b/cg/cg4300a.uml @@ -4,7 +4,6 @@ PAGE "Calcolo Liquidazioni" -1 -1 68 15 RADIOBUTTON CG43_RDB_VERS 16 BEGIN PROMPT 4 1 "Versamenti" - HELP "Indicare di quali versamenti procedere con la liquidazione" ITEM "1|Tutti" MESSAGE HIDE,CG43_LST_TRIM|SHOW,CG43_LST_MESE ITEM "2|Mensili" MESSAGE HIDE,CG43_LST_TRIM|SHOW,CG43_LST_MESE ITEM "3|Trimestrali" MESSAGE SHOW,CG43_LST_TRIM|HIDE,CG43_LST_MESE @@ -100,7 +99,6 @@ END BOOLEAN CG43_CHK_STAMPA BEGIN PROMPT 5 11 "Esegui " - HELP "Indicare se stampare il prospetto delle liquidazioni" MESSAGE TRUE ENABLE,CG43_FLD_DATA MESSAGE FALSE DISABLE,CG43_FLD_DATA END @@ -109,7 +107,6 @@ END DATE CG43_FLD_DATA BEGIN PROMPT 18 11 "con data " - HELP "Data di stampa del prospetto delle liquidazioni" FLAGS "A" END @@ -117,9 +114,8 @@ END BOOLEAN CG43_CHK_FINAL BEGIN PROMPT 45 11 "Solo stampa" - HELP "Indicare se si desidera la sola stampa delle liquidazioni calcolate" - MESSAGE TRUE DISABLE,CG43_LST_CALC - MESSAGE FALSE ENABLE,CG43_LST_CALC +// MESSAGE TRUE DISABLE,CG43_LST_CALC +// MESSAGE FALSE ENABLE,CG43_LST_CALC END