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