diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index 51379815..befc45e6 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -635,14 +635,18 @@ GuiApplicationMain GetCurrentController()->InputService()->StartTimer(); GuiApplication app; application=&app; - + +#ifndef VCZH_DEBUG_NO_REFLECTION GetGlobalTypeManager()->Load(); +#endif GetPluginManager()->Load(); theme::SetCurrentTheme(theme.Obj()); GuiMain(); theme::SetCurrentTheme(0); DestroyPluginManager(); +#ifndef VCZH_DEBUG_NO_REFLECTION DestroyGlobalTypeManager(); +#endif ThreadLocalStorage::DisposeStorages(); FinalizeGlobalStorage(); } @@ -4716,6 +4720,7 @@ namespace vl Value ReadProperty(const Value& thisObject, const WString& propertyName) { +#ifndef VCZH_DEBUG_NO_REFLECTION if (!thisObject.IsNull() && propertyName != L"") { auto td = thisObject.GetTypeDescriptor(); @@ -4730,10 +4735,14 @@ namespace vl } } return thisObject; +#else + CHECK_FAIL(L"ReadProperty(const Value&, const WString&)#This function cannot be called without reflection enabled."); +#endif } void WriteProperty(Value& thisObject, const WString& propertyName, const Value& newValue) { +#ifndef VCZH_DEBUG_NO_REFLECTION if (!thisObject.IsNull() && propertyName != L"") { auto td = thisObject.GetTypeDescriptor(); @@ -4743,10 +4752,14 @@ namespace vl info->SetValue(thisObject, newValue); } } +#else + CHECK_FAIL(L"WriteProperty(const Value&, const WString&, const Value&)#This function cannot be called without reflection enabled."); +#endif } WString GetValueText(const Value& value) { +#ifndef VCZH_DEBUG_NO_REFLECTION if (auto td = value.GetTypeDescriptor()) { if (auto st = td->GetSerializableType()) @@ -4758,6 +4771,9 @@ namespace vl return L"<" + td->GetTypeName() + L">"; } return L""; +#else + CHECK_FAIL(L"GetValueText(const Value&)#This function cannot be called without reflection enabled."); +#endif } /*********************************************************************** @@ -4903,6 +4919,7 @@ GuiBindableTextList::ItemSource bool GuiBindableTextList::ItemSource::GetChecked(vint itemIndex) { +#ifndef VCZH_DEBUG_NO_REFLECTION if (itemSource) { if (0 <= itemIndex && itemIndex < itemSource->GetCount()) @@ -4914,6 +4931,9 @@ GuiBindableTextList::ItemSource } } } +#else + CHECK_FAIL(L"GuiBindableTextList::ItemSource::GetChecked(vint)#This function cannot be called without reflection enabled."); +#endif return false; } @@ -5396,6 +5416,7 @@ GuiBindableTreeView::ItemSourceNode void GuiBindableTreeView::ItemSourceNode::PrepareChildren() { +#ifndef VCZH_DEBUG_NO_REFLECTION if (!childrenVirtualList) { auto value = ReadProperty(itemSource, rootProvider->childrenProperty); @@ -5442,6 +5463,9 @@ GuiBindableTreeView::ItemSourceNode children.Add(node); } } +#else + CHECK_FAIL(L"GuiBindableTreeView::ItemSourceNode::PrepareChildren()#This function cannot be called without reflection enabled."); +#endif } void GuiBindableTreeView::ItemSourceNode::UnprepareChildren() @@ -26344,6 +26368,7 @@ GuiBindableDataEditor Helper Functions ***********************************************************************/ +#ifndef VCZH_DEBUG_NO_REFLECTION class GuiTemplateReflectableFactory : public Object, public virtual GuiTemplate::IFactory { protected: @@ -26399,6 +26424,7 @@ Helper Functions throw ArgumentException(message); } }; +#endif void SplitBySemicolon(const WString& input, collections::List& fragments) { @@ -26426,6 +26452,7 @@ Helper Functions Ptr CreateTemplateFactory(const WString& typeValues) { +#ifndef VCZH_DEBUG_NO_REFLECTION List types; List typeNames; SplitBySemicolon(typeValues, typeNames); @@ -26437,6 +26464,9 @@ Helper Functions ); return new GuiTemplateReflectableFactory(types); +#else + CHECK_FAIL(L"CreateTemplateFactory(const WString&)#This function cannot be called without reflection enabled."); +#endif } } } diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index 0bd91c24..ae9fdd5a 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -1802,6 +1802,7 @@ Instance Type Resolver (Instance) switch (context.passIndex) { case Instance_CompileInstanceTypes: + DELETE_ASSEMBLY(Path_Shared) path = Path_TemporaryClass; break; case Instance_CompileEventHandlers: diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 7513358e..6c53f251 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -3173,7 +3173,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiSolidBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Shape) @@ -3181,7 +3181,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiRoundBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiRoundBorderElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Radius) @@ -3189,7 +3189,7 @@ Type Declaration BEGIN_CLASS_MEMBER(Gui3DBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DBorderElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) @@ -3199,7 +3199,7 @@ Type Declaration BEGIN_CLASS_MEMBER(Gui3DSplitterElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DSplitterElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) @@ -3216,7 +3216,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiSolidBackgroundElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Shape) @@ -3224,7 +3224,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiGradientBackgroundElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiGradientBackgroundElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) @@ -3242,7 +3242,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiSolidLabelElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>) CLASS_MEMBER_METHOD(SetAlignments, {L"horizontal" _ L"vertical"}) @@ -3259,7 +3259,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiImageFrameElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>) CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"value"}, void(GuiImageFrameElement::*)(Ptr)) @@ -3275,7 +3275,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiPolygonElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>) CLASS_MEMBER_METHOD_RENAME(GetPoints, GetPointsArray, NO_PARAMETER); CLASS_MEMBER_METHOD_RENAME(SetPoints, SetPointsArray, {L"points"}); @@ -3322,7 +3322,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiColorizedTextElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiColorizedTextElement>) CLASS_MEMBER_PROPERTY_FAST(Font) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) @@ -3341,7 +3341,7 @@ Type Declaration BEGIN_CLASS_MEMBER(GuiDocumentElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) - CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor) + CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiDocumentElement>) CLASS_MEMBER_PROPERTY_FAST(Document) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretBegin) diff --git a/Import/VlppWorkflowCompiler.cpp b/Import/VlppWorkflowCompiler.cpp index 2549ca27..d18c7ec5 100644 --- a/Import/VlppWorkflowCompiler.cpp +++ b/Import/VlppWorkflowCompiler.cpp @@ -19677,7 +19677,7 @@ namespace vl writer.WriteChar(L' '); if (arguments.Count() == 0) { - writer.WriteString(methodInfo->GetParameter(i)->GetName()); + writer.WriteString(ConvertName(methodInfo->GetParameter(i)->GetName())); } else { diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/MVVM.vcxproj b/Tutorial/GacUI_HelloWorlds/MVVM/MVVM.vcxproj index 101e93e0..6e06f525 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/MVVM.vcxproj +++ b/Tutorial/GacUI_HelloWorlds/MVVM/MVVM.vcxproj @@ -53,7 +53,7 @@ Level3 Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION true @@ -69,7 +69,7 @@ MaxSpeed true true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION true @@ -96,8 +96,8 @@ - - {8018d622-66ba-4e65-9d03-bdac37ea9a54} + + {96c559ca-9718-4bec-a053-28a0ab6a8ca2} diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/Main.cpp b/Tutorial/GacUI_HelloWorlds/MVVM/Main.cpp index 23dbb5d7..d9eb2f7c 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/Main.cpp +++ b/Tutorial/GacUI_HelloWorlds/MVVM/Main.cpp @@ -27,7 +27,7 @@ public: return userName; } - void SetUserName(WString value)override + void SetUserName(const WString& value)override { userName = value; UserNameErrorChanged(); @@ -47,7 +47,7 @@ public: return password; } - void SetPassword(WString value)override + void SetPassword(const WString& value)override { password = value; PasswordErrorChanged(); diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/MainWindow.xml b/Tutorial/GacUI_HelloWorlds/MVVM/UI/MainWindow.xml index d6985a0e..c9d3e33b 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/MainWindow.xml +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/MainWindow.xml @@ -1,7 +1,27 @@ - + + @cpp:Protected + var hasLoggedIn : bool = false; + event HasLoggedInChanged(); + + func GetHasLoggedIn() : bool + { + return hasLoggedIn; + } + + func SetHasLoggedIn(value : bool) : void + { + if (hasLoggedIn != value) + { + hasLoggedIn = value; + HasLoggedInChanged(); + } + } + + prop HasLoggedIn : bool {GetHasLoggedIn, SetHasLoggedIn : HasLoggedInChanged} + diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Resource.xml b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Resource.xml index 4cda92c8..49324f64 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Resource.xml +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Resource.xml @@ -2,14 +2,10 @@ - Source - GacUIReflection.h + Source + ..\..\UIRes\MVVM.bin + GacUI.h HelloWorld - - - - ..\..\UIRes - MVVM.bin diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorld.h b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorld.h index aeb87bc3..84e8b59c 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorld.h +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorld.h @@ -1,17 +1,68 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::HelloWorld +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld +#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_HELLOWORLD +#define VCZH_WORKFLOW_COMPILER_GENERATED_HELLOWORLD #include "HelloWorldPartialClasses.h" #include "MainWindow.h" +/*********************************************************************** +Reflection +***********************************************************************/ + +namespace vl +{ + namespace reflection + { + namespace description + { +#ifndef VCZH_DEBUG_NO_REFLECTION + DECL_TYPE_INFO(::helloworld::MainWindow) + DECL_TYPE_INFO(::helloworld::MainWindowConstructor) + DECL_TYPE_INFO(::vm::IViewModel) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(::vm::IViewModel) + ::vl::WString GetPassword() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetPassword); + } + ::vl::WString GetPasswordError() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetPasswordError); + } + ::vl::WString GetUserName() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetUserName); + } + ::vl::WString GetUserNameError() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetUserNameError); + } + void SetPassword(const ::vl::WString& value) override + { + INVOKE_INTERFACE_PROXY(SetPassword, value); + } + void SetUserName(const ::vl::WString& value) override + { + INVOKE_INTERFACE_PROXY(SetUserName, value); + } + bool SignUp() override + { + INVOKEGET_INTERFACE_PROXY_NOPARAMS(SignUp); + } + END_INTERFACE_PROXY(::vm::IViewModel) +#endif + + extern bool LoadHelloWorldTypes(); + } + } +} + #endif diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp index 04e5260e..10740e42 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.cpp @@ -1,87 +1,1339 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Partial Classes +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ #include "HelloWorld.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 + +#define GLOBAL_SYMBOL ::vl_workflow_global::HelloWorld:: +#define GLOBAL_NAME ::vl_workflow_global::HelloWorld::Instance(). +#define GLOBAL_OBJ &::vl_workflow_global::HelloWorld::Instance() +#define USERIMPL(...) + +/*********************************************************************** +Global Variables +***********************************************************************/ + +BEGIN_GLOBAL_STORAGE_CLASS(vl_workflow_global_HelloWorld) + vl_workflow_global::HelloWorld instance; + INITIALIZE_GLOBAL_STORAGE_CLASS + FINALIZE_GLOBAL_STORAGE_CLASS +END_GLOBAL_STORAGE_CLASS(vl_workflow_global_HelloWorld) + +namespace vl_workflow_global +{ +/*********************************************************************** +Closure Definitions +***********************************************************************/ + + struct __vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::reflection::description::Value __vwsn_value_) const; + }; + + struct __vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::reflection::description::Value __vwsn_value_) const; + }; + + struct __vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::reflection::description::Value __vwsn_value_) const; + }; + + struct __vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; + }; + + struct __vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::reflection::description::Value __vwsn_value_) const; + }; + + struct __vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::reflection::description::Value __vwsn_value_) const; + }; + + struct __vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__ + { + ::helloworld::MainWindow* __vwsn_this_; + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindow* __vwsnctor___vwsn_this_, ::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const; + }; + + class __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::helloworld::MainWindowConstructor* __vwsnthis_1; + + __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vm::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::helloworld::MainWindowConstructor* __vwsnthis_1; + + __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vm::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::helloworld::MainWindowConstructor* __vwsnthis_1; + + __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::Ptr<::vm::IViewModel> __vwsn_bind_cache_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vm::IViewModel> __vwsn_bind_cache_1; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; + ::helloworld::MainWindow* __vwsn_bind_cache_2 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_2_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(); + void __vwsn_bind_callback_1_0(); + void __vwsn_bind_callback_2_0(); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::helloworld::MainWindowConstructor* __vwsnthis_1; + + __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiSinglelineTextBox* __vwsn_bind_cache_0 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener + { + public: + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + ::vl::reflection::description::IValueSubscription* __vwsn_subscription_; + ::vl::reflection::description::IValueSubscription* __vwsnthis_0; + ::helloworld::MainWindowConstructor* __vwsnthis_1; + + __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1); + + ::vl::reflection::description::IValueSubscription* GetSubscription() override; + bool GetStopped() override; + bool StopListening() override; + }; + + class __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::helloworld::MainWindowConstructor* __vwsnthis_0; + + __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0); + + ::vl::presentation::controls::GuiSinglelineTextBox* __vwsn_bind_cache_0 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + ::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_; + void __vwsn_bind_activator_(); + void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_initialize_(); + ::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func& __vwsn_bind_callback_) override; + bool Update() override; + bool Close() override; + }; + + //------------------------------------------------------------------- + + __vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_8.Obj())->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_8.Obj())->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_14.Obj())->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_14.Obj())->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->buttonSignUp)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->buttonSignUp)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->self)->Close(); + } + + //------------------------------------------------------------------- + + __vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_18.Obj())->GetUserName(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_18.Obj())->SetUserName(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_18.Obj())->GetPassword(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_18.Obj())->SetPassword(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::__vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(::helloworld::MainWindow* __vwsnctor___vwsn_this_, ::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(__vwsnctorthis_0) + { + } + + void __vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* __vwsno_1, ::vl::presentation::compositions::GuiEventArgs* __vwsno_2) const + { + return ::vl::__vwsn::This(__vwsn_this_)->buttonSignUp_Clicked(__vwsno_1, __vwsno_2); + } + + //------------------------------------------------------------------- + + __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetUserNameError(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->UserNameErrorChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->UserNameErrorChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetPasswordError(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->PasswordErrorChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->PasswordErrorChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>()); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>(); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_cache_1 = ::vl::Ptr<::vm::IViewModel>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_cache_2 = static_cast<::helloworld::MainWindow*>(nullptr); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = (((! ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetHasLoggedIn()) && (::vl::__vwsn::This(__vwsn_bind_cache_1.Obj())->GetUserNameError() == ::vl::WString(L"", false))) && (::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetPasswordError() == ::vl::WString(L"", false))); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0() + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_cache_1 = ::vl::__vwsn::This(__vwsnthis_0)->ViewModel); + (__vwsn_bind_cache_2 = ::vl::__vwsn::This(__vwsnthis_0)->self); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->PasswordErrorChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + (__vwsn_bind_handler_1_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1.Obj())->UserNameErrorChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0))); + (__vwsn_bind_handler_2_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->HasLoggedInChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->PasswordErrorChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1.Obj())->UserNameErrorChanged, __vwsn_bind_handler_1_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->HasLoggedInChanged, __vwsn_bind_handler_2_0); + (__vwsn_bind_cache_0 = ::vl::Ptr<::vm::IViewModel>()); + (__vwsn_bind_cache_1 = ::vl::Ptr<::vm::IViewModel>()); + (__vwsn_bind_cache_2 = static_cast<::helloworld::MainWindow*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->textBoxUserName); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::__vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::helloworld::MainWindowConstructor* __vwsnctorthis_1) + :__vwsn_bind_listeners_(__vwsnctor___vwsn_bind_listeners_) + , __vwsn_subscription_(__vwsnctor___vwsn_subscription_) + , __vwsnthis_0(__vwsnctorthis_0) + , __vwsnthis_1(__vwsnctorthis_1) + { + } + + ::vl::reflection::description::IValueSubscription* __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetSubscription() + { + return ::vl::__vwsn::This(this)->__vwsn_subscription_; + } + + bool __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::GetStopped() + { + return (! ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))); + } + + bool __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener::StopListening() + { + if (::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->GetKeys().Obj())->Contains(::vl::__vwsn::Box(this))) + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_bind_listeners_.Obj())->Remove(::vl::__vwsn::Box(this)); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::helloworld::MainWindowConstructor* __vwsnctorthis_0) + :__vwsnthis_0(__vwsnctorthis_0) + { + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + this->__vwsn_bind_listeners_ = ::vl::reflection::description::IValueDictionary::Create(); + } + + void __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + using __vwsnt_0 = ::vl::reflection::description::Value; + FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues())) + { + ::vl::__vwsn::Unbox<::vl::Func>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + } + + void __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + } + + void __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_initialize_() + { + (__vwsn_bind_cache_0 = ::vl::__vwsn::This(__vwsnthis_0)->textBoxPassword); + (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(::vl::__vwsn::This(this), &__vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0))); + } + + ::vl::Ptr<::vl::reflection::description::IValueListener> __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Subscribe(const ::vl::Func& __vwsn_bind_callback_) + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + ::vl::__vwsn::This(this)->__vwsn_bind_initialize_(); + } + auto __vwsn_subscription_ = this; + auto __vwsn_listener_shared_ = ::vl::Ptr<::vl::reflection::description::IValueListener>(new ::vl_workflow_global::__vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(__vwsn_bind_listeners_, __vwsn_subscription_, this, __vwsnthis_0)); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Set(::vl::__vwsn::Box(__vwsn_listener_shared_), ::vl::__vwsn::Box(__vwsn_bind_callback_)); + return __vwsn_listener_shared_; + } + + bool __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update() + { + if ((! __vwsn_bind_closed_)) + { + ::vl::__vwsn::This(this)->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + ::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->Clear(); + return true; + } + return false; + } + +/*********************************************************************** +Global Functions +***********************************************************************/ + + HelloWorld& HelloWorld::Instance() + { + return Getvl_workflow_global_HelloWorld().instance; + } +} + +/*********************************************************************** +Class (::helloworld::MainWindowConstructor) +***********************************************************************/ + +namespace helloworld +{ + void MainWindowConstructor::__vwsn_initialize_instance_(::helloworld::MainWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_) + { + (::vl::__vwsn::This(this)->self = __vwsn_this_); + (::vl::__vwsn::This(this)->ViewModel = ::vl::__vwsn::This(__vwsn_this_)->GetViewModel()); + (::vl::__vwsn::This(this)->__vwsn_precompile_19 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_19)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 320; __vwsn_temp__.y = 280; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 320; __vwsn_temp__.y = 280; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_18 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetViewModel()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->SetText(::vl::WString(L"Let\'s Sign Up!", false)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint32_t>(::vl::WString(L"5", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowsAndColumns(8, 2); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = 90; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(2, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(3, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(4, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(5, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = 12; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(6, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetRowOption(7, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(0, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->SetColumnOption(1, [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = 1.0; return __vwsn_temp__; }()); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetSite(0, 0, 1, 2); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = 40; __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2.Obj())->SetHorizontalAlignment(::vl::presentation::Alignment::Center); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_2.Obj())->SetText(::vl::WString(L"www.gaclib.net", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetOwnedElement(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(::vl::__vwsn::This(this)->__vwsn_precompile_2))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_1))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_3 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->SetSite(1, 0, 1, 1); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = 12; __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4.Obj())->SetText(::vl::WString(L"Username: ", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_3)->SetOwnedElement(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(::vl::__vwsn::This(this)->__vwsn_precompile_4))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_3))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_5 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetSite(1, 1, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxUserName = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_6 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxUserName)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 0; __vwsn_temp__.y = 24; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxUserName)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_5))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetSite(2, 1, 1, 1); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8.Obj())->SetWrapLineHeightCalculation(::vl::__vwsn::Parse(::vl::WString(L"true", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8.Obj())->SetWrapLine(::vl::__vwsn::Parse(::vl::WString(L"true", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF0000", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_8.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = 12; __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetOwnedElement(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(::vl::__vwsn::This(this)->__vwsn_precompile_8))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_7))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_9 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetSite(3, 0, 1, 1); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = 12; __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_10.Obj())->SetText(::vl::WString(L"Password: ", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_9)->SetOwnedElement(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(::vl::__vwsn::This(this)->__vwsn_precompile_10))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_9))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_11 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_11)->SetSite(3, 1, 1, 1); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateTextBoxStyle(); + (::vl::__vwsn::This(this)->textBoxPassword = new ::vl::presentation::controls::GuiSinglelineTextBox(__vwsn_controlStyle_)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPassword)->SetPasswordChar(::vl::__vwsn::Parse(::vl::WString(L"*", false))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_12 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPassword)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_12)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 0; __vwsn_temp__.y = 24; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_11)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->textBoxPassword)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_11))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_13 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->SetSite(4, 1, 1, 1); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>())); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14.Obj())->SetWrapLineHeightCalculation(::vl::__vwsn::Parse(::vl::WString(L"true", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14.Obj())->SetWrapLine(::vl::__vwsn::Parse(::vl::WString(L"true", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF0000", false))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_14.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = 12; __vwsn_temp__.antialias = true; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_13)->SetOwnedElement(::vl::__vwsn::Ensure(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(::vl::__vwsn::This(this)->__vwsn_precompile_14))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_13))); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_15 = new ::vl::presentation::compositions::GuiCellComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->SetSite(7, 0, 1, 2); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->buttonSignUp = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_16 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonSignUp)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 100; __vwsn_temp__.y = 24; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_16)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = (- 1); __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonSignUp)->SetText(::vl::WString(L"Sign Up!", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonSignUp)->GetBoundsComposition()))); + } + { + auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateButtonStyle(); + (::vl::__vwsn::This(this)->buttonCancel = new ::vl::presentation::controls::GuiButton(__vwsn_controlStyle_)); + } + (::vl::__vwsn::This(this)->__vwsn_precompile_17 = ::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonCancel)->GetBoundsComposition()); + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = 100; __vwsn_temp__.y = 24; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_17)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = (- 1); __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }()); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonCancel)->SetText(::vl::WString(L"Close", false)); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_15)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonCancel)->GetBoundsComposition()))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_15))); + } + { + ::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_0))); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonSignUp)->Clicked, LAMBDA(::vl_workflow_global::__vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(__vwsn_this_, this))); + } + { + auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(::vl::__vwsn::This(this)->buttonCancel)->Clicked, __vwsn_event_handler_); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + { + auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Subscribe(LAMBDA(::vl_workflow_global::__vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__(this))); + ::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->Update(); + } + } + + MainWindowConstructor::MainWindowConstructor() + { + } + +/*********************************************************************** +Class (::vm::IViewModel) +***********************************************************************/ + +} +namespace vm +{ +} +#undef GLOBAL_SYMBOL +#undef GLOBAL_NAME +#undef GLOBAL_OBJ +#undef USERIMPL + +/*********************************************************************** +Reflection +***********************************************************************/ + namespace vl { namespace reflection { namespace description { - #define _ , - IMPL_CPP_TYPE_INFO(vm::IViewModel) - IMPL_CPP_TYPE_INFO(helloworld::MainWindow) +#ifndef VCZH_DEBUG_NO_REFLECTION + IMPL_CPP_TYPE_INFO(::helloworld::MainWindow) + IMPL_CPP_TYPE_INFO(::helloworld::MainWindowConstructor) + IMPL_CPP_TYPE_INFO(::vm::IViewModel) - BEGIN_CLASS_MEMBER(vm::IViewModel) - CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) - CLASS_MEMBER_METHOD(GetUserName, NO_PARAMETER); - CLASS_MEMBER_METHOD(SetUserName, { L"value" }); - CLASS_MEMBER_METHOD(GetPassword, NO_PARAMETER); - CLASS_MEMBER_METHOD(SetPassword, { L"value" }); - CLASS_MEMBER_METHOD(GetUserNameError, NO_PARAMETER); - CLASS_MEMBER_EVENT(UserNameErrorChanged) - CLASS_MEMBER_METHOD(GetPasswordError, NO_PARAMETER); - CLASS_MEMBER_EVENT(PasswordErrorChanged) - CLASS_MEMBER_METHOD(SignUp, NO_PARAMETER); - CLASS_MEMBER_PROPERTY(UserName, GetUserName, SetUserName) - CLASS_MEMBER_PROPERTY(Password, GetPassword, SetPassword) - CLASS_MEMBER_PROPERTY_EVENT_READONLY(UserNameError, GetUserNameError, UserNameErrorChanged) - CLASS_MEMBER_PROPERTY_EVENT_READONLY(PasswordError, GetPasswordError, PasswordErrorChanged) - END_CLASS_MEMBER(vm::IViewModel) - - BEGIN_CLASS_MEMBER(helloworld::MainWindow) - CLASS_MEMBER_BASE(::vl::presentation::controls::GuiWindow) - CLASS_MEMBER_CONSTRUCTOR(helloworld::MainWindow*(vl::Ptr), { L"ViewModel" }) - - CLASS_MEMBER_GUIEVENT_HANDLER(buttonSignUp_Clicked, ::vl::presentation::compositions::GuiEventArgs) - - CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModel) +#define _ , + BEGIN_CLASS_MEMBER(::helloworld::MainWindow) + CLASS_MEMBER_METHOD(GetHasLoggedIn, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetHasLoggedIn, { L"value" }) + CLASS_MEMBER_METHOD(buttonSignUp_Clicked, { L"sender" _ L"arguments" }) CLASS_MEMBER_EVENT(HasLoggedInChanged) - CLASS_MEMBER_PROPERTY_EVENT_FAST(HasLoggedIn, HasLoggedInChanged) - END_CLASS_MEMBER(helloworld::MainWindow) + CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel) + CLASS_MEMBER_PROPERTY_EVENT(HasLoggedIn, GetHasLoggedIn, SetHasLoggedIn, HasLoggedInChanged) + CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel) + CLASS_MEMBER_FIELD(hasLoggedIn) + END_CLASS_MEMBER(::helloworld::MainWindow) - #undef _ + BEGIN_CLASS_MEMBER(::helloworld::MainWindowConstructor) + CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" }) + 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_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(ViewModel) + CLASS_MEMBER_FIELD(buttonCancel) + CLASS_MEMBER_FIELD(buttonSignUp) + CLASS_MEMBER_FIELD(self) + CLASS_MEMBER_FIELD(textBoxPassword) + CLASS_MEMBER_FIELD(textBoxUserName) + END_CLASS_MEMBER(::helloworld::MainWindowConstructor) - class HelloWorldResourceLoader : public Object, public ITypeLoader + BEGIN_INTERFACE_MEMBER(::vm::IViewModel) + CLASS_MEMBER_METHOD(GetPassword, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetPasswordError, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetUserName, NO_PARAMETER) + CLASS_MEMBER_METHOD(GetUserNameError, NO_PARAMETER) + CLASS_MEMBER_METHOD(SetPassword, { L"value" }) + CLASS_MEMBER_METHOD(SetUserName, { L"value" }) + CLASS_MEMBER_METHOD(SignUp, NO_PARAMETER) + CLASS_MEMBER_EVENT(PasswordErrorChanged) + CLASS_MEMBER_EVENT(UserNameErrorChanged) + CLASS_MEMBER_PROPERTY(Password, GetPassword, SetPassword) + CLASS_MEMBER_PROPERTY_EVENT_READONLY(PasswordError, GetPasswordError, PasswordErrorChanged) + CLASS_MEMBER_PROPERTY(UserName, GetUserName, SetUserName) + CLASS_MEMBER_PROPERTY_EVENT_READONLY(UserNameError, GetUserNameError, UserNameErrorChanged) + END_INTERFACE_MEMBER(::vm::IViewModel) + +#undef _ + class HelloWorldTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { - ADD_TYPE_INFO(vm::IViewModel) - ADD_TYPE_INFO(helloworld::MainWindow) + ADD_TYPE_INFO(::helloworld::MainWindow) + ADD_TYPE_INFO(::helloworld::MainWindowConstructor) + ADD_TYPE_INFO(::vm::IViewModel) } void Unload(ITypeManager* manager) { } }; +#endif - class HelloWorldResourcePlugin : public Object, public vl::presentation::controls::IGuiPlugin + bool LoadHelloWorldTypes() { - public: - void Load()override +#ifndef VCZH_DEBUG_NO_REFLECTION + if (auto manager = GetGlobalTypeManager()) { - GetGlobalTypeManager()->AddTypeLoader(new HelloWorldResourceLoader); + return manager->AddTypeLoader(MakePtr()); } - - void AfterLoad()override - { - } - - void Unload()override - { - } - }; - GUI_REGISTER_PLUGIN(HelloWorldResourcePlugin) +#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 diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.h b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.h index 6521ede5..6b99c97c 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.h +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/HelloWorldPartialClasses.h @@ -1,126 +1,156 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Partial Classes +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator -************************************************************************ -DO NOT MODIFY +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld_PARTIAL_CLASSES -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld_PARTIAL_CLASSES +#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_HELLOWORLDPARTIALCLASSES +#define VCZH_WORKFLOW_COMPILER_GENERATED_HELLOWORLDPARTIALCLASSES -#include "GacUIReflection.h" +#include "GacUI.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 + +namespace vl_workflow_global +{ + class __vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + class __vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + class __vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + struct __vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + struct __vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; +} + +namespace helloworld +{ + class MainWindowConstructor; + class MainWindow; +} namespace vm { class IViewModel; + } namespace helloworld { - class MainWindow; + class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description + { + friend class ::vl_workflow_global::__vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif + protected: + ::vl::Ptr<::vm::IViewModel> ViewModel = ::vl::Ptr<::vm::IViewModel>(); + ::helloworld::MainWindow* self = static_cast<::helloworld::MainWindow*>(nullptr); + ::vl::presentation::controls::GuiSinglelineTextBox* textBoxUserName = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); + ::vl::presentation::controls::GuiSinglelineTextBox* textBoxPassword = static_cast<::vl::presentation::controls::GuiSinglelineTextBox*>(nullptr); + ::vl::presentation::controls::GuiButton* buttonSignUp = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); + ::vl::presentation::controls::GuiButton* buttonCancel = static_cast<::vl::presentation::controls::GuiButton*>(nullptr); + ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_0 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_3 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_5 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_11 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_14 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(); + ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_17 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + ::vl::Ptr<::vm::IViewModel> __vwsn_precompile_18 = ::vl::Ptr<::vm::IViewModel>(); + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr); + void __vwsn_initialize_instance_(::helloworld::MainWindow* __vwsn_this_, ::vl::presentation::GuiResourcePathResolver* __vwsn_resolver_); + public: + MainWindowConstructor(); + }; } namespace vm { - class IViewModel : public virtual ::vl::reflection::IDescriptable, public vl::reflection::Description + class IViewModel : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description { +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif public: virtual ::vl::WString GetUserName() = 0; - virtual void SetUserName(::vl::WString value) = 0; + virtual void SetUserName(const ::vl::WString& value) = 0; virtual ::vl::WString GetPassword() = 0; - virtual void SetPassword(::vl::WString value) = 0; + virtual void SetPassword(const ::vl::WString& value) = 0; virtual ::vl::WString GetUserNameError() = 0; - vl::Event UserNameErrorChanged; + ::vl::Event UserNameErrorChanged; virtual ::vl::WString GetPasswordError() = 0; - vl::Event PasswordErrorChanged; + ::vl::Event PasswordErrorChanged; virtual bool SignUp() = 0; }; } -namespace helloworld -{ - template - class MainWindow_ : public ::vl::presentation::controls::GuiWindow, public vl::presentation::GuiInstancePartialClass, public vl::reflection::Description - { - friend struct vl::reflection::description::CustomTypeDescriptorSelector; - private: - vl::Ptr ViewModel_; - bool HasLoggedIn_; - protected: - ::vl::presentation::controls::GuiButton* buttonCancel; - ::vl::presentation::controls::GuiButton* buttonSignUp; - ::vl::presentation::controls::GuiWindow* self; - ::vl::presentation::controls::GuiSinglelineTextBox* textBoxPassword; - ::vl::presentation::controls::GuiSinglelineTextBox* textBoxUserName; +/*********************************************************************** +Global Variables and Functions +***********************************************************************/ - void InitializeComponents(vl::Ptr ViewModel) - { - ViewModel_ = ViewModel; - if (InitializeFromResource()) - { - GUI_INSTANCE_REFERENCE(buttonCancel); - GUI_INSTANCE_REFERENCE(buttonSignUp); - GUI_INSTANCE_REFERENCE(self); - GUI_INSTANCE_REFERENCE(textBoxPassword); - GUI_INSTANCE_REFERENCE(textBoxUserName); - } - else - { - ViewModel_ = 0; - } - } +namespace vl_workflow_global +{ + class HelloWorld + { public: - MainWindow_() - :vl::presentation::GuiInstancePartialClass<::vl::presentation::controls::GuiWindow>(L"helloworld::MainWindow") - ,::vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle()) - ,buttonCancel(0) - ,buttonSignUp(0) - ,self(0) - ,textBoxPassword(0) - ,textBoxUserName(0) - { - this->HasLoggedIn_ = vl::reflection::description::UnboxValue( - []() - { - vl::reflection::description::Value value; - vl::reflection::description::GetTypeDescriptor()->GetSerializableType()->Deserialize(L"false", value); - return value; - }()); - } - vl::Ptr GetViewModel() - { - return ViewModel_; - } - - vl::Event HasLoggedInChanged; - - bool GetHasLoggedIn() - { - return HasLoggedIn_; - } - - void SetHasLoggedIn(bool value) - { - HasLoggedIn_ = value; - HasLoggedInChanged(); - } + static HelloWorld& Instance(); }; - } -namespace vl -{ - namespace reflection - { - namespace description - { - DECL_TYPE_INFO(vm::IViewModel) - DECL_TYPE_INFO(helloworld::MainWindow) - } - } -} +#if defined( _MSC_VER) +#pragma warning(pop) +#elif defined(__GNUC__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif #endif diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp index 97557122..29f129ce 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.cpp @@ -1,45 +1,89 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::MainWindow +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ #include "HelloWorld.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 + +#define GLOBAL_SYMBOL ::vl_workflow_global::HelloWorld:: +#define GLOBAL_NAME ::vl_workflow_global::HelloWorld::Instance(). +#define GLOBAL_OBJ &::vl_workflow_global::HelloWorld::Instance() +#define USERIMPL(...) + +/*********************************************************************** +Class (::helloworld::MainWindow) +***********************************************************************/ + namespace helloworld { - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) + bool MainWindow::GetHasLoggedIn() + { + return ::vl::__vwsn::This(this)->hasLoggedIn; + } - void MainWindow::buttonSignUp_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments) + void MainWindow::SetHasLoggedIn(bool value) + { + if ((::vl::__vwsn::This(this)->hasLoggedIn != value)) + { + (::vl::__vwsn::This(this)->hasLoggedIn = value); + ::vl::__vwsn::EventInvoke(::vl::__vwsn::This(this)->HasLoggedInChanged)(); + } + } + + ::vl::Ptr<::vm::IViewModel> MainWindow::GetViewModel() + { + return ::vl::__vwsn::This(this)->__vwsn_parameter_ViewModel; + } + + USERIMPL(/* ::helloworld::MainWindow */) + void MainWindow::buttonSignUp_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) { if (this->GetViewModel()->SignUp()) { this->SetHasLoggedIn(true); - this->buttonSignUp->SetText(L"Suggess!"); + this->buttonSignUp->SetText(L"Success!"); } } - void MainWindow::OnCreate() + MainWindow::MainWindow(::vl::Ptr<::vm::IViewModel> __vwsn_ctor_parameter_ViewModel) + : ::vl::presentation::controls::GuiWindow(::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateWindowStyle()) { - } - - void MainWindow::OnDestroy() - { - } - - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER - - MainWindow::MainWindow(vl::Ptr ViewModel) - { - InitializeComponents(ViewModel); - OnCreate(); + (::vl::__vwsn::This(this)->__vwsn_parameter_ViewModel = __vwsn_ctor_parameter_ViewModel); + auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"helloworld::MainWindow", false)); + auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory())); + ::vl::__vwsn::This(this)->__vwsn_initialize_instance_(this, ::vl::__vwsn::Ensure(static_cast<::vl::presentation::GuiResourcePathResolver*>(__vwsn_resolver_.Obj()))); } MainWindow::~MainWindow() { - OnDestroy(); - ClearSubscriptions(); + ::vl::__vwsn::This(this)->ClearSubscriptions(); } + } +#undef GLOBAL_SYMBOL +#undef GLOBAL_NAME +#undef GLOBAL_OBJ +#undef USERIMPL + +#if defined( _MSC_VER) +#pragma warning(pop) +#elif defined(__GNUC__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.h b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.h index d2f6e98f..56df9240 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.h +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/Source/MainWindow.h @@ -1,33 +1,75 @@ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::MainWindow +/*********************************************************************** +!!!!!! DO NOT MODIFY !!!!!! -This file is generated by: Vczh GacUI Resource Code Generator +GacGen.exe Resource.xml + +This file is generated by Workflow compiler +https://github.com/vczh-libraries ***********************************************************************/ -#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld_MainWindow -#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_HelloWorld_MainWindow +#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_MAINWINDOW +#define VCZH_WORKFLOW_COMPILER_GENERATED_MAINWINDOW #include "HelloWorldPartialClasses.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 + namespace helloworld { - class MainWindow : public helloworld::MainWindow_ + class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::helloworld::MainWindowConstructor, public ::vl::reflection::Description { - friend class helloworld::MainWindow_; - friend struct vl::reflection::description::CustomTypeDescriptorSelector; + friend class ::helloworld::MainWindowConstructor; + friend class ::vl_workflow_global::__vwsnc10_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc8_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener; + friend class ::vl_workflow_global::__vwsnc9_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf1_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf2_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf3_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf5_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf6_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsnf7_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; + friend struct ::vl_workflow_global::__vwsno4_HelloWorld_helloworld_MainWindowConstructor___vwsn_initialize_instance__; +#ifndef VCZH_DEBUG_NO_REFLECTION + friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; +#endif protected: - - // #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.) - void buttonSignUp_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs& arguments); - void OnCreate(); - void OnDestroy(); - // #endregion CLASS_MEMBER_GUIEVENT_HANDLER + bool hasLoggedIn = false; public: - MainWindow(vl::Ptr ViewModel); + ::vl::Event HasLoggedInChanged; + bool GetHasLoggedIn(); + void SetHasLoggedIn(bool value); + ::vl::Ptr<::vm::IViewModel> __vwsn_parameter_ViewModel = ::vl::Ptr<::vm::IViewModel>(); + ::vl::Ptr<::vm::IViewModel> GetViewModel(); + protected: + void buttonSignUp_Clicked(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments); + public: + MainWindow(::vl::Ptr<::vm::IViewModel> __vwsn_ctor_parameter_ViewModel); ~MainWindow(); }; + } +#if defined( _MSC_VER) +#pragma warning(pop) +#elif defined(__GNUC__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif #endif diff --git a/Tutorial/GacUI_HelloWorlds/MVVM/UI/ViewModel.xml b/Tutorial/GacUI_HelloWorlds/MVVM/UI/ViewModel.xml index 4e17ed05..be875412 100644 --- a/Tutorial/GacUI_HelloWorlds/MVVM/UI/ViewModel.xml +++ b/Tutorial/GacUI_HelloWorlds/MVVM/UI/ViewModel.xml @@ -1,5 +1,5 @@ - + - \ No newline at end of file + \ No newline at end of file diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/CppXml.bin b/Tutorial/GacUI_HelloWorlds/UIRes/CppXml.bin index f8400bfa..90542b3a 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/CppXml.bin and b/Tutorial/GacUI_HelloWorlds/UIRes/CppXml.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/MVVM.bin b/Tutorial/GacUI_HelloWorlds/UIRes/MVVM.bin index f9921550..48b4a20e 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/MVVM.bin and b/Tutorial/GacUI_HelloWorlds/UIRes/MVVM.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/Xml/UI/Resource.xml b/Tutorial/GacUI_HelloWorlds/Xml/UI/Resource.xml index c9508f67..80a0b497 100644 --- a/Tutorial/GacUI_HelloWorlds/Xml/UI/Resource.xml +++ b/Tutorial/GacUI_HelloWorlds/Xml/UI/Resource.xml @@ -2,8 +2,7 @@ - ..\..\UIRes - Xml.bin + ..\..\UIRes\Xml.bin