Aggiunta la gestione dei campi TLoadable

git-svn-id: svn://10.65.10.50/trunk@4383 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-05-23 14:03:43 +00:00
parent 3fdd1b2259
commit ca93963091

View File

@ -1278,7 +1278,6 @@ void TMask::show(
}
// @doc EXTERNAL
// @mfunc Rimette lo stato di default del campo
void TMask::show_default(
short fld_id) // @parm Identificatore del campo da risettare (default -1)
@ -1299,8 +1298,8 @@ void TMask::autoload(const TRelation& r)
for (int i = 0; i < max; i++)
{
TMask_field& f = fld(i);
if (f.is_editable())
((TEditable_field&)f).autoload(r);
if (f.is_loadable())
((TLoadable_field&)f).autoload(r);
}
}
@ -1311,25 +1310,23 @@ void TMask::autosave(TRelation& r) const
for (int i = 0; i < max; i++)
{
TMask_field& f = fld(i);
if (f.is_editable())
if (f.is_loadable())
{
TEditable_field& e = (TEditable_field&)f;
if (e.field() != NULL)
TLoadable_field& l = (TLoadable_field&)f;
bool save = f.shown();
if (!save && f.is_editable())
{
bool save = f.shown();
if (!save)
{
//in questo modo si autorovinava il contenuto
//del campo a maschera
//e.autoload(r);
//save = e.empty();
TString str;
str = e.field()->read(r);
save = str.empty();
}
if (save)
e.autosave(r);
// tenta di effettuare il save dei campi Edit hidden:
// salva il nuovo valore solo se il precedente era blank
TEditable_field& e = (TEditable_field&)f;
if (e.field() != NULL) {
TString str;
str = l.field()->read(r);
save = str.empty();
}
}
if (save)
l.autosave(r);
}
}
}