1995-01-12 18:36:44 +00:00
|
|
|
#include <execp.h>
|
|
|
|
#include <tabapp.h>
|
1996-11-12 14:53:09 +00:00
|
|
|
#include <tabutil.h>
|
|
|
|
#include <utility.h>
|
|
|
|
|
|
|
|
// @cmember Costruttore
|
|
|
|
Tab_application::Tab_application()
|
|
|
|
: _msk(NULL), _rel(NULL)
|
|
|
|
{ }
|
|
|
|
|
|
|
|
// @cmember Distruttore
|
|
|
|
Tab_application::~Tab_application()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
// @cmember Indica se la futura <mf Tab_application::get_mask> ritornera' una maschera diversa
|
|
|
|
// dalla corrente.
|
|
|
|
bool Tab_application::changing_mask(int mode)
|
|
|
|
{ return FALSE; }
|
|
|
|
|
|
|
|
// @cmember Richiede la maschera da usare
|
|
|
|
TMask* Tab_application::get_mask(int mode)
|
|
|
|
{
|
|
|
|
CHECK(_msk, "Null mask");
|
|
|
|
return _msk;
|
|
|
|
}
|
|
|
|
|
|
|
|
// @cmember Ritorna la relazione da modificare
|
|
|
|
TRelation* Tab_application::get_relation() const
|
|
|
|
{
|
|
|
|
CHECK(_rel, "Null relation");
|
|
|
|
return _rel;
|
|
|
|
}
|
1995-01-12 18:36:44 +00:00
|
|
|
|
|
|
|
void Tab_application::print()
|
|
|
|
{
|
1996-11-12 14:53:09 +00:00
|
|
|
TString16 cmd;
|
|
|
|
cmd << "ba3 -1 " << get_tabname();
|
|
|
|
TExternal_app stampa(cmd);
|
1995-01-12 18:36:44 +00:00
|
|
|
stampa.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Tab_application::init_query_mode(TMask& m)
|
|
|
|
{
|
1996-05-24 13:16:57 +00:00
|
|
|
m.enable(-GR_MODIFY_PROTECTED);
|
|
|
|
m.enable(-GR_RECORD_PROTECTED);
|
1995-01-12 18:36:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void Tab_application::init_modify_mode(TMask& m)
|
|
|
|
{
|
1996-05-24 13:16:57 +00:00
|
|
|
m.disable(-GR_MODIFY_PROTECTED);
|
1995-01-12 18:36:44 +00:00
|
|
|
const bool enable = !(_rel->curr().get_bool(FPC));
|
1996-05-24 13:16:57 +00:00
|
|
|
m.enable(-GR_RECORD_PROTECTED,enable);
|
1995-01-12 18:36:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
bool Tab_application::protected_record(TRectype& rec)
|
|
|
|
{
|
|
|
|
return rec.get_bool(FPC);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Tab_application::user_create()
|
|
|
|
{
|
|
|
|
if (argc() < 3)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
_tabname = argv(2);
|
|
|
|
_tabname.upper();
|
1996-11-12 14:53:09 +00:00
|
|
|
_rel = new TRelation(_tabname);
|
1995-01-12 18:36:44 +00:00
|
|
|
|
1996-11-12 14:53:09 +00:00
|
|
|
TString16 t(_tabname);
|
1995-01-12 18:36:44 +00:00
|
|
|
if (t[0] == '%') t.ltrim(1);
|
1996-11-12 14:53:09 +00:00
|
|
|
TString16 m; m << "BATB" << t;
|
1995-01-12 18:36:44 +00:00
|
|
|
_msk = new TMask(m) ;
|
1996-11-12 14:53:09 +00:00
|
|
|
|
|
|
|
const int campi = _msk->fields();
|
|
|
|
for (int i = 0; i < campi; i++)
|
|
|
|
{
|
|
|
|
const TMask_field& f = _msk->fld(i);
|
|
|
|
if (f.in_group(GR_SEARCH))
|
1995-01-12 18:36:44 +00:00
|
|
|
{
|
1996-11-12 14:53:09 +00:00
|
|
|
set_search_field(f.dlg());
|
1995-01-12 18:36:44 +00:00
|
|
|
break;
|
|
|
|
}
|
1996-11-12 14:53:09 +00:00
|
|
|
}
|
1995-01-30 13:46:06 +00:00
|
|
|
|
|
|
|
TFilename rpt("batb"); rpt << t << ".rpt";
|
1996-11-12 14:53:09 +00:00
|
|
|
if (fexist(rpt))
|
|
|
|
enable_menu_item(M_FILE_PRINT);
|
|
|
|
|
|
|
|
const char* title = _msk->get_caption();
|
|
|
|
set_title(title);
|
|
|
|
|
1995-01-12 18:36:44 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Tab_application::user_destroy()
|
|
|
|
{
|
1996-11-12 14:53:09 +00:00
|
|
|
if (_msk) delete _msk;
|
|
|
|
if (_rel) delete _rel;
|
|
|
|
|
1995-01-12 18:36:44 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|