Patch level : 10.0
Files correlati : ve1.exe Ricompilazione Demo : [ ] Commento : 0001643: Gestione campi trasparenti nei report Per quei campi dove non risulta settato il valore dello sfondo (trasparente, pieno, ecc..) metteremo di default pieno. Questo dovrebbe simulare il comportamento del programma prima della modifica. git-svn-id: svn://10.65.10.50/trunk@20498 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2e40621509
commit
18a40d0a62
@ -847,6 +847,14 @@ long TBit_array::first_one() const
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool TBit_array::some_one() const
|
||||
{
|
||||
for (word i = 0; i < _size; i++)
|
||||
if (_bit[i]) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @mfunc Controlla se si tratta di un oggetto valido
|
||||
|
@ -305,6 +305,8 @@ public:
|
||||
long last_one() const;
|
||||
// @cmember Ritorna il numero di 1 presenti nell'array
|
||||
long ones() const;
|
||||
// @cmember C'é almeno un 1
|
||||
bool some_one() const;
|
||||
|
||||
// @cmember Setta ad 1 il bit n-esimo dell'array
|
||||
void set(long n);
|
||||
|
@ -699,18 +699,14 @@ void TReport_section::save(TXmlItem& root) const
|
||||
if (radius() > 0)
|
||||
item.SetAttr("radius", radius());
|
||||
}
|
||||
switch (pattern())
|
||||
|
||||
item.SetAttr("pattern", pattern());
|
||||
if (pattern() == PAT_SPECIAL)
|
||||
{
|
||||
case PAT_HOLLOW:
|
||||
break;
|
||||
case PAT_SPECIAL:
|
||||
item.SetAttr("sh_angle", shade_angle());
|
||||
set_col_attr(item, "sh_color", shade_color(), COLOR_GRAY);
|
||||
// DO NOT break!
|
||||
default :
|
||||
item.SetAttr("pattern", pattern());
|
||||
break;
|
||||
}
|
||||
|
||||
item.SetAttr("hidden", _hidden);
|
||||
item.SetAttr("deactivated", _deactivated);
|
||||
item.SetAttr("hidden_if_needed", hidden_if_needed());
|
||||
@ -762,10 +758,10 @@ void TReport_section::load(const TXmlItem& sec)
|
||||
set_height(get_num_attr(sec, "height"));
|
||||
|
||||
set_border(sec.GetIntAttr("border"));
|
||||
set_pattern((PAT_STYLE)sec.GetIntAttr("pattern", PAT_HOLLOW));
|
||||
set_radius(sec.GetIntAttr("radius"));
|
||||
set_back_color(get_col_attr(sec, "bg_color", COLOR_WHITE));
|
||||
set_fore_color(get_col_attr(sec, "fg_color", COLOR_BLACK));
|
||||
set_pattern((PAT_STYLE)sec.GetIntAttr("pattern", PAT_HOLLOW));
|
||||
if (pattern() == PAT_SPECIAL)
|
||||
{
|
||||
set_shade_color(get_col_attr(sec, "sh_color", COLOR_GRAY));
|
||||
@ -1741,7 +1737,7 @@ const TString& TReport_field::groups() const
|
||||
bool TReport_field::in_group(int group) const
|
||||
{
|
||||
if (group <= 0)
|
||||
return _groups.first_one() > 0;
|
||||
return _groups.some_one();
|
||||
return _groups[group];
|
||||
}
|
||||
|
||||
@ -1775,13 +1771,15 @@ void TReport_field::save(TXmlItem& root) const
|
||||
case 'R': fld.SetAttr("align", "right"); break;
|
||||
case 'J': fld.SetAttr("align", "justify"); break;
|
||||
default : break;
|
||||
};
|
||||
}
|
||||
|
||||
switch (vertical_alignment())
|
||||
{
|
||||
case 'B': fld.SetAttr("valign", "bottom"); break;
|
||||
case 'C': fld.SetAttr("valign", "center"); break;
|
||||
default : break;
|
||||
};
|
||||
}
|
||||
|
||||
if (border() > 0)
|
||||
{
|
||||
fld.SetAttr("border", border());
|
||||
@ -1789,19 +1787,13 @@ void TReport_field::save(TXmlItem& root) const
|
||||
fld.SetAttr("radius", radius());
|
||||
}
|
||||
|
||||
switch (pattern())
|
||||
fld.SetAttr("pattern", pattern());
|
||||
if (pattern() == PAT_SPECIAL)
|
||||
{
|
||||
case PAT_HOLLOW:
|
||||
break;
|
||||
case PAT_SPECIAL:
|
||||
fld.SetAttr("sh_angle", shade_angle());
|
||||
set_col_attr(fld, "sh_color", shade_color(), COLOR_GRAY);
|
||||
// DO NOT break!
|
||||
default :
|
||||
fld.SetAttr("pattern", pattern());
|
||||
fld.SetAttr("shade_offset", shadow_offset());
|
||||
break;
|
||||
}
|
||||
fld.SetAttr("shade_offset", shadow_offset());
|
||||
|
||||
fld.SetAttr("text", picture());
|
||||
fld.SetAttr("codval", codval());
|
||||
@ -1844,7 +1836,7 @@ bool TReport_field::load(const TXmlItem& fld)
|
||||
activate(!fld.GetBoolAttr("deactivated"));
|
||||
hide_zeroes(fld.GetBoolAttr("hide_zero"));
|
||||
set_border(fld.GetIntAttr("border"));
|
||||
set_pattern((PAT_STYLE)fld.GetIntAttr("pattern", PAT_HOLLOW));
|
||||
set_pattern((PAT_STYLE)fld.GetIntAttr("pattern", PAT_SOLID));
|
||||
set_radius(fld.GetIntAttr("radius"));
|
||||
set_shadow_offset(fld.GetIntAttr("shade_offset"));
|
||||
set_back_color(get_col_attr(fld, "bg_color", COLOR_WHITE));
|
||||
|
Loading…
x
Reference in New Issue
Block a user