/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!

GacGen.exe Resource.xml

This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/

#include "DemoReflection.h"

#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif

/***********************************************************************
Reflection
***********************************************************************/

namespace vl
{
	namespace reflection
	{
		namespace description
		{
#ifndef VCZH_DEBUG_NO_REFLECTION
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorBase)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorBaseConstructor)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorRibbon)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorRibbonConstructor)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorRibbonWindow)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorRibbonWindowConstructor)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorToolstrip)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorToolstripConstructor)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorToolstripWindow)
			IMPL_CPP_TYPE_INFO(demo::DocumentEditorToolstripWindowConstructor)
			IMPL_CPP_TYPE_INFO(demo::HyperlinkWindow)
			IMPL_CPP_TYPE_INFO(demo::HyperlinkWindowConstructor)
			IMPL_CPP_TYPE_INFO(demo::MainWindow)
			IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor)
			IMPL_CPP_TYPE_INFO(demo::StyleGroup)
			IMPL_CPP_TYPE_INFO(demo::StyleItem)
			IMPL_CPP_TYPE_INFO(demo::StyleItemTemplate)
			IMPL_CPP_TYPE_INFO(demo::StyleItemTemplateConstructor)

#define _ ,
			BEGIN_CLASS_MEMBER(::demo::DocumentEditorBase)
				CLASS_MEMBER_BASE(::vl::presentation::controls::GuiCustomControl)
				CLASS_MEMBER_BASE(::demo::DocumentEditorBaseConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentEditorBase*(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetEditModeCommand, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetHasEditableSelection, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetHasEditableSelectionInSingleParagraph, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetMenuContainer, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetToolstripContainer, NO_PARAMETER)
				CLASS_MEMBER_METHOD(HasEditableCursor, NO_PARAMETER)
				CLASS_MEMBER_METHOD(HasEditableHyperlink, { L"forEdit" })
				CLASS_MEMBER_METHOD(SelectAlignmentCommand, NO_PARAMETER)
				CLASS_MEMBER_METHOD(SetAlignment, { L"alignment" })
				CLASS_MEMBER_METHOD(SetEditMode, { L"editMode" })
				CLASS_MEMBER_METHOD(SetEditModeCommand, { L"__vwsn_value_" })
				CLASS_MEMBER_METHOD(SetHasEditableSelection, { L"__vwsn_value_" })
				CLASS_MEMBER_METHOD(SetHasEditableSelectionInSingleParagraph, { L"__vwsn_value_" })
				CLASS_MEMBER_EVENT(EditModeCommandChanged)
				CLASS_MEMBER_EVENT(HasEditableSelectionChanged)
				CLASS_MEMBER_EVENT(HasEditableSelectionInSingleParagraphChanged)
				CLASS_MEMBER_FIELD(__vwsn_prop_EditModeCommand)
				CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelection)
				CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelectionInSingleParagraph)
				CLASS_MEMBER_PROPERTY_EVENT_READONLY(EditModeCommand, GetEditModeCommand, EditModeCommandChanged)
				CLASS_MEMBER_PROPERTY_EVENT(HasEditableSelection, GetHasEditableSelection, SetHasEditableSelection, HasEditableSelectionChanged)
				CLASS_MEMBER_PROPERTY_EVENT(HasEditableSelectionInSingleParagraph, GetHasEditableSelectionInSingleParagraph, SetHasEditableSelectionInSingleParagraph, HasEditableSelectionInSingleParagraphChanged)
				CLASS_MEMBER_PROPERTY_READONLY(MenuContainer, GetMenuContainer)
				CLASS_MEMBER_PROPERTY_READONLY(ToolstripContainer, GetToolstripContainer)
			END_CLASS_MEMBER(::demo::DocumentEditorBase)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorBaseConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentEditorBaseConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_DocumentEditorBase_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(commandAlignCenter)
				CLASS_MEMBER_FIELD(commandAlignDefault)
				CLASS_MEMBER_FIELD(commandAlignLeft)
				CLASS_MEMBER_FIELD(commandAlignRight)
				CLASS_MEMBER_FIELD(commandBackColor)
				CLASS_MEMBER_FIELD(commandBold)
				CLASS_MEMBER_FIELD(commandColor)
				CLASS_MEMBER_FIELD(commandCopy)
				CLASS_MEMBER_FIELD(commandCut)
				CLASS_MEMBER_FIELD(commandDelete)
				CLASS_MEMBER_FIELD(commandEditHyperlink)
				CLASS_MEMBER_FIELD(commandEditable)
				CLASS_MEMBER_FIELD(commandFont)
				CLASS_MEMBER_FIELD(commandInsertImage)
				CLASS_MEMBER_FIELD(commandItalic)
				CLASS_MEMBER_FIELD(commandPaste)
				CLASS_MEMBER_FIELD(commandRedo)
				CLASS_MEMBER_FIELD(commandRemoveHyperlink)
				CLASS_MEMBER_FIELD(commandSelect)
				CLASS_MEMBER_FIELD(commandSelectable)
				CLASS_MEMBER_FIELD(commandStrike)
				CLASS_MEMBER_FIELD(commandUnderline)
				CLASS_MEMBER_FIELD(commandUndo)
				CLASS_MEMBER_FIELD(commandViewOnly)
				CLASS_MEMBER_FIELD(dialogColor)
				CLASS_MEMBER_FIELD(dialogFont)
				CLASS_MEMBER_FIELD(dialogMessage)
				CLASS_MEMBER_FIELD(dialogOpen)
				CLASS_MEMBER_FIELD(document)
				CLASS_MEMBER_FIELD(menuContainer)
				CLASS_MEMBER_FIELD(self)
				CLASS_MEMBER_FIELD(toolstripContainer)
			END_CLASS_MEMBER(::demo::DocumentEditorBaseConstructor)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorRibbon)
				CLASS_MEMBER_BASE(::demo::DocumentEditorBase)
				CLASS_MEMBER_BASE(::demo::DocumentEditorRibbonConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentEditorRibbon*(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GenerateStyleGroups, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetAlignCenterSelected, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetAlignLeftSelected, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetAlignRightSelected, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetStyleGroups, NO_PARAMETER)
				CLASS_MEMBER_METHOD(SelectStyleName, { L"styleName" })
				CLASS_MEMBER_METHOD(SetAlignCenterSelected, { L"__vwsn_value_" })
				CLASS_MEMBER_METHOD(SetAlignLeftSelected, { L"__vwsn_value_" })
				CLASS_MEMBER_METHOD(SetAlignRightSelected, { L"__vwsn_value_" })
				CLASS_MEMBER_METHOD(SetStyleGroups, { L"__vwsn_value_" })
				CLASS_MEMBER_EVENT(AlignCenterSelectedChanged)
				CLASS_MEMBER_EVENT(AlignLeftSelectedChanged)
				CLASS_MEMBER_EVENT(AlignRightSelectedChanged)
				CLASS_MEMBER_EVENT(StyleGroupsChanged)
				CLASS_MEMBER_FIELD(__vwsn_prop_AlignCenterSelected)
				CLASS_MEMBER_FIELD(__vwsn_prop_AlignLeftSelected)
				CLASS_MEMBER_FIELD(__vwsn_prop_AlignRightSelected)
				CLASS_MEMBER_FIELD(__vwsn_prop_StyleGroups)
				CLASS_MEMBER_PROPERTY_EVENT(AlignCenterSelected, GetAlignCenterSelected, SetAlignCenterSelected, AlignCenterSelectedChanged)
				CLASS_MEMBER_PROPERTY_EVENT(AlignLeftSelected, GetAlignLeftSelected, SetAlignLeftSelected, AlignLeftSelectedChanged)
				CLASS_MEMBER_PROPERTY_EVENT(AlignRightSelected, GetAlignRightSelected, SetAlignRightSelected, AlignRightSelectedChanged)
				CLASS_MEMBER_PROPERTY_EVENT(StyleGroups, GetStyleGroups, SetStyleGroups, StyleGroupsChanged)
			END_CLASS_MEMBER(::demo::DocumentEditorRibbon)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorRibbonConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentEditorRibbonConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_DocumentEditorRibbon_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_10)
				CLASS_MEMBER_FIELD(__vwsn_precompile_11)
				CLASS_MEMBER_FIELD(__vwsn_precompile_12)
				CLASS_MEMBER_FIELD(__vwsn_precompile_13)
				CLASS_MEMBER_FIELD(__vwsn_precompile_14)
				CLASS_MEMBER_FIELD(__vwsn_precompile_15)
				CLASS_MEMBER_FIELD(__vwsn_precompile_16)
				CLASS_MEMBER_FIELD(__vwsn_precompile_17)
				CLASS_MEMBER_FIELD(__vwsn_precompile_18)
				CLASS_MEMBER_FIELD(__vwsn_precompile_19)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(__vwsn_precompile_20)
				CLASS_MEMBER_FIELD(__vwsn_precompile_21)
				CLASS_MEMBER_FIELD(__vwsn_precompile_22)
				CLASS_MEMBER_FIELD(__vwsn_precompile_23)
				CLASS_MEMBER_FIELD(__vwsn_precompile_24)
				CLASS_MEMBER_FIELD(__vwsn_precompile_25)
				CLASS_MEMBER_FIELD(__vwsn_precompile_26)
				CLASS_MEMBER_FIELD(__vwsn_precompile_27)
				CLASS_MEMBER_FIELD(__vwsn_precompile_28)
				CLASS_MEMBER_FIELD(__vwsn_precompile_29)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				CLASS_MEMBER_FIELD(__vwsn_precompile_30)
				CLASS_MEMBER_FIELD(__vwsn_precompile_31)
				CLASS_MEMBER_FIELD(__vwsn_precompile_32)
				CLASS_MEMBER_FIELD(__vwsn_precompile_33)
				CLASS_MEMBER_FIELD(__vwsn_precompile_34)
				CLASS_MEMBER_FIELD(__vwsn_precompile_35)
				CLASS_MEMBER_FIELD(__vwsn_precompile_36)
				CLASS_MEMBER_FIELD(__vwsn_precompile_37)
				CLASS_MEMBER_FIELD(__vwsn_precompile_38)
				CLASS_MEMBER_FIELD(__vwsn_precompile_39)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				CLASS_MEMBER_FIELD(__vwsn_precompile_40)
				CLASS_MEMBER_FIELD(__vwsn_precompile_41)
				CLASS_MEMBER_FIELD(__vwsn_precompile_42)
				CLASS_MEMBER_FIELD(__vwsn_precompile_43)
				CLASS_MEMBER_FIELD(__vwsn_precompile_44)
				CLASS_MEMBER_FIELD(__vwsn_precompile_45)
				CLASS_MEMBER_FIELD(__vwsn_precompile_46)
				CLASS_MEMBER_FIELD(__vwsn_precompile_47)
				CLASS_MEMBER_FIELD(__vwsn_precompile_48)
				CLASS_MEMBER_FIELD(__vwsn_precompile_49)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				CLASS_MEMBER_FIELD(__vwsn_precompile_50)
				CLASS_MEMBER_FIELD(__vwsn_precompile_51)
				CLASS_MEMBER_FIELD(__vwsn_precompile_52)
				CLASS_MEMBER_FIELD(__vwsn_precompile_53)
				CLASS_MEMBER_FIELD(__vwsn_precompile_54)
				CLASS_MEMBER_FIELD(__vwsn_precompile_55)
				CLASS_MEMBER_FIELD(__vwsn_precompile_56)
				CLASS_MEMBER_FIELD(__vwsn_precompile_57)
				CLASS_MEMBER_FIELD(__vwsn_precompile_58)
				CLASS_MEMBER_FIELD(__vwsn_precompile_59)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				CLASS_MEMBER_FIELD(__vwsn_precompile_60)
				CLASS_MEMBER_FIELD(__vwsn_precompile_61)
				CLASS_MEMBER_FIELD(__vwsn_precompile_62)
				CLASS_MEMBER_FIELD(__vwsn_precompile_63)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				CLASS_MEMBER_FIELD(__vwsn_precompile_8)
				CLASS_MEMBER_FIELD(__vwsn_precompile_9)
				CLASS_MEMBER_FIELD(dialogMessage)
				CLASS_MEMBER_FIELD(self)
				CLASS_MEMBER_FIELD(styleGallery)
			END_CLASS_MEMBER(::demo::DocumentEditorRibbonConstructor)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorRibbonWindow)
				CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow)
				CLASS_MEMBER_BASE(::demo::DocumentEditorRibbonWindowConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentEditorRibbonWindow*(), NO_PARAMETER)
			END_CLASS_MEMBER(::demo::DocumentEditorRibbonWindow)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorRibbonWindowConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentEditorRibbonWindowConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_DocumentEditorRibbonWindow_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(editor)
			END_CLASS_MEMBER(::demo::DocumentEditorRibbonWindowConstructor)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorToolstrip)
				CLASS_MEMBER_BASE(::demo::DocumentEditorBase)
				CLASS_MEMBER_BASE(::demo::DocumentEditorToolstripConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentEditorToolstrip*(), NO_PARAMETER)
			END_CLASS_MEMBER(::demo::DocumentEditorToolstrip)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorToolstripConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentEditorToolstripConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_DocumentEditorToolstrip_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_10)
				CLASS_MEMBER_FIELD(__vwsn_precompile_11)
				CLASS_MEMBER_FIELD(__vwsn_precompile_12)
				CLASS_MEMBER_FIELD(__vwsn_precompile_13)
				CLASS_MEMBER_FIELD(__vwsn_precompile_14)
				CLASS_MEMBER_FIELD(__vwsn_precompile_15)
				CLASS_MEMBER_FIELD(__vwsn_precompile_16)
				CLASS_MEMBER_FIELD(__vwsn_precompile_17)
				CLASS_MEMBER_FIELD(__vwsn_precompile_18)
				CLASS_MEMBER_FIELD(__vwsn_precompile_19)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(__vwsn_precompile_20)
				CLASS_MEMBER_FIELD(__vwsn_precompile_21)
				CLASS_MEMBER_FIELD(__vwsn_precompile_22)
				CLASS_MEMBER_FIELD(__vwsn_precompile_23)
				CLASS_MEMBER_FIELD(__vwsn_precompile_24)
				CLASS_MEMBER_FIELD(__vwsn_precompile_25)
				CLASS_MEMBER_FIELD(__vwsn_precompile_26)
				CLASS_MEMBER_FIELD(__vwsn_precompile_27)
				CLASS_MEMBER_FIELD(__vwsn_precompile_28)
				CLASS_MEMBER_FIELD(__vwsn_precompile_29)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				CLASS_MEMBER_FIELD(__vwsn_precompile_30)
				CLASS_MEMBER_FIELD(__vwsn_precompile_31)
				CLASS_MEMBER_FIELD(__vwsn_precompile_32)
				CLASS_MEMBER_FIELD(__vwsn_precompile_33)
				CLASS_MEMBER_FIELD(__vwsn_precompile_34)
				CLASS_MEMBER_FIELD(__vwsn_precompile_35)
				CLASS_MEMBER_FIELD(__vwsn_precompile_36)
				CLASS_MEMBER_FIELD(__vwsn_precompile_37)
				CLASS_MEMBER_FIELD(__vwsn_precompile_38)
				CLASS_MEMBER_FIELD(__vwsn_precompile_39)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				CLASS_MEMBER_FIELD(__vwsn_precompile_40)
				CLASS_MEMBER_FIELD(__vwsn_precompile_41)
				CLASS_MEMBER_FIELD(__vwsn_precompile_42)
				CLASS_MEMBER_FIELD(__vwsn_precompile_43)
				CLASS_MEMBER_FIELD(__vwsn_precompile_44)
				CLASS_MEMBER_FIELD(__vwsn_precompile_45)
				CLASS_MEMBER_FIELD(__vwsn_precompile_46)
				CLASS_MEMBER_FIELD(__vwsn_precompile_47)
				CLASS_MEMBER_FIELD(__vwsn_precompile_48)
				CLASS_MEMBER_FIELD(__vwsn_precompile_49)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				CLASS_MEMBER_FIELD(__vwsn_precompile_50)
				CLASS_MEMBER_FIELD(__vwsn_precompile_51)
				CLASS_MEMBER_FIELD(__vwsn_precompile_52)
				CLASS_MEMBER_FIELD(__vwsn_precompile_53)
				CLASS_MEMBER_FIELD(__vwsn_precompile_54)
				CLASS_MEMBER_FIELD(__vwsn_precompile_55)
				CLASS_MEMBER_FIELD(__vwsn_precompile_56)
				CLASS_MEMBER_FIELD(__vwsn_precompile_57)
				CLASS_MEMBER_FIELD(__vwsn_precompile_58)
				CLASS_MEMBER_FIELD(__vwsn_precompile_59)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				CLASS_MEMBER_FIELD(__vwsn_precompile_60)
				CLASS_MEMBER_FIELD(__vwsn_precompile_61)
				CLASS_MEMBER_FIELD(__vwsn_precompile_62)
				CLASS_MEMBER_FIELD(__vwsn_precompile_63)
				CLASS_MEMBER_FIELD(__vwsn_precompile_64)
				CLASS_MEMBER_FIELD(__vwsn_precompile_65)
				CLASS_MEMBER_FIELD(__vwsn_precompile_66)
				CLASS_MEMBER_FIELD(__vwsn_precompile_67)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				CLASS_MEMBER_FIELD(__vwsn_precompile_8)
				CLASS_MEMBER_FIELD(__vwsn_precompile_9)
				CLASS_MEMBER_FIELD(buttonAlignment)
				CLASS_MEMBER_FIELD(self)
			END_CLASS_MEMBER(::demo::DocumentEditorToolstripConstructor)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorToolstripWindow)
				CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow)
				CLASS_MEMBER_BASE(::demo::DocumentEditorToolstripWindowConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::DocumentEditorToolstripWindow*(), NO_PARAMETER)
			END_CLASS_MEMBER(::demo::DocumentEditorToolstripWindow)

			BEGIN_CLASS_MEMBER(::demo::DocumentEditorToolstripWindowConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::DocumentEditorToolstripWindowConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_DocumentEditorToolstripWindow_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(editor)
			END_CLASS_MEMBER(::demo::DocumentEditorToolstripWindowConstructor)

			BEGIN_CLASS_MEMBER(::demo::HyperlinkWindow)
				CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow)
				CLASS_MEMBER_BASE(::demo::HyperlinkWindowConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::HyperlinkWindow*(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetUrl, NO_PARAMETER)
				CLASS_MEMBER_METHOD(SetUrl, { L"__vwsn_value_" })
				CLASS_MEMBER_EVENT(UrlChanged)
				CLASS_MEMBER_FIELD(__vwsn_prop_Url)
				CLASS_MEMBER_PROPERTY_EVENT(Url, GetUrl, SetUrl, UrlChanged)
			END_CLASS_MEMBER(::demo::HyperlinkWindow)

			BEGIN_CLASS_MEMBER(::demo::HyperlinkWindowConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::HyperlinkWindowConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_HyperlinkWindow_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_10)
				CLASS_MEMBER_FIELD(__vwsn_precompile_11)
				CLASS_MEMBER_FIELD(__vwsn_precompile_12)
				CLASS_MEMBER_FIELD(__vwsn_precompile_13)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				CLASS_MEMBER_FIELD(__vwsn_precompile_8)
				CLASS_MEMBER_FIELD(__vwsn_precompile_9)
				CLASS_MEMBER_FIELD(self)
				CLASS_MEMBER_FIELD(textUrl)
			END_CLASS_MEMBER(::demo::HyperlinkWindowConstructor)

			BEGIN_CLASS_MEMBER(::demo::MainWindow)
				CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow)
				CLASS_MEMBER_BASE(::demo::MainWindowConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(), NO_PARAMETER)
			END_CLASS_MEMBER(::demo::MainWindow)

			BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_MainWindow_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				CLASS_MEMBER_FIELD(self)
			END_CLASS_MEMBER(::demo::MainWindowConstructor)

			BEGIN_CLASS_MEMBER(::demo::StyleGroup)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::StyleGroup>(), NO_PARAMETER)
				CLASS_MEMBER_FIELD(Items)
				CLASS_MEMBER_FIELD(Name)
			END_CLASS_MEMBER(::demo::StyleGroup)

			BEGIN_CLASS_MEMBER(::demo::StyleItem)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::StyleItem>(const ::vl::WString&, ::vl::Nullable<::vl::presentation::DocumentFontSize>, ::vl::Nullable<::vl::presentation::Color>, ::vl::Nullable<bool>, ::vl::Nullable<bool>, ::vl::Nullable<bool>, ::vl::Nullable<bool>), { L"name" _ L"size" _ L"color" _ L"bold" _ L"italic" _ L"underline" _ L"strikeline" })
				CLASS_MEMBER_FIELD(Name)
				CLASS_MEMBER_FIELD(Style)
			END_CLASS_MEMBER(::demo::StyleItem)

			BEGIN_CLASS_MEMBER(::demo::StyleItemTemplate)
				CLASS_MEMBER_BASE(::vl::presentation::templates::GuiTextListItemTemplate)
				CLASS_MEMBER_BASE(::demo::StyleItemTemplateConstructor)
				CLASS_MEMBER_CONSTRUCTOR(::demo::StyleItemTemplate*(::vl::Ptr<::demo::StyleItem>), { L"__vwsn_ctor_parameter_ViewModel" })
				CLASS_MEMBER_METHOD(__vwsn_instance_ctor_, NO_PARAMETER)
				CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
				CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
				CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
			END_CLASS_MEMBER(::demo::StyleItemTemplate)

			BEGIN_CLASS_MEMBER(::demo::StyleItemTemplateConstructor)
				CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
				CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::StyleItemTemplateConstructor>(), NO_PARAMETER)
				CLASS_MEMBER_METHOD(__vwsn_demo_StyleItemTemplate_Initialize, { L"__vwsn_this_" })
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				CLASS_MEMBER_FIELD(ViewModel)
				CLASS_MEMBER_FIELD(containerControl)
				CLASS_MEMBER_FIELD(self)
				CLASS_MEMBER_FIELD(styleLabel)
			END_CLASS_MEMBER(::demo::StyleItemTemplateConstructor)

#undef _
			class DemoTypeLoader : public Object, public ITypeLoader
			{
			public:
				void Load(ITypeManager* manager)
				{
					ADD_TYPE_INFO(::demo::DocumentEditorBase)
					ADD_TYPE_INFO(::demo::DocumentEditorBaseConstructor)
					ADD_TYPE_INFO(::demo::DocumentEditorRibbon)
					ADD_TYPE_INFO(::demo::DocumentEditorRibbonConstructor)
					ADD_TYPE_INFO(::demo::DocumentEditorRibbonWindow)
					ADD_TYPE_INFO(::demo::DocumentEditorRibbonWindowConstructor)
					ADD_TYPE_INFO(::demo::DocumentEditorToolstrip)
					ADD_TYPE_INFO(::demo::DocumentEditorToolstripConstructor)
					ADD_TYPE_INFO(::demo::DocumentEditorToolstripWindow)
					ADD_TYPE_INFO(::demo::DocumentEditorToolstripWindowConstructor)
					ADD_TYPE_INFO(::demo::HyperlinkWindow)
					ADD_TYPE_INFO(::demo::HyperlinkWindowConstructor)
					ADD_TYPE_INFO(::demo::MainWindow)
					ADD_TYPE_INFO(::demo::MainWindowConstructor)
					ADD_TYPE_INFO(::demo::StyleGroup)
					ADD_TYPE_INFO(::demo::StyleItem)
					ADD_TYPE_INFO(::demo::StyleItemTemplate)
					ADD_TYPE_INFO(::demo::StyleItemTemplateConstructor)
				}

				void Unload(ITypeManager* manager)
				{
				}
			};
#endif

			bool LoadDemoTypes()
			{
#ifndef VCZH_DEBUG_NO_REFLECTION
				if (auto manager = GetGlobalTypeManager())
				{
					return manager->AddTypeLoader(MakePtr<DemoTypeLoader>());
				}
#endif
				return false;
			}
		}
	}
}

#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
