// XmlTreeIcons.h: interface for the CXmlTreeIcons class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_XMLTREEICONS_H_)
#define _XMLTREEICONS_H_

//#include <string>
#include "XmlSerializable.h"
#include "cmString.h"

//using namespace std;

class CXmlTreeIcons : public CXmlSerializable  
{
public:
	CXmlTreeIcons();
	virtual ~CXmlTreeIcons();

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

	void Clear();
	void SetDefaults();

	static cmString GetXmlNodeName(){return _T("TreeIcons");}

	void SetIconExpandedSelected(const cmString& iconFileName);
	cmString GetIconExpandedSelected() const;

	void SetIconExpandedNotSelected(const cmString& iconFileName);
	cmString GetIconExpandedNotSelected() const;

	void SetIconCollapsedSelected(const cmString& iconFileName);
	cmString GetIconCollapsedSelected() const;

	void SetIconCollapsedNotSelected(const cmString& iconFileName);
	cmString GetIconCollapsedNotSelected() const;

	void SetExpandedAtStartup(bool expanded);
	bool GetExpandedAtStartup() const;

protected:
	
	cmString iconExpandedSelected_;
	cmString iconExpandedNotSelected_;
	cmString iconCollapsedSelected_;
	cmString iconCollapsedNotSelected_;

	bool expandedAtStartup_;
};

#endif // !defined(_XMLTREEICONS_H_)