From fef71caeeaaf7b4622b46f4cea0a716484ca6aa3 Mon Sep 17 00:00:00 2001 From: angelo Date: Mon, 15 Jul 1996 07:43:08 +0000 Subject: [PATCH] Correzione errori Mi6018, MI6019 (MI6020 gia' correttoda Guy in libreria). Risistemata la maschera di selezione: ora il pulsante di selezione e' gestito come handler. git-svn-id: svn://10.65.10.50/trunk@3187 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg4300.cpp | 46 +++++++++++++++++++++++++++------------------- cg/cg4300.h | 1 + cg/cg4300a.uml | 6 +++--- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/cg/cg4300.cpp b/cg/cg4300.cpp index 528f40616..c4dce9ced 100755 --- a/cg/cg4300.cpp +++ b/cg/cg4300.cpp @@ -616,6 +616,23 @@ bool TLiquidazione_app::lst_tm_handler(TMask_field& f, KEY key) return TRUE; } +bool TLiquidazione_app::select_button(TMask_field& f, KEY key) +{ + if (key == K_SPACE) + { + app()._ditte->enable_check(); + // seleziona e aggiungi alle gia' selezionate + if (app()._ditte->run() == K_ENTER) + { + const long itms = app()._ditte->items(); + for (long j = 0l; j < itms; j++) + app()._selected.set(j, app()._ditte->checked(j)); + app().set_choice_limits(f.mask()); + } + } + return TRUE; +} + void TLiquidazione_app::reset_choices(TMask& m) { _selected.reset(); @@ -663,8 +680,14 @@ void TLiquidazione_app::build_ditte_sheet(wht what) d->insert(" |", 0); const long pos = _ditte->add(d); - if (unselectable) _ditte->disable_row(pos); - else if (_selected[i]) _ditte->check(pos); + if (unselectable) + _ditte->disable_row(pos); + else + { + _ditte->enable_row(pos); + if (_selected[i]) + _ditte->check(pos); + } } } @@ -681,7 +704,7 @@ bool TLiquidazione_app::set_liquidazione() m.set_handler(CG43_FLD_ANNO, ch_year_handler); m.set_handler(CG43_LST_MESE, lst_tm_handler); m.set_handler(CG43_LST_TRIM, lst_tm_handler); - + m.set_handler(CG43_BUT_SEL, select_button); m.field(CG43_FLD_SELECTED).set(format("%ld",_selected.ones())); m.field(CG43_FLD_ANNO).set(_year); @@ -716,23 +739,8 @@ bool TLiquidazione_app::set_liquidazione() // ------------------------------------------------ //m.first_focus(k); - switch(k) - { - case DLG_SELECT: - _ditte->enable_check(); - // seleziona e aggiungi alle gia' selezionate - if (_ditte->run() == K_ENTER) - { - for (long j = 0l; j < _ditte->items(); j++) - _selected.set(j, _ditte->checked(j)); - set_choice_limits(m); - } - break; - - case CG43_BUT_ANN: + if (k == CG43_BUT_ANN) reset_choices(m); - break; - } } while (k != K_ENTER && k != K_ESC); diff --git a/cg/cg4300.h b/cg/cg4300.h index 45a7a7444..8d35a174f 100755 --- a/cg/cg4300.h +++ b/cg/cg4300.h @@ -335,6 +335,7 @@ protected: static bool fr_ditt_handler(TMask_field& f, KEY key); static bool what_freq_handler(TMask_field& f, KEY key); static bool lst_tm_handler(TMask_field& f, KEY key); + static bool select_button(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 11da10696..0008c8a82 100755 --- a/cg/cg4300a.uml +++ b/cg/cg4300a.uml @@ -36,11 +36,11 @@ BEGIN FLAGS "DR" END -BUTTON DLG_SELECT 10 2 +BUTTON CG43_BUT_SEL 10 2 BEGIN PROMPT 48 2 "~Selezione" - HELP "Selezione ditte di cui fare la liquidazione" - MESSAGE EXIT, DLG_SELECT + PICTURE BMP_SELECT + HELP "Selezione ditte di cui fare la liquidazione" END BUTTON CG43_BUT_ANN 10