Patch level : 1.7 at

Files correlati     : at5.exe
Ricompilazione Demo : [ ]
Commento            : stampa turni per controlli, adeguato alle etichette su piu' colonne


git-svn-id: svn://10.65.10.50/trunk@13811 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2006-02-23 14:22:10 +00:00
parent 805c73bad0
commit 7a9b8019a4

View File

@ -63,7 +63,7 @@ class TTurniControlli : public TPrintapp
TString16 _codsez, _codsot, _orario, _datacart; TString16 _codsez, _codsot, _orario, _datacart;
TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4; TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4;
TString80 _note, _intest1, _intest2, _intest3, _intest4; TString80 _note, _intest1, _intest2, _intest3, _intest4;
int _etlarghezza, _etcolonne; int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette;
int _caxpag, _cabordoini, _cabordofin, _ncartoline; int _caxpag, _cabordoini, _cabordofin, _ncartoline;
static bool filter_func_turnicon(const TRelation* rel); static bool filter_func_turnicon(const TRelation* rel);
@ -257,7 +257,7 @@ bool TTurniControlli::preprocess_page(int file, int counter)
if (printer().rows_left() < 4) if (printer().rows_left() < 4)
printer().formfeed(); printer().formfeed();
} }
if (_tipostampa==etichette) if (_tipostampa==etichette && _etrighe == 0)
if (printer().rows_left() < _form_eti->get_body().height()) if (printer().rows_left() < _form_eti->get_body().height())
printer().formfeed(); printer().formfeed();
_contatore++; _contatore++;
@ -330,14 +330,35 @@ void TTurniControlli::set_page(int file, int cnt)
case etichette: case etichette:
{ {
TPrint_section& corpo = _form_eti->get_body(); TPrint_section& corpo = _form_eti->get_body();
corpo.update(); for (int r=1;r<=_etcolonne;r++)
for (word i = 0; i < corpo.height(); i++) {
{ if (current_cursor()->pos()<current_cursor()->items())
TPrintrow& riga = corpo.row(i); {
set_row(i+1,riga); _netichette++;
force_setpage(TRUE);
corpo.update();
int nriga = 1;
if (_etrighe > 0)
{
int resto = _netichette % (_etrighe*_etcolonne);
if (resto > 0 && resto <= _etcolonne)
nriga = nriga+_etbordoini;
}
for (word i = 0; i < corpo.height(); i++)
{
TPrintrow& riga = corpo.row(i);
TString256 riga1 = riga.row();
riga1.cut(_etlarghezza);
int colonna = ((r-1)*_etlarghezza);
TString16 formato;
formato << '@' << colonna << "g";
riga1.insert(formato,0);
set_row(nriga++,riga1);
}
if (r < _etcolonne)
++(*current_cursor());
}
} }
force_setpage(TRUE); // serve perchè alla prossima etichetta rifaccia la setpage
// altrimenti stampa sempre la stessa etichetta
} }
break; break;
case elenco: case elenco:
@ -500,7 +521,8 @@ bool TTurniControlli::set_print(int)
_datafin = _msk->get_date(F_DATAFIN); _datafin = _msk->get_date(F_DATAFIN);
_contatore = 0; _contatore = 0;
_totale = 0; _totale = 0;
_ncartoline = 0; _ncartoline = 0;
_netichette = 0;
reset_files(); reset_files();
add_file(LF_SOGGETTI); add_file(LF_SOGGETTI);
filtra_sezioni(); filtra_sezioni();
@ -588,6 +610,9 @@ bool TTurniControlli::user_create()
TString16 etformato = config.get("EtFormato"); TString16 etformato = config.get("EtFormato");
_etlarghezza = config.get_int("EtLarghezza"); _etlarghezza = config.get_int("EtLarghezza");
_etcolonne = config.get_int("EtColonne"); _etcolonne = config.get_int("EtColonne");
_etrighe = config.get_int("EtRighe");
_etbordoini = config.get_int("EtBordoIni");
_etbordofin = config.get_int("EtBordoFin");
_form_eti = new TEti_turnicon_form(etformato); _form_eti = new TEti_turnicon_form(etformato);
TString16 caformato = config.get("CaFormato"); TString16 caformato = config.get("CaFormato");