// CSharpClassDialogGenerator.h
//
#if !defined(_CSHARPCLASSDIALOGGENERATOR_H_)
#define _CSHARPCLASSDIALOGGENERATOR_H_

#include "CSharpBaseGenerator.h"
#include "cmString.h"

class CXMLStorageElement;
class CProjectSettings;
class CXmlBaseFormItem;

class CCSharpClassDialogGenerator: public CCSharpBaseGenerator
{
public:
	CCSharpClassDialogGenerator();
	virtual ~CCSharpClassDialogGenerator();

	virtual void Generate();

protected:
	// header file generators
	//
	/***
	void Head_generateHeader();
	void Head_generateIfDefBegin();
	void Head_generateIncludeSection();
	void Head_generateDefineSection();
	void Head_generateForwardDeclarations();
	void Head_generateClassBegin();
	void Head_generateConstructor();
	void Head_generateDestructor();
	void Head_generatePublicMethods();
	void Head_generateDialogData();
	void Head_generateOverrides();
	void Head_generateMessageMap();
	void Head_generateProtectedMembers();
	void Head_generateDataMembers();
	void Head_generateClassEnd();
	void Head_generateIfDefEnd();

	// implementation file generators
	//
	void Impl_generateHeader();
	void Impl_generateIncludeSection();
	void Impl_generateDebugSymbols();
	void Impl_generateMainTitle();
	void Impl_generateConstructor();
	void Impl_generateDestructor();
	void Impl_generatePublicMethods();
	void Impl_generateProtectedMembers();
	void Impl_generateMessageMap();
	void Impl_generateOnInitDialog();

	cmString implCode_;
	cmString headCode_;

  ***/
};

#endif //!defined(_CSHARPCLASSDIALOGGENERATOR_H_)
