campo-sirio/include/tabapp.cpp
guy bf819df0be PORTING alla versione 4.56 di XVT piu' altre f...te
applicat.cpp  Aggiornata alla 4.5 la gestione dei 3d controls,
              corretto routing di certi E_COMMAND
              corretta gestione title di XVT_CONFIG
controls.cpp  Intercettati eventi XIE_COLMOVE e XIE_COLSIZE
              intrappolato bottone sinistro del mouse e ignorati gli altri
config.cpp    Migliorata gestione paragrafi con righe vuote
              probabile ottimizzazione del reperimento delle variabili
config.h      Tolto un CAZZ di Ferdinando
colors.cpp    Creato per gestire scelta colori
colors.h      Aggiunta funzione di conversione colori
mask.cpp      Gestione popup menu
sheet.cpp     Salvataggio colonne
msksheet.cpp  Salvataggio colonne e colorazione righe
printer.cpp   Migliorato riconoscimento fax e calcolo dimensioni foglio
tabapp.cpp    Ora prima creo la relazione e poi la maschera principale
xvtility.cpp  Aggiornata la gestione dei controlli 3D di Windows
mask.h        Aggiunto metodo per avere il numero della sottomaschera


git-svn-id: svn://10.65.10.50/trunk@3890 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-11-12 14:53:09 +00:00

103 lines
2.0 KiB
C++
Executable File

#include <execp.h>
#include <tabapp.h>
#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;
}
void Tab_application::print()
{
TString16 cmd;
cmd << "ba3 -1 " << get_tabname();
TExternal_app stampa(cmd);
stampa.run();
}
void Tab_application::init_query_mode(TMask& m)
{
m.enable(-GR_MODIFY_PROTECTED);
m.enable(-GR_RECORD_PROTECTED);
}
void Tab_application::init_modify_mode(TMask& m)
{
m.disable(-GR_MODIFY_PROTECTED);
const bool enable = !(_rel->curr().get_bool(FPC));
m.enable(-GR_RECORD_PROTECTED,enable);
}
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();
_rel = new TRelation(_tabname);
TString16 t(_tabname);
if (t[0] == '%') t.ltrim(1);
TString16 m; m << "BATB" << t;
_msk = new TMask(m) ;
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))
{
set_search_field(f.dlg());
break;
}
}
TFilename rpt("batb"); rpt << t << ".rpt";
if (fexist(rpt))
enable_menu_item(M_FILE_PRINT);
const char* title = _msk->get_caption();
set_title(title);
return TRUE;
}
bool Tab_application::user_destroy()
{
if (_msk) delete _msk;
if (_rel) delete _rel;
return TRUE;
}