// XmlGuiCategoryField.h
//

#if !defined(_XMLGUICATEGORYFIELD_H_)
#define _XMLGUICATEGORYFIELD_H_

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

using namespace std;

class CXmlClassInfo;

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

	// implementation of XmlBaseElement
	//
	virtual bool BuildFromXml(IXMLDOMNode* node);
	virtual bool AppendToDOMDocument(IXMLDOMDocument2* xmlDoc, IXMLDOMElement* parentElement);
	
	static cmString GetXmlNodeName() {return _T("GuiCategoryField");}

	void SetMemberId(const cmString& memberId);
	cmString GetMemberId();

	cmString GetCaption();
	cmString GetMemberName();

	void SetDescription(const cmString& description);
	cmString GetDescription();

	void SetClassInfo(CXmlClassInfo* classInfo);
	
protected:
	
	cmString memberId_;
	cmString description_;
	
	CXmlClassInfo* classInfo_;
};

#endif