#ifndef _APL_TEMPLATE_MASTER_HEADER_FILE
#define _APL_TEMPLATE_MASTER_HEADER_FILE

#include "ReportDict.h"

class AFX_CLASS_EXPORT CTemplateMaster
{
protected:
	CaplReportMgr *m_ReportMgr;

	int m_align;	// выравнивание в таблице (если задано)

	bool m_print_footer;	// нижний колонитул (если задано)
	
public:
	CTemplateMaster(CaplReportMgr* ReportMgr);
	~CTemplateMaster();
	
	bool DoTemplate();
	bool DoAutoTemplate();
	
	bool CreateTemplate();

	void SetAlign(int align) { m_align = align; }

	void SetPrintFooter(bool bValue) { m_print_footer = bValue; }

	int m_table_line_width;
	int m_title_line_width;
	
	CRect				m_table_rect;
	CSize				m_page_sizes;
	CString				m_ReportName;
	CHeader				*m_pHeader;
	CHeader				*m_pInitialHeader;
	CReportSheet		*m_pSheet;

	LOGFONT				m_DefGroupFont;
	LOGFONT				m_DefRowFont;
	LOGFONT				m_DefHeaderFont;
	LOGFONT				m_DefFooterFont;

	CArray<CTMColumn*, CTMColumn*>			m_ColumnsArray;
	CArray<CTMGroupCol*, CTMGroupCol*>		m_GroupsArray;
	CArray<CHeaderColumn*, CHeaderColumn*>	m_SortsArray;
};

#endif
