// COPYRIGHT (C) 1990-1999.  All Rights Reserved. - TABLE5.HPP
// Zinc Software Incorporated.  Pleasant Grove, Utah  USA
// May be freely copied, used and distributed.

#include <zaf.hpp>

class RowHeader : public ZafTableHeader
{
public:
	RowHeader(const ZafIChar *name, ZafObjectPersistence &persist);

	static ZafElement *Read(const ZafIChar *name, ZafObjectPersistence &persist);
	static ZafClassNameChar ZAF_FARDATA className[];
	virtual ZafClassName ClassName(void) const { return (className); }
};

class ButtonRecord : public ZafTableRecord
{
public:
	ButtonRecord(const ButtonRecord &copy);
	ButtonRecord(const ZafIChar *name, ZafObjectPersistence &persist);
	virtual ZafWindowObject *Duplicate(void) { return (new ButtonRecord(*this)); }

	static ZafElement *Read(const ZafIChar *name, ZafObjectPersistence &persist);
	static ZafClassNameChar ZAF_FARDATA className[];
	virtual ZafClassName ClassName(void) const { return (className); }

protected:
	friend class ButtonTable;
	ZafButton *buttonField;
	ZafString *stringField;
};

class ButtonTable : public ZafTable
{
public:
	ButtonTable(const ZafIChar *name, ZafObjectPersistence &persist);
	ZafError ReadRecordData(ZafTableRecord &tRecord, ZafWindowObject *row);
	ZafError WriteRecordData(ZafTableRecord &tRecord, ZafWindowObject *row);

	static ZafElement *Read(const ZafIChar *name, ZafObjectPersistence &persist);
	static ZafClassNameChar ZAF_FARDATA className[];
	virtual ZafClassName ClassName(void) const { return (className); }
};

class MainWindow : public ZafWindow
{
public:
	MainWindow(ZafIChar *name, ZafObjectPersistence &persist);
};

