Correzione MI3381. Aggiunti i metodi get_fink_mode() e set_fink_mode(),
per settare il tipo di fincatura sulla stampante. E' stato introdotto un flag aggiuntivo, _fink_mode, per la stampa delle linee (fincatura nel caso degli EC/solleciti), per non alterare i valori di _isgraphics. E' quindi ora possibile fare le linee in modo testo indipendentemente dal settaggio di _isgraphics. Ovviamente se _isgraphics non e' settato le linee eventualmente tracciate in modo grafico saranno fatte in modo testo. git-svn-id: svn://10.65.10.50/trunk@4437 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c4a26ad0d5
commit
2e9e8948ec
@ -283,7 +283,7 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
||||
TToken_string tt;
|
||||
TFilename bmp;
|
||||
|
||||
if (!_isgraphics && _finker == NULL)
|
||||
if (!_fink_mode && _finker == NULL)
|
||||
_finker = new TPrint_intersector(_fink, _formlen);
|
||||
else if (_finker)
|
||||
_finker->clear();
|
||||
@ -334,7 +334,7 @@ void TPrinter::parse_background(const char* bg_desc, TArray& background)
|
||||
read_int (bg_desc, x2, cnt);
|
||||
read_int (bg_desc, y2, cnt);
|
||||
cnt++; // skip separator
|
||||
if (_isgraphics)
|
||||
if (_isgraphics && _fink_mode)
|
||||
{
|
||||
tt << op;
|
||||
tt.add (x1 - 1);
|
||||
@ -1109,8 +1109,8 @@ TPrinter::TPrinter()
|
||||
#else
|
||||
_isgraphics = FALSE;
|
||||
#endif
|
||||
|
||||
_finker = _isgraphics ? NULL : new TPrint_intersector(_fink, _formlen);
|
||||
set_fink_mode(TRUE);
|
||||
_finker = _isgraphics && _fink_mode ? NULL : new TPrint_intersector(_fink, _formlen);
|
||||
}
|
||||
|
||||
bool TPrinter::isfax() const
|
||||
@ -1591,6 +1591,24 @@ bool TPrinter::printfooter()
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @mfunc Permette di settare il tipo di fincatura
|
||||
void TPrinter::set_fink_mode(
|
||||
bool f) // @parm Indica il tipo di fincatura:
|
||||
//
|
||||
// @flag TRUE | Fincatura di tipo grafico
|
||||
// @flag FALSE | Fincatura di tipo testo
|
||||
|
||||
// @comm Viene prima controllato che la stampante supporti la modalita' grafica,
|
||||
// in tal caso, se viene impostato il flag a TRUE e la stampante e' generica
|
||||
// oppure non ha il flag di stampa elementi grafici attivato, la fincatura sara'
|
||||
// in modo testo.
|
||||
{
|
||||
_fink_mode = f;
|
||||
if (_fink_mode && (is_generic() || !_isgraphics)) _fink_mode = FALSE;
|
||||
}
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @mfunc Permette di saltare alcune righe dalla posizione corrente
|
||||
//
|
||||
// @rdesc Ritorna il risulato dell'operazione:
|
||||
@ -1598,7 +1616,7 @@ bool TPrinter::printfooter()
|
||||
// @flag TRUE | Se e' riuscito a saltare le righe
|
||||
// @flag FALSE | Se non e' riuscito a saltare le righe
|
||||
bool TPrinter::skip(
|
||||
int linestoskip) // @parm Vengono accettai solo valori positivi
|
||||
int linestoskip) // @parm Vengono accettati solo valori positivi
|
||||
|
||||
// @xref <mf TPrinter::jump>
|
||||
{
|
||||
|
@ -351,6 +351,9 @@ class TPrinter : public TObject
|
||||
// @cmember:(INTERNAL) Caratteri per fincatura
|
||||
char _fink[11];
|
||||
|
||||
// @cmember:(INTERNAL) Tipo di fincatura (TRUE grafica, FALSE testo)
|
||||
bool _fink_mode;
|
||||
|
||||
// @cmember:(INTERNAL) Fincatore per modo testo
|
||||
TPrint_intersector* _finker;
|
||||
|
||||
@ -531,6 +534,11 @@ public:
|
||||
void set_fincatura(const char* s)
|
||||
{ strncpy(_fink, s, sizeof(_fink)); }
|
||||
|
||||
// @cmember Setta/forza il tipo di fincatura
|
||||
void set_fink_mode(bool f) ;
|
||||
// @cmember Ritorna il tipo di fincatura
|
||||
bool get_fink_mode() { return _fink_mode; }
|
||||
|
||||
// @cmember Ritorna il carattere di fincatura alto-sinistra
|
||||
char f_topleft() const
|
||||
{ return _fink[0]; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user