101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include <msksheet.h>
 | 
						|
#include <relapp.h>
 | 
						|
#include <urldefid.h>
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
// Test Relapp
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
class TTestrel_application : public TRelation_application
 | 
						|
{
 | 
						|
	const char* _maskname;
 | 
						|
	const char* _num;
 | 
						|
 | 
						|
	TRelation* _rel;
 | 
						|
	TMask* _msk;
 | 
						|
 | 
						|
protected:
 | 
						|
	virtual bool user_create();
 | 
						|
	virtual bool user_destroy();
 | 
						|
	virtual TMask* get_mask(int) { return _msk; }
 | 
						|
	virtual bool changing_mask(int) { return FALSE;}
 | 
						|
	virtual TRelation* get_relation() const { return _rel; }
 | 
						|
	virtual int read(TMask& m) { m.autoload(); return NOERR; }
 | 
						|
	virtual int write(const TMask&) { return NOERR; }
 | 
						|
	virtual int rewrite(const TMask&) { return NOERR; }
 | 
						|
 | 
						|
public:
 | 
						|
	TTestrel_application(const char* name, const char* num);
 | 
						|
};
 | 
						|
 | 
						|
TTestrel_application::TTestrel_application(const char* name, const char* num)
 | 
						|
											: _maskname(name), _num(num),
 | 
						|
												_msk(NULL), _rel(NULL)
 | 
						|
{}
 | 
						|
 | 
						|
 | 
						|
bool TTestrel_application::user_create()
 | 
						|
{
 | 
						|
	_msk = new TMask(_maskname);
 | 
						|
 | 
						|
	int id = atoi(_num);
 | 
						|
	if (id > 0) _rel = new TRelation(id);
 | 
						|
	else _rel = new TRelation(_num);
 | 
						|
 | 
						|
	return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
bool TTestrel_application::user_destroy()
 | 
						|
{
 | 
						|
	delete _msk;
 | 
						|
	delete _rel;
 | 
						|
	return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
// Testmask
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
class TTest_application : public TApplication
 | 
						|
{
 | 
						|
	const char* _maskname;
 | 
						|
 | 
						|
protected:
 | 
						|
	bool create() { dispatch_e_menu(BAR_ITEM(1)); return TRUE; }
 | 
						|
	bool destroy() { return TRUE; }
 | 
						|
	bool menu(MENU_TAG);
 | 
						|
 | 
						|
public:
 | 
						|
	TTest_application(const char* name) : _maskname(name) {}
 | 
						|
};
 | 
						|
 | 
						|
bool TTest_application::menu(MENU_TAG)
 | 
						|
{
 | 
						|
	TMask m(_maskname);
 | 
						|
	KEY k = m.run();
 | 
						|
	if (k == K_QUIT) stop_run();
 | 
						|
 | 
						|
	return k != K_QUIT;
 | 
						|
}
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
int main(int argc, char** argv)
 | 
						|
{
 | 
						|
	if (argc < 2) fatal_box("You should specify a mask");
 | 
						|
 | 
						|
	if (argc == 2)
 | 
						|
	{
 | 
						|
		TTest_application a(argv[1]);
 | 
						|
		a.run(argc, argv, "Test Mask");
 | 
						|
	}
 | 
						|
	else
 | 
						|
	{
 | 
						|
		TTestrel_application a(argv[1], argv[2]);
 | 
						|
		a.run(argc, argv, "Test Relation Application");
 | 
						|
	}
 | 
						|
	return 0;
 | 
						|
}
 | 
						|
 |