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

GacGen.exe ResourceBase.xml

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

#include "EditorBaseReflection.h"

#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#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::HyperlinkWindow)
			IMPL_CPP_TYPE_INFO(demo::HyperlinkWindowConstructor)

#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
#define _ ,
			BEGIN_CLASS_MEMBER(::demo::DocumentEditorBase)
				ATTRIBUTE_TYPE(::vl::__vwsn::att_cpp_File, ::vl::WString::Unmanaged(L"DocumentEditorBase"))
				ATTRIBUTE_TYPE(::vl::__vwsn::att_cpp_Friend, ::vl::reflection::description::GetTypeDescriptor(::vl::WString::Unmanaged(L"demo::DocumentEditorBaseConstructor")))
				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(CancelWindowClose, 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)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_METHOD(GetToolstripContainer, NO_PARAMETER)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_METHOD(HasEditableCursor, NO_PARAMETER)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_METHOD(HasEditableHyperlink, { L"forEdit" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_METHOD(LoadAsPrivateFormat, { L"fileName" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_UserImpl)
				CLASS_MEMBER_METHOD(SaveAsHTML, { L"fileName" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_UserImpl)
				CLASS_MEMBER_METHOD(SaveAsPrivateFormat, { L"fileName" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_UserImpl)
				CLASS_MEMBER_METHOD(SaveAsRTF, { L"fileName" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_UserImpl)
				CLASS_MEMBER_METHOD(SaveDocument, NO_PARAMETER)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_METHOD(SelectAlignmentCommand, NO_PARAMETER)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_METHOD(SetAlignment, { L"alignment" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_METHOD(SetEditMode, { L"editMode" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_METHOD(SetEditModeCommand, { L"__vwsn_value_" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				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)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelection)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				CLASS_MEMBER_FIELD(__vwsn_prop_HasEditableSelectionInSingleParagraph)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				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_" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandAlignCenter)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandAlignDefault)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandAlignLeft)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandAlignRight)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandBackColor)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandBold)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandColor)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandCopy)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandCut)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandDelete)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandEditHyperlink)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandEditable)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandFont)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandInsertImage)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandItalic)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandLoadPrivate)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandPaste)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandRedo)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandRemoveHyperlink)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandSaveHtml)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandSavePrivate)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandSaveRtf)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandSelect)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandSelectable)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandStrike)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandUnderline)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandUndo)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(commandViewOnly)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogColor)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogFont)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogMessage)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogNotImpl)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogOpen)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogOpenDoc)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogQueryClose)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogSaveDoc)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(dialogSaveDocPrivate)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(document)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(menuContainer)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(self)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(toolstripContainer)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
			END_CLASS_MEMBER(::demo::DocumentEditorBaseConstructor)

			BEGIN_CLASS_MEMBER(::demo::HyperlinkWindow)
				ATTRIBUTE_TYPE(::vl::__vwsn::att_cpp_Friend, ::vl::reflection::description::GetTypeDescriptor(::vl::WString::Unmanaged(L"demo::HyperlinkWindowConstructor")))
				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)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Private)
				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_" })
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_0)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_1)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_10)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_11)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_12)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_13)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_2)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_3)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_4)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_5)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_6)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_7)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_8)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(__vwsn_precompile_9)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(self)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
				CLASS_MEMBER_FIELD(textUrl)
				ATTRIBUTE_MEMBER(::vl::__vwsn::att_cpp_Protected)
			END_CLASS_MEMBER(::demo::HyperlinkWindowConstructor)

#undef _
			class EditorBaseTypeLoader : public Object, public ITypeLoader
			{
			public:
				void Load(ITypeManager* manager)
				{
					ADD_TYPE_INFO(::demo::DocumentEditorBase)
					ADD_TYPE_INFO(::demo::DocumentEditorBaseConstructor)
					ADD_TYPE_INFO(::demo::HyperlinkWindow)
					ADD_TYPE_INFO(::demo::HyperlinkWindowConstructor)
				}

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

			bool LoadEditorBaseTypes()
			{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
				if (auto manager = GetGlobalTypeManager())
				{
					return manager->AddTypeLoader(Ptr(new EditorBaseTypeLoader));
				}
#endif
				return false;
			}
		}
	}
}

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