Aggiunta richiesta maschera se non specificata sulla riga di comando

git-svn-id: svn://10.65.10.50/trunk@492 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-10-31 12:06:57 +00:00
parent aff1df6bf0
commit 8a0f601db7

View File

@ -8,48 +8,48 @@
class TTestrel_application : public TRelation_application class TTestrel_application : public TRelation_application
{ {
const char* _maskname; const char* _maskname;
const char* _num; const char* _num;
TRelation* _rel; TRelation* _rel;
TMask* _msk; TMask* _msk;
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual TMask* get_mask(int) { return _msk; } virtual TMask* get_mask(int) { return _msk; }
virtual bool changing_mask(int) { return FALSE;} virtual bool changing_mask(int) { return FALSE;}
virtual TRelation* get_relation() const { return _rel; } virtual TRelation* get_relation() const { return _rel; }
virtual int read(TMask& m) { m.autoload(); return NOERR; } virtual int read(TMask& m) { m.autoload(); return NOERR; }
virtual int write(const TMask&) { return NOERR; } virtual int write(const TMask&) { return NOERR; }
virtual int rewrite(const TMask&) { return NOERR; } virtual int rewrite(const TMask&) { return NOERR; }
public: public:
TTestrel_application(const char* name, const char* num); TTestrel_application(const char* name, const char* num);
}; };
TTestrel_application::TTestrel_application(const char* name, const char* num) TTestrel_application::TTestrel_application(const char* name, const char* num)
: _maskname(name), _num(num), : _maskname(name), _num(num),
_msk(NULL), _rel(NULL) _msk(NULL), _rel(NULL)
{} {}
bool TTestrel_application::user_create() bool TTestrel_application::user_create()
{ {
_msk = new TMask(_maskname); _msk = new TMask(_maskname);
int id = atoi(_num); int id = atoi(_num);
if (id > 0) _rel = new TRelation(id); if (id > 0) _rel = new TRelation(id);
else _rel = new TRelation(_num); else _rel = new TRelation(_num);
return TRUE; return TRUE;
} }
bool TTestrel_application::user_destroy() bool TTestrel_application::user_destroy()
{ {
delete _msk; delete _msk;
delete _rel; delete _rel;
return TRUE; return TRUE;
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
@ -58,24 +58,39 @@ bool TTestrel_application::user_destroy()
class TTest_application : public TApplication class TTest_application : public TApplication
{ {
const char* _maskname; TFilename _maskname;
protected: protected:
bool create() { dispatch_e_menu(BAR_ITEM(1)); return TRUE; } bool create() { dispatch_e_menu(BAR_ITEM(1)); return TRUE; }
bool destroy() { return TRUE; } bool destroy() { return TRUE; }
bool menu(MENU_TAG); bool menu(MENU_TAG);
public: public:
TTest_application(const char* name) : _maskname(name) {} TTest_application(const char* name) : _maskname(name) {}
}; };
bool TTest_application::menu(MENU_TAG) bool TTest_application::menu(MENU_TAG)
{ {
TMask m(_maskname); KEY k;
KEY k = m.run(); if (_maskname.empty())
if (k == K_QUIT) stop_run(); {
TMask m("Inserire il nome della maschera", 1, 42, 4);
m.add_string(101, 0, "", 1, 1, 40);
m.efield(101).check_type(CHECK_REQUIRED);
m.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
m.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
k = m.run();
if (k == K_ENTER)
_maskname = m.get(101);
else
return FALSE;
}
return k != K_QUIT; TMask m(_maskname);
k = m.run();
if (k == K_QUIT) stop_run();
return k != K_QUIT;
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
@ -83,18 +98,20 @@ bool TTest_application::menu(MENU_TAG)
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
if (argc < 2) fatal_box("You should specify a mask"); TFilename mask;
if (argc > 1)
mask = argv[1];
if (argc == 2) if (argc < 3)
{ {
TTest_application a(argv[1]); TTest_application a(mask);
a.run(argc, argv, "Test Mask"); a.run(argc, argv, "Test Mask");
} }
else else
{ {
TTestrel_application a(argv[1], argv[2]); TTestrel_application a(mask, argv[2]);
a.run(argc, argv, "Test Relation Application"); a.run(argc, argv, "Test Relation Application");
} }
return 0; return 0;
} }