Corretto mancato aggiornamento dopo edit della maschera di un sheet

git-svn-id: svn://10.65.10.50/trunk@1278 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-04-20 08:43:28 +00:00
parent b4beb3da06
commit 5508bd1bc7

View File

@ -10,12 +10,6 @@ const short FIRST_FIELD = 101;
#include <xil.h> #include <xil.h>
#include <colors.h> #include <colors.h>
extern "C"
{
#include <cpb.h>
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TSpreadsheet // TSpreadsheet
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
@ -213,7 +207,7 @@ TSpreadsheet::TSpreadsheet(short x, short y, short dx, short dy,
0, 0, rct.bottom-rct.top, 0, 0, rct.bottom-rct.top,
XI_ATR_ENABLED | XI_ATR_VISIBLE, XI_ATR_ENABLED | XI_ATR_VISIBLE,
NORMAL_COLOR, NORMAL_BACK_COLOR, // normal NORMAL_COLOR, NORMAL_BACK_COLOR, // normal
NORMAL_COLOR, MASK_BACK_COLOR, // disabled NORMAL_COLOR, DISABLED_BACK_COLOR, // disabled
COLOR_RED, // active COLOR_RED, // active
LIST_CID); LIST_CID);
listdef->v.list->sizable_columns = TRUE; listdef->v.list->sizable_columns = TRUE;
@ -384,7 +378,7 @@ void TSpreadsheet::update_rec(int rec)
{ {
XI_OBJ row; XI_OBJ row;
XI_MAKE_ROW(&row, _list, riga); XI_MAKE_ROW(&row, _list, riga);
xi_cell_request(&row); // Update internal values xi_cell_request(&row); // Update internal values
if (_update) if (_update)
xi_set_row_height(&row, CHARY+1); // Force row updating xi_set_row_height(&row, CHARY+1); // Force row updating
} }
@ -420,9 +414,11 @@ void TSpreadsheet::set_focus_cell(int riga, int colonna)
int TSpreadsheet::insert(int rec) int TSpreadsheet::insert(int rec)
{ {
const int r = _str.insert(new TToken_string(80), rec); if (items() >= 999)
return -1;
const int r = _str.insert(new TToken_string(80), rec);
const bool ok = notify(r, K_INS); const bool ok = notify(r, K_INS);
if (!ok) if (!ok)
@ -1147,7 +1143,9 @@ void TSpreadsheet::str2mask(int riga)
{ {
TMask_field& f = sheet_mask().fld(i); TMask_field& f = sheet_mask().fld(i);
const short id = f.dlg(); const short id = f.dlg();
if (id >= FIRST_FIELD && (f.active() || f.ghost())) if (id >= FIRST_FIELD &&
f.class_id() != CLASS_BUTTON_FIELD &&
(f.active() || f.ghost()))
{ {
if (f.has_check()) if (f.has_check())
f.check(STARTING_CHECK); f.check(STARTING_CHECK);
@ -1194,9 +1192,7 @@ KEY TSpreadsheet::edit(int n, KEY tasto)
if (k == K_ENTER) if (k == K_ENTER)
{ {
#if XVT_OS != XVT_OS_WIN
mask2str(n); mask2str(n);
#endif
} else } else
if (k == K_DEL) if (k == K_DEL)
{ {