// CCppResourceGenerator.h
//

#if !defined (_CCPPRESOURCEGENERATPR_H_)
#define _CCPPRESOURCEGENERATPR_H_

#include "CppBaseGenerator.h"
#include "cmString.h"

class CXmlClassInfo;

class CCppResourceGenerator: public CCppBaseGenerator
{
public:
	CCppResourceGenerator();
	virtual ~CCppResourceGenerator();

	void Generate();

protected:
	virtual void Head_generateHeader();
	virtual void Head_generateIfDefBegin();
	virtual void Head_generateGlobalResource();
	virtual void Head_generateClassResource(CXmlClassInfo* classInfo, cmString parentPath, int& count);
	virtual void Head_generateIfDefEnd();
	virtual void GenerateTreeIconsHeaderFile();
	virtual void GenerateTreeResourceFile();
	cmString ComposeLine(const cmString& define, const cmString& number, const cmString& comment);

	cmString headCode_;
	long resCounter_;
};

#endif //!defined (_CCPPRESOURCEGENERATPR_H_)
