*** empty log message ***

git-svn-id: svn://10.65.10.50/trunk@2497 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-01-23 15:39:27 +00:00
parent 2a68fcd129
commit f66055f624

View File

@ -348,8 +348,8 @@ TSpreadsheet::TSpreadsheet(
RCT rct = resize_rect(x, y, dx, dy, WO_TE, parent); RCT rct = resize_rect(x, y, dx, dy, WO_TE, parent);
#ifndef XI_FU_MULTIPLE #ifndef XI_FU_MULTIPLE
// rct.bottom -= 12 ; rct.bottom -= 12 ;
// rct.right -= 28; rct.right -= 28;
#endif #endif
if ((f_width+max_width)*CHARX > rct.right) if ((f_width+max_width)*CHARX > rct.right)
@ -1777,6 +1777,17 @@ bool TSpreadsheet::notify(int rec, KEY k)
return ok; return ok;
} }
HIDDEN void enable_mask_fields(TMask& m, bool on)
{
for (int i = m.fields()-1; i >= 0; i--)
{
TMask_field& f = m.fld(i);
if (f.dlg() >= FIRST_FIELD && f.enabled_default())
f.enable(on);
}
}
// Certified 99% // Certified 99%
#if XVT_OS != XVT_OS_WIN #if XVT_OS != XVT_OS_WIN
KEY TSpreadsheet::edit(int n, KEY tasto) KEY TSpreadsheet::edit(int n, KEY tasto)
@ -1819,35 +1830,47 @@ KEY TSpreadsheet::edit(int n, KEY tasto)
} }
else else
k = sheet_mask().run();
if (k == K_ENTER)
{ {
mask2str(n); if (!active()) // Se lo sheet e' read only ...
} enable_mask_fields(sheet_mask(), FALSE); // ... disabilita tutti i campi
else
k = sheet_mask().run(); // Esegue la maschera dello sheet
if (!active()) // Se lo sheet e' read only ...
enable_mask_fields(sheet_mask(), TRUE); // ... riabilita tutti i campi
}
if (active)
{ {
if (k == K_DEL) if (k == K_ENTER)
{ {
const bool ok = notify(n, K_DEL); // Notifica intenzione di cancellare mask2str(n);
if (ok)
{
destroy(n);
if (n < items())
str2mask(n);
notify(n, K_CTRL+K_DEL); // Notifica l'avvenuta cancellazione
}
} }
else else
if (k == K_ESC) {
{ if (k == K_DEL)
{
const bool ok = notify(n, K_DEL); // Notifica intenzione di cancellare
if (ok)
{
destroy(n);
if (n < items())
str2mask(n);
notify(n, K_CTRL+K_DEL); // Notifica l'avvenuta cancellazione
}
}
else
if (k == K_ESC)
{
#if XVT_OS == XVT_OS_WIN #if XVT_OS == XVT_OS_WIN
str2mask(n); str2mask(n); // Ripristina valori precedenti
#else #else
if (tasto == K_INS) destroy(n); if (tasto == K_INS) destroy(n);
#endif #endif
} }
} }
}
return k; return k;
} }