// XmlClassInfo.h: interface for the CXmlClassInfo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_XMLGUIGRIDINFO_H_)
#define _XMLGUIGRIDINFO_H_

#include <vector>
#include "XmlBaseElement.h"

using namespace std;

typedef vector<cmString> GridColumns;

class CXmlGuiGridInfo : public CXmlBaseElement
{
public:
	CXmlGuiGridInfo();
	virtual ~CXmlGuiGridInfo();

	// implementation of XmlBaseElement
	//
	virtual bool BuildFromXml(IXMLDOMNode* node);
	virtual bool AppendToDOMDocument(IXMLDOMDocument2* xmlDoc, IXMLDOMElement* parentElement);

	// properties get/set
	//
	GridColumns* GetColumns();
	
	bool GetColumnCountEnabled() const;
	void SetColumnCountEnabled(bool enabled);

	bool GetButtonBarEnabled() const;
	void SetButtonBarEnabled(bool enabled);

	bool GetZeroAlignedCount() const;
	void SetZeroAlignedCount(bool zeroAlignedCount);

	virtual cmString GetXmlNodeName() {return _T("GuiGridInfo");}

	virtual void Clear();

protected:
	
	virtual void SetDefaults();

	GridColumns columns_;

	bool colCountEnabled_;
	bool buttonBarEnabled_;
	bool zeroAlignedCount_;
};

#endif // !defined(_XMLGUIGRIDINFO_H_)
