Stam[a riporti a inizio pagina

git-svn-id: svn://10.65.10.50/trunk@2641 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1996-02-26 08:48:36 +00:00
parent 7322aed1ad
commit e2cf62841b

View File

@ -63,8 +63,9 @@ protected:
static void ec_header_handler(TPrinter& p); static void ec_header_handler(TPrinter& p);
static void ec_footer_handler(TPrinter& p); static void ec_footer_handler(TPrinter& p);
public: public:
TTotalizer& totali() { return _totali; } TTotalizer& totali() { return _totali; }
TDecoder& causali() { return _causali; } TDecoder& causali() { return _causali; }
TDecoder& valute() { return _valute; } TDecoder& valute() { return _valute; }
@ -966,7 +967,7 @@ void TEC_form::ultima_pagina()
void TEC_form::ec_header_handler(TPrinter& pr) void TEC_form::ec_header_handler(TPrinter& pr)
{ {
pr.resetheader(); pr.resetheader();
_form->stampa_testata(pr); _form->stampa_testata(pr);
} }
void TEC_form::ec_footer_handler(TPrinter& pr) void TEC_form::ec_footer_handler(TPrinter& pr)
@ -1011,19 +1012,22 @@ bool TEC_form::print_game(const TPartita& game)
{ {
TEC_row& riga = righe.row(r); TEC_row& riga = righe.row(r);
if (pr.rows_left() < body.height()) int a = pr.rows_left(); /* dbg */
int b = body.height(); /* dbg */
if (pr.rows_left() <= (body.height()+1)) // salto pagina
{ {
pr.formfeed(); pr.formfeed();
for (word nr = 0; nr < _num_rip; nr++) for (word nr = 0; nr < _num_rip; nr++)
{ {
TPrintrow* fl = pr.getfooterline(nr + 1); TPrintrow* fl = pr.getfooterline(nr + 1);
CHECKD(fl, "Manca la riga di riporto ", nr + 1); CHECKD(fl, "Manca la riga di riporto ", nr + 1);
pr.print(*fl); pr.print(*fl);
} }
} }
const int ri = riga.riga(); const int ri = riga.riga();
const int ra = riga.rata(); const int ra = riga.rata();
if (ri == ultima_riga && ra == ultima_rata+1) if (ri == ultima_riga && ra == ultima_rata+1)
riga.reset_uguali(); riga.reset_uguali();
ultima_riga = ri; ultima_riga = ri;
@ -1161,7 +1165,7 @@ TEC_form::TEC_form(const TEC_mask& m, bool gesval)
// La prima e l'ultima riga del footer devono essere lasciate libere per la fincatura // La prima e l'ultima riga del footer devono essere lasciate libere per la fincatura
// Ogni totale occupa _total_rows righe: per cui posso calcolare il massimo di totali // Ogni totale occupa _total_rows righe: per cui posso calcolare il massimo di totali
// che posso stampare nel footer. // che posso stampare nel footer.
const word max = (foot.height() - 2) / _total_rows; const word max = (foot.height() - 2) / _total_rows;
if (_maxtot <= 0 || _maxtot > max) if (_maxtot <= 0 || _maxtot > max)
_maxtot = max; _maxtot = max;
} }