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
This commit is contained in:
angelo 1996-07-15 07:43:08 +00:00
parent 58f9c5fef6
commit fef71caeea
3 changed files with 31 additions and 22 deletions

View File

@ -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);

View File

@ -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(); }

View File

@ -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