mask.cpp Azzerato anche focusdirty e non solo dirty in reset della maschera

msksheet.cpp Forzato update in reset dello spreadsheet


git-svn-id: svn://10.65.10.50/trunk@2181 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-11-21 08:27:37 +00:00
parent f00c721229
commit 199ef85a71
2 changed files with 8 additions and 4 deletions

View File

@ -1126,12 +1126,12 @@ void TMask::show_page(int p)
void TMask::reset(short fld_id) void TMask::reset(short fld_id)
{ {
if (fld_id < 1) if (fld_id <= 0)
{ {
for (int f = 0; f < fields(); f++) for (int f = 0; f < fields(); f++)
{ {
TMask_field& c = fld(f); TMask_field& c = fld(f);
c._flags.dirty = FALSE; c._flags.dirty = c._flags.focusdirty = FALSE;
c.reset(); c.reset();
} }
} }

View File

@ -1014,9 +1014,12 @@ void TSpreadsheet::list_handler(XI_EVENT *xiev)
{ {
case E_FOCUS: case E_FOCUS:
if (_check_enabled && ep->v.active == FALSE) if (_check_enabled && ep->v.active == FALSE)
{ {
if (!mask().is_running())
_row_dirty = _cell_dirty = FALSE;
const bool ok = (bool)xi_move_focus(_itf); const bool ok = (bool)xi_move_focus(_itf);
if (!ok && mask().is_running()) if (!ok)
{ {
set_dirty(3); set_dirty(3);
xiev->refused = TRUE; xiev->refused = TRUE;
@ -1737,6 +1740,7 @@ void TSheet_field::reset()
{ {
_sheet->destroy(); _sheet->destroy();
_sheet->sheet_mask().reset(); _sheet->sheet_mask().reset();
force_update();
} }
// Certified 100% // Certified 100%