From e12e580c7379f3e651c545a3dca4c8695d182223 Mon Sep 17 00:00:00 2001 From: luca Date: Tue, 7 Sep 2004 10:56:40 +0000 Subject: [PATCH] Patch level :2.1 108 Files correlati : ba1.exe Ricompilazione Demo : [ ] Commento : AO21038 E' possibile mettere una spunta sulle colonne disabilitate, se cio' accade non si riesce piu' a spuntare le altre colonne. git-svn-id: svn://10.65.10.50/trunk@12294 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/msksheet.cpp | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/include/msksheet.cpp b/include/msksheet.cpp index 5f2bd7ce5..70396ef21 100755 --- a/include/msksheet.cpp +++ b/include/msksheet.cpp @@ -949,7 +949,7 @@ void TSpreadsheet::notify_change() { if (!_row_dirty) { - str2mask(_cur_rec); + str2mask(_cur_rec); _edit_field = cell2field(NULL); // Ricalcola correttamente il campo corrente notify(_cur_rec, K_SPACE); @@ -1226,19 +1226,23 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev) if (xiev->v.select.column > 0) { - TOperable_field* f = col2field(xiev->v.select.column); - if (f && f->active()) + if (!cell_disabled(xiev->v.select.xi_obj->v.row, xiev->v.select.column-1)) + //column-1 perche' la prima colonna e' quella con i numeri d'ordine e vale 0 { - notify_change(); - if (f->get().empty()) - f->set("X"); - else - f->set(""); - f->on_key(K_SPACE); - mask2str(_cur_rec); - on_idle(); - _cell_dirty = FALSE; // Non e' necessario lasciare dirty la cella in quanto mask2str e' gia' fatta - } + TOperable_field* f = col2field(xiev->v.select.column); + if (f && f->active()) + { + notify_change(); + if (f->get().blank()) + f->set("X"); + else + f->set(""); + f->on_key(K_SPACE); + mask2str(_cur_rec); + on_idle(); + _cell_dirty = FALSE; // Non e' necessario lasciare dirty la cella in quanto mask2str e' gia' fatta + } + } } else {