mask.cpp Il bottone destro funziona solo coi campi visibili

msksheet.cpp  Corretta row2mask per i campi multipli


git-svn-id: svn://10.65.10.50/trunk@3997 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-12-12 09:58:02 +00:00
parent ebce31613c
commit 1a87d3753b
2 changed files with 12 additions and 17 deletions

View File

@ -617,7 +617,7 @@ void TMask::handler(WINDOW win, EVENT* ep)
for (int f = fields()-1; f >= 0; f--)
{
TMask_field& cur_fld = fld(f);
if (cur_fld.parent() == win)
if (cur_fld.shown() && cur_fld.parent() == win)
{
RCT rct; cur_fld.get_rect(rct);
if (xvt_rect_has_point(&rct, ep->v.mouse.where))

View File

@ -2384,17 +2384,16 @@ void TSheet_field::row2mask(int n, TToken_string & r)
TMask& m = sheet_mask();
const int campi = m.fields();
const TSpreadsheet& s = (const TSpreadsheet&)*_ctl;
int i; // Conatatore di tutti i cicli successivi
for (int i = 0; i < campi; i++)
{
TMask_field& f = m.fld(i);
const short id = f.dlg();
if (id >= FIRST_FIELD && id <= _last_column_id)
{
const int index = cid2index(id);
val = r.get(index);
for (short id = FIRST_FIELD; id <= _last_column_id; id++)
{
const int index = cid2index(id);
val = r.get(index);
int dlg = id;
for(int pos = m.id2pos(dlg); pos >= 0; pos = m.id2pos(dlg += 100))
{
TMask_field& f = m.fld(pos);
f.set(val);
const bool on = s.active() && !cell_disabled(n, index);
if (f.enabled() != on)
@ -2421,12 +2420,8 @@ void TSheet_field::row2mask(int n, TToken_string & r)
for (i = 0; i < campi; i++)
{
TMask_field& f = m.fld(i);
const short id = f.dlg();
if (id > FIRST_FIELD)
{
if (f.dirty() == TRUE)
f.set_dirty(FALSE);
}
if (f.dirty() == TRUE)
f.set_dirty(FALSE);
}
val.format("Riga %d", n+1);