Patch level : 2.1 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento : Migliorata stampa di campi su piu' righe git-svn-id: svn://10.65.10.50/trunk@12173 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
75f854a3a0
commit
0986f0aa0c
@ -374,22 +374,19 @@ void advanced_draw_paragraph(TWindow& win, TString& para, const RCT& rct,
|
||||
char halign, char valign)
|
||||
{
|
||||
const bool acapo = para.find('\n') >= 0;
|
||||
const bool parag = para.find(char(0xB6)) >= 0;
|
||||
|
||||
int leading, ascent, descent;
|
||||
xvt_dwin_get_font_metrics(win.win(), &leading, &ascent, &descent);
|
||||
const int ky = leading + ascent + descent;
|
||||
|
||||
const int rct_height = rct.bottom - rct.top;
|
||||
int rows = rct_height / ky;
|
||||
int rows = (rct_height+ky/2) / ky;
|
||||
|
||||
if (acapo || parag || rows > 1) // Devo scrivere piu' righe?
|
||||
if (acapo || rows > 1) // Devo scrivere piu' righe?
|
||||
{
|
||||
const int kx = xvt_dwin_get_text_width(win.win(), "ABCDEFGH", 8) / 8;
|
||||
const unsigned columns = (rct.right - rct.left) / kx;
|
||||
|
||||
if (parag)
|
||||
para.replace(char('0xB6'), '\n');
|
||||
TParagraph_string str(para, columns);
|
||||
if (str.items() < rows)
|
||||
rows = str.items();
|
||||
@ -1294,6 +1291,13 @@ const TString& TReport_field::formatted_text() const
|
||||
tmp << _picture << ' ' << _var.as_string();
|
||||
return tmp;
|
||||
}
|
||||
if (dynamic_height() && _var.as_string().find(char(0xB6)) >= 0)
|
||||
{
|
||||
TString& tmp = get_tmp_string();
|
||||
tmp = _var.as_string();
|
||||
tmp.replace(char(0xB6), '\n');
|
||||
return tmp;
|
||||
}
|
||||
return _var.as_string();
|
||||
}
|
||||
return EMPTY_STRING;
|
||||
|
@ -905,6 +905,8 @@ bool TBook::print_page(TWindow& win, size_t page)
|
||||
ifs.getline(buffer, str.size());
|
||||
if (str == "</text>")
|
||||
break;
|
||||
if (stringona.not_empty())
|
||||
stringona << '\n';
|
||||
stringona << str;
|
||||
}
|
||||
advanced_draw_paragraph(win, stringona, rct, _horizontal_alignment, _vertical_alignment);
|
||||
|
Loading…
x
Reference in New Issue
Block a user