campo-sirio/co/co0500.cpp

116 lines
2.4 KiB
C++
Raw Normal View History

// gestione anagrafica mercati cooperative
#include <automask.h>
#include <execp.h>
#include <relapp.h>
#include <pconti.h>
#include <recarray.h>
#include "co0500a.h"
////////////////////////////////////////////////////////////////////////
//MASCHERA
////////////////////////////////////////////////////////////////////////
class TCoop_mercati_msk : public TAutomask
{
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TCoop_mercati_msk() : TAutomask("co0500a") {}
};
bool TCoop_mercati_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
return true;
}
class TCoop_mercati_application : public TRelation_application
{
TCoop_mercati_msk* _msk;
TRelation* _rel;
protected:
virtual TMask* get_mask(int mode = MODE_QUERY) { CHECK(_msk, "Null mask"); return _msk; }
virtual bool changing_mask(int mode) { return false; }
virtual TRelation* get_relation() const { CHECK(_rel, "Null relation"); return _rel; }
virtual void init_query_mode(TMask& m);
virtual void init_query_insert_mode(TMask& m);
virtual void init_insert_mode(TMask& m);
virtual void init_modify_mode(TMask& m);
void show_mercato(TMask& m, const bool show = true);
virtual bool user_create() ;
virtual bool user_destroy() ;
public:
TCoop_mercati_application() : _msk(NULL), _rel(NULL) { }
virtual ~TCoop_mercati_application() {}
};
void TCoop_mercati_application::show_mercato(TMask& m, const bool show)
{
if (show)
{
m.show(-1);
m.hide(-2);
//m.enable(-1);
//m.disable(-2);
}
else
{
m.show(-2);
m.hide(-1);
//m.enable(-2);
//m.disable(-1);
}
}
void TCoop_mercati_application::init_query_mode(TMask& m)
{
show_mercato(m);
}
void TCoop_mercati_application::init_query_insert_mode(TMask& m)
{
show_mercato(m, false);
}
void TCoop_mercati_application::init_insert_mode(TMask& m)
{
show_mercato(m, false);
}
void TCoop_mercati_application::init_modify_mode(TMask& m)
{
show_mercato(m);
}
bool TCoop_mercati_application::user_create()
{
_rel = new TRelation(LF_MERCATICOOP);
_msk = new TCoop_mercati_msk;
TString title;
_msk->get_caption(title);
set_title(title);
return true;
}
bool TCoop_mercati_application::user_destroy()
{
if (_msk)
delete _msk;
if (_rel)
delete _rel;
return true;
}
int co0500(int argc, char* argv[])
{
TCoop_mercati_application a;
a.run(argc, argv, TR("Anagrafica mercati"));
return 0;
}