Possibilita' di settare la maschera dall'esterno

(permette di definire la maschera di una classe derivata dalla
TMask)


git-svn-id: svn://10.65.10.50/trunk@4222 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-03-19 08:18:54 +00:00
parent b3848fbeed
commit 00b0f2b8c2
2 changed files with 39 additions and 9 deletions

View File

@ -57,6 +57,33 @@ bool Tab_application::protected_record(TRectype& rec)
return rec.get_bool(FPC);
}
TString Tab_application::mask_name()
{
TString16 t(_tabname);
if (t[0] == '%') t.ltrim(1);
TString16 m; m << "batb" << t;
return m.upper();
}
TMask * Tab_application::set_mask(TMask * _m)
{
if (_m!=NULL)
{
// imposta la maschera come maschera della applicazione
if (_msk!=NULL)
delete _msk;
_msk=_m;
} else {
// alloca la maschera standard come maschera della applicazione
_msk = new TMask((const char *)mask_name()) ;
}
return _msk;
}
bool Tab_application::user_create()
{
if (argc() < 3)
@ -65,11 +92,9 @@ bool Tab_application::user_create()
_tabname = argv(2);
_tabname.upper();
_rel = new TRelation(_tabname);
TString16 t(_tabname);
if (t[0] == '%') t.ltrim(1);
TString16 m; m << "BATB" << t;
_msk = new TMask(m) ;
set_mask();
const int campi = _msk->fields();
for (int i = 0; i < campi; i++)
@ -82,13 +107,12 @@ bool Tab_application::user_create()
}
}
TFilename rpt("batb"); rpt << t << ".rpt";
TFilename rpt(mask_name()); rpt << ".rpt";
if (fexist(rpt))
enable_menu_item(M_FILE_PRINT);
const char* title = _msk->get_caption();
set_title(title);
return TRUE;
}

View File

@ -19,7 +19,6 @@
class Tab_application : public TRelation_application
// @author:(INTERNAL) Nicola
// @access:(INTERNAL) Private Member
{
// @cmember:(INTERNAL) Maschera corrente dell'applicazione
@ -28,9 +27,10 @@ class Tab_application : public TRelation_application
TRelation* _rel;
// @cmember:(INTERNAL) Nome della tabella da utilizzare
TString _tabname;
// @access Protected Member
protected:
// @cmember Richiede se il record corrente e' protetto (non cancellabile)
virtual bool protected_record(TRectype& rec);
// @cmember Richiede la maschera da usare
@ -50,6 +50,12 @@ protected:
virtual bool user_destroy() ;
// @cmember Chiama il programma di stampa
virtual void print();
// Nuovi membri:
// @cmember Ritorna il nome della maschera associata
virtual TString mask_name();
// @cmember imposta la maschera (se non indicata, usa le convenzioni di default) ed eventualmente disalloca quella usata in precedenza
virtual TMask * set_mask(TMask * mask=NULL);
// @access Public Member
public: