msksheet.cpp Corrette ricerche

relation.cpp   Corrtto congelamento


git-svn-id: svn://10.65.10.50/trunk@3316 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-08-01 15:55:23 +00:00
parent 161a3afc0f
commit f861502e4a
2 changed files with 29 additions and 23 deletions

View File

@ -857,27 +857,32 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
}
break;
case XIE_BUTTON:
if (xiev->v.xi_obj->type == XIT_CELL)
if (_check_enabled)
{
XI_CELL_DATA& cell = xiev->v.xi_obj->v.cell;
int num;
XI_OBJ** column = xi_get_member_list(_obj, &num);
CHECK(cell.column < num, "Bad column");
int rec = cell.row;
rec = row2rec(rec);
const int col = column[cell.column]->cid - FIRST_FIELD;
if (!cell_disabled(rec, col))
on_idle(); // Termina tutti gli eventuali update in corso
if (xiev->v.xi_obj->type == XIT_CELL)
{
if (xi_move_focus(xiev->v.xi_obj))
dispatch_e_char(parent(), K_F9);
XI_CELL_DATA& cell = xiev->v.xi_obj->v.cell;
int num;
XI_OBJ** column = xi_get_member_list(_obj, &num);
CHECK(cell.column < num, "Bad column");
int rec = cell.row;
rec = row2rec(rec);
const int col = column[cell.column]->cid - FIRST_FIELD;
if (!cell_disabled(rec, col))
{
if (xi_move_focus(xiev->v.xi_obj))
dispatch_e_char(parent(), K_F9);
}
}
else
if (xiev->v.xi_obj->type == XIT_LIST)
{
owner().mask().notify_focus_field(owner().dlg());
insert(-1);
}
}
else
if (xiev->v.xi_obj->type == XIT_LIST)
{
owner().mask().notify_focus_field(owner().dlg());
insert(-1);
}
break;
case XIE_SELECT:
if (xiev->v.xi_obj->type == XIT_ROW)

View File

@ -1078,8 +1078,6 @@ void TCursor::filter(
// @comm ATTENZIONE: non e' possibile filtrare un cursore congelato
{
CHECK(!_frozen, "Impossibile filtrare un cursore congelato");
TString kf(_keyfrom), kto(_keyto);
const bool filterchanged = (fil != NULL) && (_filter != fil);
@ -1104,9 +1102,12 @@ void TCursor::filter(
if (filterchanged || (_keyfrom != kf) || (_keyto != kto))
{
CHECK(!frozen(), "Impossibile filtrare un cursore congelato");
_pos = 0;
_totrec = 0;
_lastrec = 0;
if (filterchanged)
{
_filter = fil;