// enums.h
//
	
#if !defined(_ENUMS_H_)
#define _ENUMS_H_

enum enDataType {
	enDataType_None = 0,
	enDataType_Long = 1,
	enDataType_Double = 2,
	enDataType_String = 3,
	enDataType_Date = 4,
	enDataType_Class = 5,
	enDataType_Boolean = 6
};

enum enFormItemType
{
	enFormItemType_None = -1, 
	enFormItemType_Static = 0,
	enFormItemType_TextBox = 1,
	enFormItemType_Bevel = 2,
	enFormItemType_CheckBox = 3,
	enFormItemType_ComboBox = 4
};

enum enBaseItemProperty 
{
	// "general" tab
	//
	enBaseItemProperty_Name = 1,

	// "Position" tab
	//
	enBaseItemProperty_Top = 2,
	enBaseItemProperty_Left = 3,
	enBaseItemProperty_Width = 4,
	enBaseItemProperty_Height = 5,

	// "Data Bind" tab
	//
	enBaseItemProperty_RelatedClassMember = 6

};

enum enStaticItemProperty 
{
	enStaticItemProperty_Caption = 1000
};

enum enComboBoxItemProperty 
{
	enComboBoxItemProperty_Sorted = 2000,
	enComboBoxItemProperty_ValueList
};

enum enViewUpdateHints
{
	enViewUpdateHints_DlgPropertyChanged = 1
};

enum enRenderingMode
{
	enRenderingMode_None = 0,
	enRenderingMode_FlatList = 1,
	enRenderingMode_CategoryList = 2,
	enRenderingMode_Grid = 3,
	enRenderingMode_CustomDialog = 4
};

enum enCardinality
{
	enCardinality_SingleInstance = 0,
	enCardinality_Array,
	enCardinality_Map
};

enum enValidationMode
{
	enValidationMode_None = 0,
	enValidationMode_Interval = 1,
	enValidationMode_StaticEnum = 2,
	enValidationMode_DynamicEnum = 3
};

enum enMainDlgSize
{
	enMainDlgSize_Small = 0,
	enMainDlgSize_Medium,
	enMainDlgSize_Large
};

enum enLongMemberDisplayMode
{
	enLongMemberDisplayMode_None = 0,
	enLongMemberDisplayMode_Decimal,
	enLongMemberDisplayMode_Hex,
	enLongMemberDisplayMode_Binary,
	enLongMemberDisplayMode_Smart
};

enum enStringMemberDisplayMode
{
	enStringMemberDisplayMode_None = 0,
	enStringMemberDisplayMode_GenericString
};

enum enDoubleMemberDisplayMode
{
	enDoubleMemberDisplayMode_None = 0,
	enDoubleMemberDisplayMode_GenericNumber
};

enum enBooleanMemberDisplayMode
{
	enBooleanMemberDisplayMode_None = 0,
	enBooleanMemberDisplayMode_CheckBox
};

enum enGeneratorAction
{
	enGeneratorAction_None = 0,
	enGeneratorAction_GenerateOnly,
	enGeneratorAction_GenerateAndOpen,
	enGeneratorAction_GenerateAndCompile
};

enum enGeneratorConfig
{
	enGeneratorConfig_All = 0,
	enGeneratorConfig_Debug,
	enGeneratorConfig_Release,
	enGeneratorConfig_ReleaseMinDependency,
	enGeneratorConfig_ReleaseMinSize,
	enGeneratorConfig_UnicodeDebug,
	enGeneratorConfig_UnicodeRelease,
	enGeneratorConfig_UnicodeReleaseMinDependency,
	enGeneratorConfig_UnicodeReleaseMinSize,
};

enum enTestProjectAction
{
	enTestProjectAction_None = 0,
	enTestProjectAction_GenerateOnly,
	enTestProjectAction_GenerateAndOpen
};

enum enPersistenceMode
{
	enPersistenceMode_None = 0,			// the member will be not saved to file
	enPersistenceMode_AsChildNode,		// the member will be saved as child node (<parent><member/></parent>)
	enPersistenceMode_AsAttribute,		// the member will be saved as attribute (<parent member=""/>)
	enPersistenceMode_AsTextNode,		// the member will be saved as inner text (<parent member=""/>value)
	enPersistenceMode_AsCDATA			// the member will be saved
};


#endif //!defined(_ENUMS_H_)