From 2f7b3389e01bd8648443cc63da6fe3efa17e6f71 Mon Sep 17 00:00:00 2001 From: vczh Date: Mon, 22 Sep 2025 06:23:15 -0700 Subject: [PATCH] Update import --- Import/GacUI.UnitTest.UI.cpp | 301 +- Import/GacUI.UnitTest.UI.h | 90 +- Import/GacUI.UnitTest.UIReflection.cpp | 10 - Import/GacUI.UnitTest.UIReflection.h | 8 - Import/GacUI.UnitTest.h | 93 +- Import/GacUI.Windows.cpp | 61 +- Import/GacUI.cpp | 1730 ++++--- Import/GacUI.h | 1748 +++---- Import/GacUIReflection.cpp | 8 +- Import/Skins/DarkSkin/DarkSkin.cpp | 4221 ++++++++--------- Import/Skins/DarkSkin/DarkSkin.h | 1100 ++--- Import/Skins/DarkSkin/DarkSkinReflection.cpp | 42 - Import/Skins/DarkSkin/DarkSkinReflection.h | 4 - Import/Vlpp.Linux.cpp | 5 +- Import/Vlpp.Windows.cpp | 5 +- Import/Vlpp.cpp | 37 +- Import/Vlpp.h | 164 +- Import/VlppOS.Linux.cpp | 8 +- Import/VlppOS.Windows.cpp | 10 +- Import/VlppOS.cpp | 818 ++-- Import/VlppOS.h | 58 +- Tools/Reflection32.bin | Bin 982322 -> 956937 bytes Tools/Reflection64.bin | Bin 982322 -> 956937 bytes .../GacUI_ControlTemplate/UIRes/BlackSkin.bin | Bin 95421 -> 94899 bytes Tutorial/GacUI_Controls/UIRes/TextEditor.bin | Bin 67938 -> 67865 bytes Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 | Bin 25176 -> 25176 bytes Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 | Bin 25176 -> 25176 bytes .../GacUI_Layout/UIRes/RichTextEmbedding.bin | Bin 64137 -> 63725 bytes Tutorial/GacUI_Xml/UIRes/Binding_Uri.bin | Bin 62520 -> 62508 bytes 29 files changed, 5175 insertions(+), 5346 deletions(-) diff --git a/Import/GacUI.UnitTest.UI.cpp b/Import/GacUI.UnitTest.UI.cpp index 987fea45..067a751b 100644 --- a/Import/GacUI.UnitTest.UI.cpp +++ b/Import/GacUI.UnitTest.UI.cpp @@ -553,42 +553,6 @@ Closures } void __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetText(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); @@ -601,12 +565,12 @@ Closures //------------------------------------------------------------------- - __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetStrings(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>>(__vwsn_value_); @@ -994,10 +958,11 @@ Closures //------------------------------------------------------------------- - __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) + :__vwsn_this_(__vwsnctor___vwsn_this_) + , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; @@ -1005,11 +970,11 @@ Closures void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDomAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetStrings().Obj())->WindowTitle(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__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) + void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() { this->__vwsn_bind_activator_(); } @@ -1019,8 +984,8 @@ Closures if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsn_this_; } catch(...){ return static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, ::vl::Func(this, &__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -1043,10 +1008,10 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)); + (__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } @@ -1058,7 +1023,7 @@ Closures __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; @@ -1066,11 +1031,11 @@ Closures void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetElementsAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }(); + auto __vwsn_bind_activator_result_ = ::gaclib_controls::UnitTestSnapshotViewerStrings::Get(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetLocale()); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__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) + void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() { this->__vwsn_bind_activator_(); } @@ -1080,8 +1045,8 @@ Closures if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func(this, &__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return ::vl::presentation::controls::GetApplication(); } catch(...){ return static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->LocaleChanged, ::vl::Func(this, &__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -1098,129 +1063,6 @@ Closures } bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsn_this_(__vwsnctor___vwsn_this_) - , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetStrings().Obj())->WindowTitle(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsn_this_; } catch(...){ return static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, ::vl::Func(this, &__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::gaclib_controls::UnitTestSnapshotViewerStrings::Get(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetLocale()); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0() - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return ::vl::presentation::controls::GetApplication(); } catch(...){ return static_cast<::vl::presentation::controls::GuiApplication*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->LocaleChanged, ::vl::Func(this, &__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -1239,11 +1081,11 @@ Closures //------------------------------------------------------------------- - __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings() + __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings() { } - ::vl::WString __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle() + ::vl::WString __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle() { return ::vl::WString::Unmanaged(L"Unit Test Snapshot Viewer"); } @@ -1278,7 +1120,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerStrings) ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> UnitTestSnapshotViewerStrings::__vwsn_ls_en_US_BuildStrings(::vl::Locale __vwsn_ls_locale) { - return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()); + return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()); } void UnitTestSnapshotViewerStrings::Install(::vl::Locale __vwsn_ls_locale, ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> __vwsn_ls_impl) @@ -1314,9 +1156,9 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) { ::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1920); __vwsn_temp__.y = static_cast<::vl::vint>(1080); return __vwsn_temp__; }()); } - (this->__vwsn_precompile_38 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); + (this->__vwsn_precompile_32 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { - ::vl::__vwsn::This(this->__vwsn_precompile_38)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(800); __vwsn_temp__.y = static_cast<::vl::vint>(600); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(800); __vwsn_temp__.y = static_cast<::vl::vint>(600); return __vwsn_temp__; }()); } (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition()); { @@ -1638,64 +1480,6 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages()); ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13)); } - { - (this->__vwsn_precompile_32 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetText(::vl::WString::Unmanaged(L"DOM")); - } - { - (this->__vwsn_precompile_33 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_33)->SetHorizontalAlwaysVisible(false); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_33)->SetVerticalAlwaysVisible(false); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_33)->SetEditMode(::vl::presentation::controls::GuiDocumentEditMode::Selectable); - } - (this->__vwsn_precompile_34 = ::vl::__vwsn::This(this->__vwsn_precompile_33)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_34)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_32)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_33)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32)); - } - { - (this->__vwsn_precompile_35 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetText(::vl::WString::Unmanaged(L"Elements")); - } - { - (this->__vwsn_precompile_36 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox)); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetHorizontalAlwaysVisible(false); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetVerticalAlwaysVisible(false); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_36)->SetEditMode(::vl::presentation::controls::GuiDocumentEditMode::Selectable); - } - (this->__vwsn_precompile_37 = ::vl::__vwsn::This(this->__vwsn_precompile_36)->GetBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_37)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_35)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_36)); - } - { - auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages()); - ::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35)); - } (this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); @@ -1736,7 +1520,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } @@ -1745,16 +1529,6 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } } UnitTestSnapshotViewerWindowConstructor::UnitTestSnapshotViewerWindowConstructor() @@ -1792,17 +1566,11 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor) , __vwsn_precompile_29(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) , __vwsn_precompile_30(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) , __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_32(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_33(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) - , __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) + , __vwsn_precompile_32(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) , treeViewFileNodes(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) , textListFrames(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)) , scRendering(static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr)) , treeViewDom(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) - , __vwsn_precompile_35(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) - , __vwsn_precompile_36(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) - , __vwsn_precompile_37(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_38(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } @@ -2093,9 +1861,6 @@ UnitTestSnapshotFrame UnitTest_RenderingTrace& trace; UnitTest_RenderingFrame frame; Ptr domRoot; - WString elements; - WString commands; - WString dom; public: UnitTestSnapshotFrame(vint _index, UnitTest_RenderingTrace& _trace, UnitTest_RenderingFrame _frame) @@ -2117,24 +1882,6 @@ UnitTestSnapshotFrame } } - WString GetElementsAsJsonText() override - { - if (elements == L"") - { - elements = JsonToString(ConvertCustomTypeToJson(frame.elements), GetJsonFormatting()); - } - return elements; - } - - WString GetDomAsJsonText() override - { - if (dom == L"") - { - dom = JsonToString(ConvertCustomTypeToJson(frame.root), GetJsonFormatting()); - } - return dom; - } - Ptr GetDom() override { if (!domRoot) diff --git a/Import/GacUI.UnitTest.UI.h b/Import/GacUI.UnitTest.UI.h index 0dc90acd..8ca75f95 100644 --- a/Import/GacUI.UnitTest.UI.h +++ b/Import/GacUI.UnitTest.UI.h @@ -41,8 +41,6 @@ namespace vl_workflow_global struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; @@ -58,9 +56,7 @@ namespace vl_workflow_global class __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; + class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; } namespace __vwsn_enums @@ -120,8 +116,6 @@ namespace gaclib_controls #endif public: virtual ::vl::WString GetName() = 0; - virtual ::vl::WString GetElementsAsJsonText() = 0; - virtual ::vl::WString GetDomAsJsonText() = 0; virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 0; }; @@ -145,7 +139,7 @@ namespace gaclib_controls class UnitTestSnapshotViewerStrings : public ::vl::Object, public ::vl::reflection::Description { - friend class ::vl_workflow_global::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; + friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -164,13 +158,9 @@ namespace gaclib_controls friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; @@ -218,17 +208,11 @@ namespace gaclib_controls ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_29; ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_30; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_32; - ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_33; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_32; ::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes; ::vl::presentation::controls::GuiBindableTextList* textListFrames; ::vl::presentation::controls::GuiScrollContainer* scRendering; ::vl::presentation::controls::GuiBindableTreeView* treeViewDom; - ::vl::presentation::controls::GuiTabPage* __vwsn_precompile_35; - ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_36; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_37; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_38; void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_); public: UnitTestSnapshotViewerWindowConstructor(); @@ -243,13 +227,9 @@ namespace gaclib_controls friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription; friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; - friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; @@ -326,24 +306,6 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ - { - ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - - __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ - { - ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - - __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_ { ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; @@ -499,47 +461,11 @@ Closures class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { - public: - ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - - __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiBindableTextList* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - - __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); - - ::vl::presentation::controls::GuiBindableTextList* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { public: ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_; ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; @@ -552,12 +478,12 @@ Closures bool Close() override; }; - class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; - __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); + __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0); ::vl::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; @@ -570,10 +496,10 @@ Closures bool Close() override; }; - class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings + class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings { public: - __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings(); + __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings(); ::vl::WString WindowTitle() override; }; diff --git a/Import/GacUI.UnitTest.UIReflection.cpp b/Import/GacUI.UnitTest.UIReflection.cpp index 1f0a43fc..34f7ecd4 100644 --- a/Import/GacUI.UnitTest.UIReflection.cpp +++ b/Import/GacUI.UnitTest.UIReflection.cpp @@ -80,12 +80,8 @@ namespace vl BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetDomAsJsonText, NO_PARAMETER) - CLASS_MEMBER_METHOD(GetElementsAsJsonText, NO_PARAMETER) CLASS_MEMBER_METHOD(GetName, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom) - CLASS_MEMBER_PROPERTY_READONLY(DomAsJsonText, GetDomAsJsonText) - CLASS_MEMBER_PROPERTY_READONLY(ElementsAsJsonText, GetElementsAsJsonText) CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) @@ -161,12 +157,6 @@ namespace vl CLASS_MEMBER_FIELD(__vwsn_precompile_30) CLASS_MEMBER_FIELD(__vwsn_precompile_31) CLASS_MEMBER_FIELD(__vwsn_precompile_32) - CLASS_MEMBER_FIELD(__vwsn_precompile_33) - CLASS_MEMBER_FIELD(__vwsn_precompile_34) - CLASS_MEMBER_FIELD(__vwsn_precompile_35) - CLASS_MEMBER_FIELD(__vwsn_precompile_36) - CLASS_MEMBER_FIELD(__vwsn_precompile_37) - CLASS_MEMBER_FIELD(__vwsn_precompile_38) CLASS_MEMBER_FIELD(__vwsn_precompile_4) CLASS_MEMBER_FIELD(__vwsn_precompile_5) CLASS_MEMBER_FIELD(__vwsn_precompile_6) diff --git a/Import/GacUI.UnitTest.UIReflection.h b/Import/GacUI.UnitTest.UIReflection.h index 2d0fbb33..56bacc7e 100644 --- a/Import/GacUI.UnitTest.UIReflection.h +++ b/Import/GacUI.UnitTest.UIReflection.h @@ -114,14 +114,6 @@ namespace vl { INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDom); } - ::vl::WString GetDomAsJsonText() override - { - INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDomAsJsonText); - } - ::vl::WString GetElementsAsJsonText() override - { - INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetElementsAsJsonText); - } ::vl::WString GetName() override { INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName); diff --git a/Import/GacUI.UnitTest.h b/Import/GacUI.UnitTest.h index 2e14bcb0..11d1e1c0 100644 --- a/Import/GacUI.UnitTest.h +++ b/Import/GacUI.UnitTest.h @@ -1089,7 +1089,7 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel) vint textWidth = 0; vint textHeight = 0; - collections::List lines; + collections::List lines; { collections::List> matches; regexCrLf.Split(text, true, matches); @@ -1097,30 +1097,32 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel) if (matches.Count() == 0) { // when there is no text, measure a space - lines.Add(1); + lines.Add(WString::Unmanaged(L" ")); + } + else if (arguments.multiline) + { + // add all lines, and if any line is empty, measure a space + for (auto match : matches) + { + auto line = match->Result().Value(); + lines.Add(line.Length() ? line : WString::Unmanaged(L" ")); + } } else { - auto normalizedLines = - From(matches) - .Select([](auto&& match) { return match->Result().Length(); }) - .Select([](vint length) { return length ? length : 1; }) - ; - if (arguments.multiline) + lines.Add(stream::GenerateToStream([&](stream::TextWriter& writer) { - // calculate text as multiple lines - CopyFrom( - lines, - normalizedLines - ); - } - else + for (auto [match, index] : indexed(matches)) + { + if (index > 0) writer.WriteChar(L' '); + auto line = match->Result().Value(); + writer.WriteString(line); + } + })); + if(lines[0].Length() == 0) { - // calculate text as single line, insert a space between each line - lines.Add( - normalizedLines - .template Aggregate(-1, [](auto a, auto b) { return a + b + 1; }) - ); + // when there is no text, measure a space + lines[0] = WString::Unmanaged(L" "); } } } @@ -1129,24 +1131,59 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel) { // width of the text is 0 // insert a line break when there is no space horizontally - textHeight = 4 + size * From(lines) - .Select([columns = width / size](vint length) + vint totalLines = 0; + for (auto&& line : lines) + { + if (line.Length() == 0) { - if (columns == 0) + totalLines++; + continue; + } + + double accumulatedWidth = 0; + for (vint i = 0; i < line.Length(); i++) + { + auto c = line[i]; + auto w = (c < 128 ? 0.6 : 1) * size; + if (accumulatedWidth + w > width) { - return length; + if (accumulatedWidth == 0) + { + totalLines++; + } + else + { + totalLines++; + accumulatedWidth = w; + } } else { - return (length + columns - 1) / columns; + accumulatedWidth += w; } - }) - .template Aggregate(0, [](auto a, auto b) { return a + b; }); + } + if (accumulatedWidth > 0) + { + totalLines++; + } + } + textHeight = 4 + size * totalLines; } else { // width of the text is width of the longest line - textWidth = size * From(lines).Max(); + textWidth = (vint)(size * From(lines) + .Select([](const WString& line) + { + double sum = 0; + for (vint i = 0; i < line.Length(); i++) + { + auto c = line[i]; + sum += (c < 128 ? 0.6 : 1); + } + return sum; + }) + .Max()); textHeight = 4 + size * lines.Count(); } diff --git a/Import/GacUI.Windows.cpp b/Import/GacUI.Windows.cpp index 8ade843b..db31f17b 100644 --- a/Import/GacUI.Windows.cpp +++ b/Import/GacUI.Windows.cpp @@ -3485,11 +3485,11 @@ WindowsDirect2DParagraph (Formatting) void SetMaxWidth(vint value)override { - if(maxWidth!=value) + if (maxWidth != value) { - maxWidth=value; - textLayout->SetMaxWidth(value==-1?65536:(FLOAT)value); - formatDataAvailable=false; + maxWidth = value; + textLayout->SetMaxWidth(value == -1 ? 65536 : (FLOAT)value); + formatDataAvailable = false; } } @@ -3510,18 +3510,21 @@ WindowsDirect2DParagraph (Formatting) void SetParagraphAlignment(Alignment value)override { - formatDataAvailable=false; - switch(value) + if (GetParagraphAlignment() != value) { - case Alignment::Left: - textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING); - break; - case Alignment::Center: - textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER); - break; - case Alignment::Right: - textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_TRAILING); - break; + formatDataAvailable = false; + switch (value) + { + case Alignment::Left: + textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING); + break; + case Alignment::Center: + textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER); + break; + case Alignment::Right: + textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_TRAILING); + break; + } } } @@ -8504,8 +8507,11 @@ WindowsGDIParagraph void SetWrapLine(bool value)override { - paragraph->BuildUniscribeData(renderTarget->GetDC()); - paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment); + if (paragraph->lastWrapLine != value) + { + paragraph->BuildUniscribeData(renderTarget->GetDC()); + paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment); + } } vint GetMaxWidth()override @@ -8515,8 +8521,11 @@ WindowsGDIParagraph void SetMaxWidth(vint value)override { - paragraph->BuildUniscribeData(renderTarget->GetDC()); - paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment); + if (paragraph->lastAvailableWidth != value) + { + paragraph->BuildUniscribeData(renderTarget->GetDC()); + paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment); + } } Alignment GetParagraphAlignment()override @@ -8526,8 +8535,11 @@ WindowsGDIParagraph void SetParagraphAlignment(Alignment value)override { - paragraph->BuildUniscribeData(renderTarget->GetDC()); - paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value); + if (paragraph->paragraphAlignment != value) + { + paragraph->BuildUniscribeData(renderTarget->GetDC()); + paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value); + } } bool SetFont(vint start, vint length, const WString& value)override @@ -8667,6 +8679,7 @@ WindowsGDIParagraph bool IsCaretBoundsFromTextRun(vint caret, bool caretFrontSide) { + if (paragraph->lines.Count() == 1 && paragraph->lines[0]->scriptRuns.Count() == 0) return true; if (!paragraph->IsValidCaret(caret)) return false; vint frontLine = 0; @@ -10784,9 +10797,9 @@ UniscribeLine if (scriptRuns.Count() == 0) { // if this line doesn't contains any run, skip and render a blank line - vint height = (vint)(documentFragments[0]->fontStyle.size * 1.5); - bounds = Rect(Point(cx, cy), Size(0, height)); - cy += height; + vint minHeight = documentFragments[0]->fontStyle.size; + bounds = Rect(Point(cx, cy), Size(0, minHeight)); + cy += minHeight; } else { diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index 54c75905..34c8b757 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -18306,7 +18306,7 @@ GuiDocumentCommonInterface }); } - void GuiDocumentCommonInterface::EditTextInternal(TextPos begin, TextPos end, const Func& editor) + void GuiDocumentCommonInterface::EditTextInternal(TextPos begin, TextPos end, const Func& editor, bool clearUndoRedo) { // save run before editing if(begin>end) @@ -18343,18 +18343,25 @@ GuiDocumentCommonInterface UpdateCaretPoint(); SelectionChanged.Execute(documentControl->GetNotifyEventArguments()); - // save run after editing - Ptr inputModel=documentElement->GetDocument()->CopyDocument(begin, caret, true); + if (clearUndoRedo) + { + undoRedoProcessor->ClearUndoRedo(); + } + else + { + // save run after editing + Ptr inputModel = documentElement->GetDocument()->CopyDocument(begin, caret, true); - // submit redo-undo - GuiDocumentUndoRedoProcessor::ReplaceModelStruct arguments; - arguments.originalStart=begin; - arguments.originalEnd=end; - arguments.originalModel=originalModel; - arguments.inputStart=begin; - arguments.inputEnd=caret; - arguments.inputModel=inputModel; - undoRedoProcessor->OnReplaceModel(arguments); + // submit redo-undo + GuiDocumentUndoRedoProcessor::ReplaceModelStruct arguments; + arguments.originalStart = begin; + arguments.originalEnd = end; + arguments.originalModel = originalModel; + arguments.inputStart = begin; + arguments.inputEnd = caret; + arguments.inputModel = inputModel; + undoRedoProcessor->OnReplaceModel(arguments); + } } } @@ -18656,7 +18663,37 @@ GuiDocumentCommonInterface //================ basic - void GuiDocumentCommonInterface::UserInput_FixForPlainText(Ptr model, vint beginParagraph, vint endParagraph) + struct FetchLineRecord + { + const wchar_t* begin = nullptr; + const wchar_t* end = nullptr; + const wchar_t* next = nullptr; + }; + + FetchLineRecord FetchLineRecord_Init(const wchar_t* text) + { + return { text,text,nullptr }; + } + + FetchLineRecord FetchLineRecord_Join(const FetchLineRecord& flr1, const FetchLineRecord& flr2) + { + return { flr1.begin, flr2.end, flr2.next }; + } + + void FetchLineRecord_Next(FetchLineRecord& record) + { + while (*record.end != '\n' && *record.end != '\0') record.end++; + record.next = record.end; + while (record.end > record.begin && record.end[-1] == L'\r') record.end--; + if (*record.next == '\n') record.next++; + } + + WString FetchLineRecord_Get(const FetchLineRecord& flr, const wchar_t* buffer, const WString& text) + { + return text.Sub(flr.begin - buffer, flr.end - flr.begin); + } + + void GuiDocumentCommonInterface::UserInput_ConvertToPlainText(Ptr model, vint beginParagraph, vint endParagraph) { if (beginParagraph > endParagraph) return; @@ -18673,13 +18710,13 @@ GuiDocumentCommonInterface } } - void GuiDocumentCommonInterface::UserInput_FixForSingleline(collections::List& paragraphTexts) + void GuiDocumentCommonInterface::UserInput_JoinParagraphs(collections::List& paragraphTexts, bool spaceForFlattenedLineBreak) { auto line = stream::GenerateToStream([&](stream::StreamWriter& writer) { for(auto [paragraph, index] : indexed(paragraphTexts)) { - if (index > 0 && config.spaceForFlattenedLineBreak) + if (index > 0 && spaceForFlattenedLineBreak) { writer.WriteChar(L' '); } @@ -18690,12 +18727,12 @@ GuiDocumentCommonInterface paragraphTexts.Add(line); } - void GuiDocumentCommonInterface::UserInput_FixForSingleline(Ptr model) + void GuiDocumentCommonInterface::UserInput_JoinParagraphs(Ptr model, bool spaceForFlattenedLineBreak) { auto firstParagraph = model->paragraphs[0]; for (auto paragraph : From(model->paragraphs).Skip(1)) { - if (config.spaceForFlattenedLineBreak) + if (spaceForFlattenedLineBreak) { auto textRun = Ptr(new DocumentTextRun); textRun->text = WString::Unmanaged(L" "); @@ -18707,28 +18744,40 @@ GuiDocumentCommonInterface model->paragraphs.Add(firstParagraph); } - void GuiDocumentCommonInterface::UserInput_FixForNonParagraph(WString& text) + void GuiDocumentCommonInterface::UserInput_JoinLinesInsideParagraph(WString& text, bool spaceForFlattenedLineBreak) { + const wchar_t* buffer = text.Buffer(); + auto flr = FetchLineRecord_Init(buffer); + FetchLineRecord_Next(flr); + if (!*flr.next) + { + bool addSpace = flr.end < flr.next && flr.next[-1] != L'\r' && spaceForFlattenedLineBreak; + text = FetchLineRecord_Get(flr, buffer, text); + if (addSpace) + { + text += WString::Unmanaged(L" "); + } + return; + } + text = stream::GenerateToStream([&](stream::StreamWriter& writer) { - for (vint j = 0; j < text.Length(); j++) + writer.WriteString(FetchLineRecord_Get(flr, buffer, text)); + while (*flr.end) { - if (text[j] == L'\n') + if (spaceForFlattenedLineBreak) { - if (config.spaceForFlattenedLineBreak) - { - writer.WriteChar(L' '); - } - } - else if (text[j] != L'\r') - { - writer.WriteChar(text[j]); + writer.WriteChar(L' '); } + + flr = FetchLineRecord_Init(flr.next); + FetchLineRecord_Next(flr); + writer.WriteString(FetchLineRecord_Get(flr, buffer, text)); } }); } - void GuiDocumentCommonInterface::UserInput_FixForNonParagraph(Ptr paragraph) + void GuiDocumentCommonInterface::UserInput_JoinLinesInsideParagraph(Ptr paragraph, bool spaceForFlattenedLineBreak) { List> containers; containers.Add(paragraph); @@ -18744,73 +18793,101 @@ GuiDocumentCommonInterface } else if (auto textRun = run.Cast()) { - UserInput_FixForNonParagraph(textRun->text); + UserInput_JoinLinesInsideParagraph(textRun->text, spaceForFlattenedLineBreak); } } } } - WString GuiDocumentCommonInterface::UserInput_ConvertDocumentToText(Ptr model) - { - return model->GetTextForReading(WString::Unmanaged(config.doubleLineBreaksBetweenParagraph ? L"\r\n\r\n" : L"\r\n")); - } - - void GuiDocumentCommonInterface::UserInput_FormatText(collections::List& paragraphTexts) + void GuiDocumentCommonInterface::UserInput_FormatText(collections::List& paragraphTexts, const GuiDocumentConfigEvaluated& config) { if (config.paragraphMode != GuiDocumentParagraphMode::Paragraph) { for (vint i = 0; i < paragraphTexts.Count(); i++) { - UserInput_FixForNonParagraph(paragraphTexts[i]); + UserInput_JoinLinesInsideParagraph(paragraphTexts[i], config.spaceForFlattenedLineBreak); } } if (config.paragraphMode == GuiDocumentParagraphMode::Singleline) { - UserInput_FixForSingleline(paragraphTexts); + UserInput_JoinParagraphs(paragraphTexts, config.spaceForFlattenedLineBreak); } } - void GuiDocumentCommonInterface::UserInput_FormatText(const WString& text, collections::List& paragraphTexts) + void GuiDocumentCommonInterface::UserInput_FormatText(const WString& text, collections::List& paragraphTexts, const GuiDocumentConfigEvaluated& config) { - stream::StringReader reader(text); - WString paragraph; - bool empty = true; - if (config.doubleLineBreaksBetweenParagraph) { - while (!reader.IsEnd()) + const wchar_t* buffer = text.Buffer(); + auto flr = FetchLineRecord_Init(buffer); + FetchLineRecord_Next(flr); + bool remaining = false; + while (*flr.begin) { - WString line = reader.ReadLine(); - if (empty) + paragraphTexts.Add(stream::GenerateToStream([&](stream::StreamWriter& writer) { - paragraph += line; - empty = false; - } - else if (line != L"") - { - if (config.paragraphMode == GuiDocumentParagraphMode::Paragraph) + auto flrFragmentFirst = flr; + auto flrFragmentLast = flrFragmentFirst; + auto SubmitFragment = [&](bool endingEmptyLines) { - paragraph += L"\r\n" + line; - } - else if(config.spaceForFlattenedLineBreak) + auto flrFragment = FetchLineRecord_Join(flrFragmentFirst, flrFragmentLast); + writer.WriteString(FetchLineRecord_Get(flrFragment, buffer, text)); + if (flrFragment.end != flrFragment.next && endingEmptyLines) + { + if (config.paragraphMode == GuiDocumentParagraphMode::Paragraph) + { + writer.WriteString(L"\r\n"); + } + else if (config.spaceForFlattenedLineBreak) + { + writer.WriteChar(L' '); + } + } + }; + + while (true) { - paragraph += L" " + line; + if (!*flrFragmentLast.next) + { + SubmitFragment(true); + flr = FetchLineRecord_Init(flrFragmentLast.next); + remaining = false; + return; + } + + auto flrNext = FetchLineRecord_Init(flrFragmentLast.next); + FetchLineRecord_Next(flrNext); + if (flrNext.end == flrNext.begin) + { + SubmitFragment(false); + flr = FetchLineRecord_Init(flrNext.next); + FetchLineRecord_Next(flr); + remaining = true; + return; + } + + if (flrFragmentLast.next - flrFragmentLast.end == 2) + { + flrFragmentLast = flrNext; + } + else + { + SubmitFragment(true); + flrFragmentFirst = flrNext; + flrFragmentLast = flrNext; + } } - else - { - paragraph += line; - } - } - else - { - paragraphTexts.Add(paragraph); - paragraph = L""; - empty = true; - } + })); + } + + if (remaining) + { + paragraphTexts.Add(WString::Empty); } } else { + stream::StringReader reader(text); while (!reader.IsEnd()) { WString line = reader.ReadLine(); @@ -18818,22 +18895,18 @@ GuiDocumentCommonInterface } } - if (!empty) - { - paragraphTexts.Add(paragraph); - } if (config.paragraphMode == GuiDocumentParagraphMode::Singleline) { - UserInput_FixForSingleline(paragraphTexts); + UserInput_JoinParagraphs(paragraphTexts, config.spaceForFlattenedLineBreak); } } - void GuiDocumentCommonInterface::UserInput_FormatDocument(Ptr model) + void GuiDocumentCommonInterface::UserInput_FormatDocument(Ptr model, Ptr baselineDocument, const GuiDocumentConfigEvaluated& config) { if (!model) return; if (config.pasteAsPlainText) { - UserInput_FixForPlainText(model, 0, model->paragraphs.Count() - 1); + UserInput_ConvertToPlainText(model, 0, model->paragraphs.Count() - 1); if (baselineDocument) { @@ -18854,15 +18927,20 @@ GuiDocumentCommonInterface { for (auto paragraph : model->paragraphs) { - UserInput_FixForNonParagraph(paragraph); + UserInput_JoinLinesInsideParagraph(paragraph, config.spaceForFlattenedLineBreak); } } if (config.paragraphMode == GuiDocumentParagraphMode::Singleline) { - UserInput_FixForSingleline(model); + UserInput_JoinParagraphs(model, config.spaceForFlattenedLineBreak); } } + WString GuiDocumentCommonInterface::UserInput_ConvertDocumentToText(Ptr model) + { + return model->GetTextForReading(WString::Unmanaged(config.doubleLineBreaksBetweenParagraph ? L"\r\n\r\n" : L"\r\n")); + } + GuiDocumentCommonInterface::GuiDocumentCommonInterface(const GuiDocumentConfig& _config) : config(_config) { @@ -18888,7 +18966,7 @@ GuiDocumentCommonInterface void GuiDocumentCommonInterface::SetDocument(Ptr value) { value = value ? value->CopyDocument() : nullptr; - UserInput_FormatDocument(value); + UserInput_FormatDocument(value, baselineDocument, config); SetActiveHyperlink(0); ClearUndoRedo(); NotifyModificationSaved(); @@ -18974,9 +19052,9 @@ GuiDocumentCommonInterface //================ editing operations - void GuiDocumentCommonInterface::NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) + void GuiDocumentCommonInterface::NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText, bool skipFormatting) { -#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::GuiDocumentCommonInterface::NotifyParagraphUpdated(vint, vint, vint, bool)#" +#define ERROR_MESSAGE_PREFIX L"vl::presentation::controls::GuiDocumentCommonInterface::NotifyParagraphUpdated(vint, vint, vint, bool, bool)#" auto model = documentElement->GetDocument(); if (config.paragraphMode == GuiDocumentParagraphMode::Singleline) { @@ -18987,7 +19065,10 @@ GuiDocumentCommonInterface { if (config.pasteAsPlainText && updatedText) { - UserInput_FixForPlainText(model, index, index + newCount - 1); + if(!skipFormatting) + { + UserInput_ConvertToPlainText(model, index, index + newCount - 1); + } if (baselineDocument) { CopyFrom(model->styles, baselineDocument->styles); @@ -18998,11 +19079,11 @@ GuiDocumentCommonInterface } } - if (config.paragraphMode != GuiDocumentParagraphMode::Paragraph) + if (config.paragraphMode != GuiDocumentParagraphMode::Paragraph && !skipFormatting) { for (vint i = index; i < index + newCount; i++) { - UserInput_FixForNonParagraph(model->paragraphs[i]); + UserInput_JoinLinesInsideParagraph(model->paragraphs[i], config.spaceForFlattenedLineBreak); } } @@ -19011,9 +19092,12 @@ GuiDocumentCommonInterface #undef ERROR_MESSAGE_PREFIX } - void GuiDocumentCommonInterface::EditRun(TextPos begin, TextPos end, Ptr model, bool copy) + void GuiDocumentCommonInterface::EditRun(TextPos begin, TextPos end, Ptr model, bool copy, bool skipFormatting) { - UserInput_FormatDocument(model); + if (!skipFormatting) + { + UserInput_FormatDocument(model, baselineDocument, config); + } EditTextInternal(begin, end, [=, this](TextPos begin, TextPos end, vint& paragraphCount, vint& lastParagraphLength) { documentElement->EditRun(begin, end, model, copy); @@ -19022,17 +19106,17 @@ GuiDocumentCommonInterface }); } - void GuiDocumentCommonInterface::EditText(TextPos begin, TextPos end, bool frontSide, const collections::Array& text) + void GuiDocumentCommonInterface::EditText(TextPos begin, TextPos end, bool frontSide, const collections::Array& text, bool skipFormatting) { EditTextInternal(begin, end, [=, this, &text](TextPos begin, TextPos end, vint& paragraphCount, vint& lastParagraphLength) { Array updatedText; - bool useUpdatedText = config.paragraphMode != GuiDocumentParagraphMode::Paragraph; + bool useUpdatedText = config.paragraphMode != GuiDocumentParagraphMode::Paragraph && !skipFormatting; if (useUpdatedText) { List paragraphTexts; CopyFrom(paragraphTexts, text); - UserInput_FormatText(paragraphTexts); + UserInput_FormatText(paragraphTexts, config); CopyFrom(updatedText, paragraphTexts); } @@ -19237,12 +19321,56 @@ GuiDocumentCommonInterface } } + void GuiDocumentCommonInterface::LoadTextAndClearUndoRedo(const WString& text) + { + vint lastIndex = documentElement->GetDocument()->paragraphs.Count() - 1; + Ptr lastParagraph = documentElement->GetDocument()->paragraphs[lastIndex]; + + TextPos begin(0, 0); + TextPos end(lastIndex, lastParagraph->GetTextForCaret().Length()); + + List paragraphTexts; + UserInput_FormatText(text, paragraphTexts, config); + Array paragraphLines; + CopyFrom(paragraphLines, paragraphTexts); + + EditTextInternal(begin, end, [=, this, ¶graphLines](TextPos begin, TextPos end, vint& paragraphCount, vint& lastParagraphLength) + { + documentElement->EditText(begin, end, true, paragraphLines); + paragraphCount = paragraphLines.Count(); + lastParagraphLength = paragraphCount == 0 ? 0 : paragraphLines[paragraphCount - 1].Length(); + }, true); + + SetCaret(begin, begin); + EnsureDocumentRectVisible(documentElement->GetCaretBounds(begin, true)); + } + + void GuiDocumentCommonInterface::LoadDocumentAndClearUndoRedo(Ptr document, bool copy) + { + vint lastIndex = documentElement->GetDocument()->paragraphs.Count() - 1; + Ptr lastParagraph = documentElement->GetDocument()->paragraphs[lastIndex]; + + TextPos begin(0, 0); + TextPos end(lastIndex, lastParagraph->GetTextForCaret().Length()); + + document = copy ? (document ? document->CopyDocument() : nullptr) : document; + EditTextInternal(begin, end, [=, this](TextPos begin, TextPos end, vint& paragraphCount, vint& lastParagraphLength) + { + documentElement->EditRun(begin, end, document, false); + paragraphCount = document->paragraphs.Count(); + lastParagraphLength = paragraphCount == 0 ? 0 : document->paragraphs[paragraphCount - 1]->GetTextForCaret().Length(); + }, true); + + SetCaret(begin, begin); + EnsureDocumentRectVisible(documentElement->GetCaretBounds(begin, true)); + } + //================ selection operations void GuiDocumentCommonInterface::SelectAll() { - vint lastIndex=documentElement->GetDocument()->paragraphs.Count()-1; - Ptr lastParagraph=documentElement->GetDocument()->paragraphs[lastIndex]; + vint lastIndex = documentElement->GetDocument()->paragraphs.Count() - 1; + Ptr lastParagraph = documentElement->GetDocument()->paragraphs[lastIndex]; TextPos begin(0, 0); TextPos end(lastIndex, lastParagraph->GetTextForCaret().Length()); @@ -19267,7 +19395,7 @@ GuiDocumentCommonInterface void GuiDocumentCommonInterface::SetSelectionText(const WString& value) { List paragraphTexts; - UserInput_FormatText(value, paragraphTexts); + UserInput_FormatText(value, paragraphTexts, config); TextPos begin = documentElement->GetCaretBegin(); TextPos end = documentElement->GetCaretEnd(); @@ -19280,7 +19408,7 @@ GuiDocumentCommonInterface Array text; CopyFrom(text, paragraphTexts); - EditText(begin, end, documentElement->IsCaretEndPreferFrontSide(), text); + EditText(begin, end, documentElement->IsCaretEndPreferFrontSide(), text, true); } Ptr GuiDocumentCommonInterface::GetSelectionModel() @@ -19301,7 +19429,7 @@ GuiDocumentCommonInterface void GuiDocumentCommonInterface::SetSelectionModel(Ptr value) { value = value ? value->CopyDocument() : nullptr; - UserInput_FormatDocument(value); + UserInput_FormatDocument(value, baselineDocument, config); TextPos begin=documentElement->GetCaretBegin(); TextPos end=documentElement->GetCaretEnd(); if(begin>end) @@ -19311,7 +19439,7 @@ GuiDocumentCommonInterface end=temp; } - EditRun(begin, end, value, true); + EditRun(begin, end, value, true, true); } //================ clipboard operations @@ -19479,7 +19607,9 @@ GuiDocumentConfig config.paragraphMode = GuiDocumentParagraphMode::Paragraph; config.paragraphPadding = true; config.doubleLineBreaksBetweenParagraph = true; + config.spaceForFlattenedLineBreak = false; + config.paragraphRecycle = false; return config; } @@ -19492,7 +19622,9 @@ GuiDocumentConfig config.paragraphMode = GuiDocumentParagraphMode::Paragraph; config.paragraphPadding = true; config.doubleLineBreaksBetweenParagraph = true; + config.spaceForFlattenedLineBreak = false; + config.paragraphRecycle = true; return config; } @@ -19505,7 +19637,9 @@ GuiDocumentConfig config.paragraphMode = GuiDocumentParagraphMode::Singleline; config.paragraphPadding = false; config.doubleLineBreaksBetweenParagraph = false; + config.spaceForFlattenedLineBreak = false; + config.paragraphRecycle = true; return config; } @@ -19518,7 +19652,9 @@ GuiDocumentConfig config.paragraphMode = GuiDocumentParagraphMode::Multiline; config.paragraphPadding = false; config.doubleLineBreaksBetweenParagraph = false; + config.spaceForFlattenedLineBreak = false; + config.paragraphRecycle = true; return config; } @@ -19532,6 +19668,7 @@ GuiDocumentConfig if (newConfig.paragraphPadding) result.paragraphPadding = newConfig.paragraphPadding; if (newConfig.doubleLineBreaksBetweenParagraph) result.doubleLineBreaksBetweenParagraph = newConfig.doubleLineBreaksBetweenParagraph; if (newConfig.spaceForFlattenedLineBreak) result.spaceForFlattenedLineBreak = newConfig.spaceForFlattenedLineBreak; + if (newConfig.paragraphRecycle) result.paragraphRecycle = newConfig.paragraphRecycle; return result; } @@ -19547,6 +19684,7 @@ GuiDocumentConfigEvaluated , paragraphPadding(config.paragraphPadding.Value()) , doubleLineBreaksBetweenParagraph(config.doubleLineBreaksBetweenParagraph.Value()) , spaceForFlattenedLineBreak(config.spaceForFlattenedLineBreak.Value()) + , paragraphRecycle(config.paragraphRecycle.Value()) { } } @@ -28967,10 +29105,19 @@ namespace vl GuiDocumentElement ***********************************************************************/ + Ptr GuiDocumentElement::GetElementRenderer() + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::elements::GetElementRenderer()#" + if (!renderer) return nullptr; + auto elementRenderer = renderer.Cast(); + CHECK_ERROR(elementRenderer, ERROR_MESSAGE_PREFIX L"The registered renderer for GuiDocumentElement must implement IGuiDocumentElementRenderer."); + return elementRenderer; +#undef ERROR_MESSAGE_PREFIX + } + void GuiDocumentElement::UpdateCaret() { - auto elementRenderer = renderer.Cast(); - if (elementRenderer) + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->SetSelection(caretBegin, caretEnd); if (caretVisible) @@ -29021,8 +29168,15 @@ GuiDocumentElement void GuiDocumentElement::SetParagraphPadding(bool value) { - paragraphPadding = value; - InvokeOnElementStateChanged(); + if (paragraphPadding != value) + { + paragraphPadding = value; + if (auto elementRenderer = GetElementRenderer()) + { + elementRenderer->NotifyParagraphPaddingUpdated(paragraphPadding); + InvokeOnCompositionStateChanged(); + } + } } bool GuiDocumentElement::GetWrapLine() @@ -29108,44 +29262,35 @@ GuiDocumentElement TextPos GuiDocumentElement::CalculateCaret(TextPos comparingCaret, IGuiGraphicsParagraph::CaretRelativePosition position, bool& preferFrontSide) { - if (auto elementRenderer = renderer.Cast()) + if (auto elementRenderer = GetElementRenderer()) { - TextPos caret=elementRenderer->CalculateCaret(comparingCaret, position, preferFrontSide); - return caret.column==-1?comparingCaret:caret; - } - else - { - return comparingCaret; + TextPos caret = elementRenderer->CalculateCaret(comparingCaret, position, preferFrontSide); + return caret.column == -1 ? comparingCaret : caret; } + return {}; } TextPos GuiDocumentElement::CalculateCaretFromPoint(Point point) { - if (auto elementRenderer = renderer.Cast()) + if (auto elementRenderer = GetElementRenderer()) { return elementRenderer->CalculateCaretFromPoint(point); } - else - { - return TextPos(0, 0); - } + return {}; } Rect GuiDocumentElement::GetCaretBounds(TextPos caret, bool frontSide) { - if (auto elementRenderer = renderer.Cast()) + if (auto elementRenderer = GetElementRenderer()) { return elementRenderer->GetCaretBounds(caret, frontSide); } - else - { - return Rect(); - } + return {}; } void GuiDocumentElement::NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) { - if (auto elementRenderer = renderer.Cast()) + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(index, oldCount, newCount, updatedText); InvokeOnCompositionStateChanged(); @@ -29154,284 +29299,269 @@ GuiDocumentElement void GuiDocumentElement::EditRun(TextPos begin, TextPos end, Ptr model, bool copy) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - vint newRows = document->EditRun(begin, end, model, copy); - if (newRows != -1) + vint newRows = document->EditRun(begin, end, model, copy); + if (newRows != -1) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, newRows, true); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::EditText(TextPos begin, TextPos end, bool frontSide, const collections::Array& text) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - vint newRows = document->EditText(begin, end, frontSide, text); - if (newRows != -1) + vint newRows = document->EditText(begin, end, frontSide, text); + if (newRows != -1) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, newRows, true); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::EditStyle(TextPos begin, TextPos end, Ptr style) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->EditStyle(begin, end, style)) + if (document->EditStyle(begin, end, style)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, end.row - begin.row + 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::EditImage(TextPos begin, TextPos end, Ptr image) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->EditImage(begin, end, image)) + if (document->EditImage(begin, end, image)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, 1, true); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::EditHyperlink(vint paragraphIndex, vint begin, vint end, const WString& reference, const WString& normalStyleName, const WString& activeStyleName) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - vint temp = begin; - begin = end; - end = temp; - } + vint temp = begin; + begin = end; + end = temp; + } - if (document->EditHyperlink(paragraphIndex, begin, end, reference, normalStyleName, activeStyleName)) + if (document->EditHyperlink(paragraphIndex, begin, end, reference, normalStyleName, activeStyleName)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(paragraphIndex, 1, 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::RemoveHyperlink(vint paragraphIndex, vint begin, vint end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - vint temp = begin; - begin = end; - end = temp; - } + vint temp = begin; + begin = end; + end = temp; + } - if (document->RemoveHyperlink(paragraphIndex, begin, end)) + if (document->RemoveHyperlink(paragraphIndex, begin, end)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(paragraphIndex, 1, 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::EditStyleName(TextPos begin, TextPos end, const WString& styleName) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->EditStyleName(begin, end, styleName)) + if (document->EditStyleName(begin, end, styleName)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, end.row - begin.row + 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::RemoveStyleName(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->RemoveStyleName(begin, end)) + if (document->RemoveStyleName(begin, end)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, end.row - begin.row + 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::RenameStyle(const WString& oldStyleName, const WString& newStyleName) { - if (auto elementRenderer = renderer.Cast()) - { - document->RenameStyle(oldStyleName, newStyleName); - } + document->RenameStyle(oldStyleName, newStyleName); } void GuiDocumentElement::ClearStyle(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->ClearStyle(begin, end)) + if (document->ClearStyle(begin, end)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, end.row - begin.row + 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } void GuiDocumentElement::ConvertToPlainText(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } + TextPos temp = begin; + begin = end; + end = temp; + } - if (document->ConvertToPlainText(begin, end)) + if (document->ConvertToPlainText(begin, end)) + { + if (auto elementRenderer = GetElementRenderer()) { elementRenderer->NotifyParagraphUpdated(begin.row, end.row - begin.row + 1, end.row - begin.row + 1, false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } Ptr GuiDocumentElement::SummarizeStyle(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } - - return document->SummarizeStyle(begin, end); + TextPos temp = begin; + begin = end; + end = temp; } - return nullptr; + + return document->SummarizeStyle(begin, end); } Nullable GuiDocumentElement::SummarizeStyleName(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } - - return document->SummarizeStyleName(begin, end); + TextPos temp = begin; + begin = end; + end = temp; } - return {}; + + return document->SummarizeStyleName(begin, end); } void GuiDocumentElement::SetParagraphAlignment(TextPos begin, TextPos end, const collections::Array>& alignments) { - if (auto elementRenderer = renderer.Cast()) + vint first = begin.row; + vint last = end.row; + if (first > last) { - vint first = begin.row; - vint last = end.row; - if (first > last) - { - vint temp = first; - first = last; - last = temp; - } + vint temp = first; + first = last; + last = temp; + } - if (0 <= first && first < document->paragraphs.Count() && 0 <= last && last < document->paragraphs.Count() && last - first + 1 == alignments.Count()) + if (0 <= first && first < document->paragraphs.Count() && 0 <= last && last < document->paragraphs.Count() && last - first + 1 == alignments.Count()) + { + for (vint i = first; i <= last; i++) { - for (vint i = first; i <= last; i++) - { - document->paragraphs[i]->alignment = alignments[i - first]; - } - elementRenderer->NotifyParagraphUpdated(first, alignments.Count(), alignments.Count(), false); + document->paragraphs[i]->alignment = alignments[i - first]; + } + if (auto elementRenderer = GetElementRenderer()) + { + elementRenderer->NotifyParagraphUpdated(first, alignments.Count(), alignments.Count(), false); + InvokeOnCompositionStateChanged(); } - InvokeOnCompositionStateChanged(); } } Nullable GuiDocumentElement::SummarizeParagraphAlignment(TextPos begin, TextPos end) { - if (auto elementRenderer = renderer.Cast()) + if (begin > end) { - if (begin > end) - { - TextPos temp = begin; - begin = end; - end = temp; - } - - return document->SummarizeParagraphAlignment(begin, end); + TextPos temp = begin; + begin = end; + end = temp; } - return {}; + + return document->SummarizeParagraphAlignment(begin, end); } Ptr GuiDocumentElement::GetHyperlinkFromPoint(Point point) { - if (auto elementRenderer = renderer.Cast()) + if (auto elementRenderer = GetElementRenderer()) { return elementRenderer->GetHyperlinkFromPoint(point); } - return nullptr; + return {}; } } } @@ -29458,7 +29588,6 @@ SetPropertiesVisitor { class SetPropertiesVisitor : public Object, public DocumentRun::IVisitor { - typedef GuiDocumentElementRenderer Renderer; typedef DocumentModel::ResolvedStyle ResolvedStyle; public: vint start; @@ -29468,22 +29597,22 @@ SetPropertiesVisitor List styles; DocumentModel* model; - Renderer* renderer; - Ptr cache; + GuiDocumentParagraphCache* paragraphCache; + Ptr cache; IGuiGraphicsParagraph* paragraph; - SetPropertiesVisitor(DocumentModel* _model, Renderer* _renderer, Ptr _cache, vint _selectionBegin, vint _selectionEnd) - :start(0) - ,length(0) - ,model(_model) - ,renderer(_renderer) - ,cache(_cache) - ,paragraph(_cache->graphicsParagraph.Obj()) - ,selectionBegin(_selectionBegin) - ,selectionEnd(_selectionEnd) + SetPropertiesVisitor(DocumentModel* _model, GuiDocumentParagraphCache* _paragraphCache, Ptr _cache, vint _selectionBegin, vint _selectionEnd) + : start(0) + , length(0) + , model(_model) + , paragraphCache(_paragraphCache) + , cache(_cache) + , paragraph(_cache->graphicsParagraph.Obj()) + , selectionBegin(_selectionBegin) + , selectionEnd(_selectionEnd) { ResolvedStyle style; - style=model->GetStyle(DocumentModel::DefaultStyleName, style); + style = model->GetStyle(DocumentModel::DefaultStyleName, style); styles.Add(style); } @@ -29499,12 +29628,12 @@ SetPropertiesVisitor { paragraph->SetFont(start, length, style.style.fontFamily); paragraph->SetSize(start, length, style.style.size); - paragraph->SetStyle(start, length, + paragraph->SetStyle(start, length, (IGuiGraphicsParagraph::TextStyle) - ( (style.style.bold?IGuiGraphicsParagraph::Bold:0) - | (style.style.italic?IGuiGraphicsParagraph::Italic:0) - | (style.style.underline?IGuiGraphicsParagraph::Underline:0) - | (style.style.strikeline?IGuiGraphicsParagraph::Strikeline:0) + ((style.style.bold ? IGuiGraphicsParagraph::Bold : 0) + | (style.style.italic ? IGuiGraphicsParagraph::Italic : 0) + | (style.style.underline ? IGuiGraphicsParagraph::Underline : 0) + | (style.style.strikeline ? IGuiGraphicsParagraph::Strikeline : 0) )); } @@ -29516,95 +29645,95 @@ SetPropertiesVisitor void Visit(DocumentTextRun* run)override { - length=run->GetRepresentationText().Length(); - if(length>0) + length = run->GetRepresentationText().Length(); + if (length > 0) { - ResolvedStyle style=styles[styles.Count()-1]; + ResolvedStyle style = styles[styles.Count() - 1]; ApplyStyle(start, length, style); ApplyColor(start, length, style); - vint styleStart=start; - vint styleEnd=styleStart+length; - if(styleStartselectionBegin?styleStart:selectionBegin; - vint s3=selectionEnd selectionBegin ? styleStart : selectionBegin; + vint s3 = selectionEnd < styleEnd ? selectionEnd : styleEnd; - if(s2GetStyle(DocumentModel::SelectionStyleName, style); - ApplyColor(s2, s3-s2, selectionStyle); + ResolvedStyle selectionStyle = model->GetStyle(DocumentModel::SelectionStyleName, style); + ApplyColor(s2, s3 - s2, selectionStyle); } } } - start+=length; + start += length; } void Visit(DocumentStylePropertiesRun* run)override { - ResolvedStyle style=styles[styles.Count()-1]; - style=model->GetStyle(run->style, style); + ResolvedStyle style = styles[styles.Count() - 1]; + style = model->GetStyle(run->style, style); styles.Add(style); VisitContainer(run); - styles.RemoveAt(styles.Count()-1); + styles.RemoveAt(styles.Count() - 1); } void Visit(DocumentStyleApplicationRun* run)override { - ResolvedStyle style=styles[styles.Count()-1]; - style=model->GetStyle(run->styleName, style); + ResolvedStyle style = styles[styles.Count() - 1]; + style = model->GetStyle(run->styleName, style); styles.Add(style); VisitContainer(run); - styles.RemoveAt(styles.Count()-1); + styles.RemoveAt(styles.Count() - 1); } void Visit(DocumentHyperlinkRun* run)override { - ResolvedStyle style=styles[styles.Count()-1]; - style=model->GetStyle(run->styleName, style); + ResolvedStyle style = styles[styles.Count() - 1]; + style = model->GetStyle(run->styleName, style); styles.Add(style); VisitContainer(run); - styles.RemoveAt(styles.Count()-1); + styles.RemoveAt(styles.Count() - 1); } void Visit(DocumentImageRun* run)override { - length=run->GetRepresentationText().Length(); + length = run->GetRepresentationText().Length(); - auto element=Ptr(GuiImageFrameElement::Create()); + auto element = Ptr(GuiImageFrameElement::Create()); element->SetImage(run->image, run->frameIndex); element->SetStretch(true); IGuiGraphicsParagraph::InlineObjectProperties properties; - properties.size=run->size; - properties.baseline=run->baseline; - properties.breakCondition=IGuiGraphicsParagraph::Alone; + properties.size = run->size; + properties.baseline = run->baseline; + properties.breakCondition = IGuiGraphicsParagraph::Alone; properties.backgroundImage = element; paragraph->SetInlineObject(start, length, properties); - if(startGetStyle(DocumentModel::SelectionStyleName, style); + ResolvedStyle style = styles[styles.Count() - 1]; + ResolvedStyle selectionStyle = model->GetStyle(DocumentModel::SelectionStyleName, style); ApplyColor(start, length, selectionStyle); } - start+=length; + start += length; } void Visit(DocumentEmbeddedObjectRun* run)override { - length=run->GetRepresentationText().Length(); + length = run->GetRepresentationText().Length(); IGuiGraphicsParagraph::InlineObjectProperties properties; - properties.breakCondition=IGuiGraphicsParagraph::Alone; + properties.breakCondition = IGuiGraphicsParagraph::Alone; if (run->name != L"") { - vint index = renderer->nameCallbackIdMap.Keys().IndexOf(run->name); + vint index = paragraphCache->nameCallbackIdMap.Keys().IndexOf(run->name); if (index != -1) { - auto id = renderer->nameCallbackIdMap.Values()[index]; + auto id = paragraphCache->nameCallbackIdMap.Values()[index]; index = cache->embeddedObjects.Keys().IndexOf(id); if (index != -1) { @@ -29618,24 +29747,24 @@ SetPropertiesVisitor } else { - auto eo = Ptr(new Renderer::EmbeddedObject); + auto eo = Ptr(new pg::EmbeddedObject); eo->name = run->name; eo->size = Size(0, 0); eo->start = start; vint id = -1; - vint count = renderer->freeCallbackIds.Count(); + vint count = paragraphCache->freeCallbackIds.Count(); if (count > 0) { - id = renderer->freeCallbackIds[count - 1]; - renderer->freeCallbackIds.RemoveAt(count - 1); + id = paragraphCache->freeCallbackIds[count - 1]; + paragraphCache->freeCallbackIds.RemoveAt(count - 1); } else { - id = renderer->usedCallbackIds++; + id = paragraphCache->usedCallbackIds++; } - renderer->nameCallbackIdMap.Add(eo->name, id); + paragraphCache->nameCallbackIdMap.Add(eo->name, id); cache->embeddedObjects.Add(id, eo); properties.callbackId = id; } @@ -29643,13 +29772,13 @@ SetPropertiesVisitor paragraph->SetInlineObject(start, length, properties); - if(startGetStyle(DocumentModel::SelectionStyleName, style); + ResolvedStyle style = styles[styles.Count() - 1]; + ResolvedStyle selectionStyle = model->GetStyle(DocumentModel::SelectionStyleName, style); ApplyColor(start, length, selectionStyle); } - start+=length; + start += length; } void Visit(DocumentParagraphRun* run)override @@ -29657,9 +29786,9 @@ SetPropertiesVisitor VisitContainer(run); } - static vint SetProperty(DocumentModel* model, Renderer* renderer, Ptr cache, Ptr run, vint selectionBegin, vint selectionEnd) + static vint SetProperty(DocumentModel* model, GuiDocumentParagraphCache* paragraphCache, Ptr cache, Ptr run, vint selectionBegin, vint selectionEnd) { - SetPropertiesVisitor visitor(model, renderer, cache, selectionBegin, selectionEnd); + SetPropertiesVisitor visitor(model, paragraphCache, cache, selectionBegin, selectionEnd); run->Accept(&visitor); return visitor.length; } @@ -29667,6 +29796,305 @@ SetPropertiesVisitor } using namespace visitors; +/*********************************************************************** +GuiDocumentParagraphCache +***********************************************************************/ + + GuiDocumentParagraphCache::GuiDocumentParagraphCache(IGuiGraphicsParagraphCallback* _callback) + : callback(_callback) + , layoutProvider(GetGuiGraphicsResourceManager()->GetLayoutProvider()) + , defaultHeight(GetCurrentController()->ResourceService()->GetDefaultFont().size) + { + } + + GuiDocumentParagraphCache::~GuiDocumentParagraphCache() + { + } + + void GuiDocumentParagraphCache::Initialize(GuiDocumentElement* _element) + { + element = _element; + } + + void GuiDocumentParagraphCache::RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget) + { + renderTarget = newRenderTarget; + // TODO: (enumerable) foreach + for (vint i = 0; i < paragraphCaches.Count(); i++) + { + if (auto cache = paragraphCaches[i].Obj()) + { + cache->graphicsParagraph = nullptr; + cache->outdatedStyles = true; + } + } + } + + vint GuiDocumentParagraphCache::GetParagraphCount() + { + return paragraphCaches.Count(); + } + + Ptr GuiDocumentParagraphCache::TryGetParagraphCache(vint paragraphIndex) + { + if (paragraphIndex < 0 || paragraphIndex >= paragraphCaches.Count()) return nullptr; + return paragraphCaches[paragraphIndex]; + } + + Ptr GuiDocumentParagraphCache::GetParagraphCache(vint paragraphIndex, bool requireParagraph) + { +#define ERROR_MESSAGE_PREFIX L"vl::presentation::elements::GuiDocumentParagraphCache::GetParagraphCache(vint)#" + auto cache = paragraphCaches[paragraphIndex]; + CHECK_ERROR(cache && (!requireParagraph || (cache->graphicsParagraph && !cache->outdatedStyles)), ERROR_MESSAGE_PREFIX L"The specified paragraph is not created."); + return cache; +#undef ERROR_MESSAGE_PREFIX + } + + Size GuiDocumentParagraphCache::GetParagraphSize(vint paragraphIndex) + { + return paragraphSizes[paragraphIndex].cachedSize; + } + + vint GuiDocumentParagraphCache::GetParagraphTopWithoutParagraphDistance(vint paragraphIndex) + { + if (paragraphIndex >= validCachedTops) + { + vint currentTop = 0; + if (validCachedTops > 0) + { + auto size = paragraphSizes[validCachedTops - 1]; + currentTop = size.cachedTopWithoutParagraphDistance + size.cachedSize.y; + } + + for (vint i = validCachedTops; i <= paragraphIndex; i++) + { + auto& size = paragraphSizes[i]; + size.cachedTopWithoutParagraphDistance = currentTop; + currentTop += size.cachedSize.y; + } + + validCachedTops = paragraphIndex + 1; + } + return paragraphSizes[paragraphIndex].cachedTopWithoutParagraphDistance; + } + + vint GuiDocumentParagraphCache::GetParagraphTop(vint paragraphIndex, vint paragraphDistance) + { + return GetParagraphTopWithoutParagraphDistance(paragraphIndex) + paragraphIndex * paragraphDistance; + } + + vint GuiDocumentParagraphCache::ResetCache() + { + nameCallbackIdMap.Clear(); + freeCallbackIds.Clear(); + usedCallbackIds = 0; + + auto document = element ? element->GetDocument() : nullptr; + if (document && document->paragraphs.Count() > 0) + { + paragraphCaches.Resize(0); + paragraphCaches.Resize(document->paragraphs.Count()); + paragraphSizes.Resize(document->paragraphs.Count()); + + for (vint i = 0; i < paragraphSizes.Count(); i++) + { + paragraphSizes[i] = { (i * defaultHeight),{0,defaultHeight}}; + } + + validCachedTops = document->paragraphs.Count(); + return document->paragraphs.Count() * defaultHeight; + } + else + { + paragraphCaches.Resize(0); + paragraphSizes.Resize(0); + validCachedTops = 0; + return 0; + } + } + + vint GuiDocumentParagraphCache::ResetCache(vint index, vint oldCount, vint newCount, bool updatedText) + { + if (updatedText) + { + for (vint i = 0; i < oldCount; i++) + { + if (auto cache = paragraphCaches[i + index]) + { + // TODO: (enumerable) foreach on dictionary + for (vint j = 0; j < cache->embeddedObjects.Count(); j++) + { + auto id = cache->embeddedObjects.Keys()[j]; + auto name = cache->embeddedObjects.Values()[j]->name; + nameCallbackIdMap.Remove(name); + freeCallbackIds.Add(id); + } + } + } + } + + if (oldCount == newCount) + { + for (vint i = 0; i < oldCount; i++) + { + if (updatedText) + { + paragraphCaches[index + i] = nullptr; + } + else if (auto cache = paragraphCaches[index + i]) + { + cache->outdatedStyles = true; + } + } + return 0; + } + else + { + pg::ParagraphCacheArray oldCaches; + pg::ParagraphSizeArray oldSizes; + + CopyFrom(oldCaches, paragraphCaches); + CopyFrom(oldSizes, paragraphSizes); + + vint paragraphCount = element->GetDocument()->paragraphs.Count(); + paragraphCaches.Resize(paragraphCount); + paragraphSizes.Resize(paragraphCount); + + vint paragraphTop = GetParagraphTopWithoutParagraphDistance(index); + for (vint i = 0; i < paragraphCount; i++) + { + if (i < index) + { + paragraphCaches[i] = oldCaches[i]; + paragraphSizes[i] = oldSizes[i]; + } + else if (i < index + newCount) + { + // updateText must be true, ensured in GuiDocumentElementRenderer::NotifyParagraphUpdated + paragraphCaches[i] = nullptr; + paragraphSizes[i] = { (paragraphTop + (i - index) * defaultHeight),{0,defaultHeight} }; + } + else + { + paragraphCaches[i] = oldCaches[i - (newCount - oldCount)]; + paragraphSizes[i] = oldSizes[i - (newCount - oldCount)]; + } + } + validCachedTops = index + newCount; + + vint oldUpdatedTotalHeight = 0; + for (vint i = 0; i < oldCount; i++) + { + oldUpdatedTotalHeight += oldSizes[index + i].cachedSize.y; + } + return newCount * defaultHeight - oldUpdatedTotalHeight; + } + } + + vint GuiDocumentParagraphCache::EnsureParagraph(vint paragraphIndex, vint maxWidth) + { + auto paragraph = element->GetDocument()->paragraphs[paragraphIndex]; + auto cache = paragraphCaches[paragraphIndex]; + if (!cache) + { + cache = Ptr(new pg::ParagraphCache); + cache->fullText = paragraph->GetTextForCaret(); + paragraphCaches[paragraphIndex] = cache; + } + + if (!cache->graphicsParagraph) + { + auto paragraphText = cache->fullText; + if (auto passwordChar = element->GetPasswordChar()) + { + Array passwordText(paragraphText.Length() + 1); + for (vint i = 0; i < paragraphText.Length(); i++) + { + passwordText[i] = passwordChar; + } + passwordText[paragraphText.Length()] = 0; + paragraphText = &passwordText[0]; + } + cache->graphicsParagraph = layoutProvider->CreateParagraph(paragraphText, renderTarget, callback); + cache->outdatedStyles = true; + } + + if (cache->outdatedStyles) + { + cache->outdatedStyles = false; + SetPropertiesVisitor::SetProperty(element->GetDocument().Obj(), this, cache, paragraph, cache->selectionBegin, cache->selectionEnd); + cache->graphicsParagraph->SetParagraphAlignment(paragraph->alignment ? paragraph->alignment.Value() : Alignment::Left); + cache->graphicsParagraph->SetWrapLine(element->GetWrapLine()); + cache->graphicsParagraph->SetMaxWidth(maxWidth); + } + + auto& cachedSize = paragraphSizes[paragraphIndex]; + Size oldSize = cachedSize.cachedSize; + Size newSize = cache->graphicsParagraph->GetSize(); + if(newSize.y < defaultHeight) + { + newSize.y = defaultHeight; + } + cachedSize.cachedSize = newSize; + if (oldSize.y != newSize.y && validCachedTops > paragraphIndex + 1) + { + validCachedTops = paragraphIndex + 1; + } + return newSize.y - oldSize.y; + } + + vint GuiDocumentParagraphCache::GetParagraphFromY(vint y, vint paragraphDistance) + { + auto document = element ? element->GetDocument() : nullptr; + if (!document || document->paragraphs.Count() == 0) return -1; + + vint start = 0; + vint end = paragraphSizes.Count() - 1; + + if (0 < validCachedTops && validCachedTops <= paragraphSizes.Count()) + { + vint index = validCachedTops - 1; + vint top = GetParagraphTop(index, paragraphDistance); + auto size = paragraphSizes[index].cachedSize; + if (y < top) + { + if (index < 1) return 0; + end = index - 1; + } + else if (y < top + size.y + paragraphDistance) + { + return index; + } + else + { + if (index >= paragraphSizes.Count() - 1) return paragraphSizes.Count() - 1; + start = validCachedTops; + } + } + + if (start >= end) return end; + while (true) + { + vint mid = (start + end) / 2; + vint top = GetParagraphTop(mid, paragraphDistance); + auto size = paragraphSizes[mid].cachedSize; + if (y < top) + { + end = mid - 1; + if (start >= end) return start; + } + else if (y < top + size.y + paragraphDistance) + { + return mid; + } + else + { + start = mid + 1; + if (start >= end) return end; + } + } + } + /*********************************************************************** GuiDocumentElementRenderer ***********************************************************************/ @@ -29675,7 +30103,7 @@ GuiDocumentElementRenderer { if (auto callback = element->GetCallback()) { - auto cache = paragraphCaches[renderingParagraph]; + auto cache = pgCache.GetParagraphCache(renderingParagraph, true); auto relativeLocation = Rect(Point(location.x1 + renderingParagraphOffset.x, location.y1 + renderingParagraphOffset.y), location.GetSize()); auto eo = cache->embeddedObjects[callbackId]; auto size = callback->OnRenderEmbeddedObject(eo->name, relativeLocation); @@ -29691,6 +30119,8 @@ GuiDocumentElementRenderer void GuiDocumentElementRenderer::InitializeInternal() { + pgCache.Initialize(element); + NotifyParagraphPaddingUpdated(element->GetParagraphPadding()); } void GuiDocumentElementRenderer::FinalizeInternal() @@ -29699,106 +30129,41 @@ GuiDocumentElementRenderer void GuiDocumentElementRenderer::RenderTargetChangedInternal(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget) { - // TODO: (enumerable) foreach - for(vint i=0;igraphicsParagraph=0; - } - } + pgCache.RenderTargetChanged(oldRenderTarget, newRenderTarget); } - Ptr GuiDocumentElementRenderer::EnsureAndGetCache(vint paragraphIndex, bool createParagraph) + Ptr GuiDocumentElementRenderer::EnsureParagraph(vint paragraphIndex) { - if (paragraphIndex < 0 || paragraphIndex >= paragraphCaches.Count()) return 0; - Ptr paragraph = element->GetDocument()->paragraphs[paragraphIndex]; - Ptr cache = paragraphCaches[paragraphIndex]; - if (!cache) + lastTotalHeightWithoutParagraphDistance += pgCache.EnsureParagraph(paragraphIndex, lastMaxWidth); + vint width = pgCache.GetParagraphSize(paragraphIndex).x; + if (lastTotalWidth < width) { - cache = Ptr(new ParagraphCache); - cache->fullText = paragraph->GetTextForCaret(); - paragraphCaches[paragraphIndex] = cache; + lastTotalWidth = width; } - - if (createParagraph) - { - if (!cache->graphicsParagraph) - { - auto paragraphText = cache->fullText; - if (auto passwordChar = element->GetPasswordChar()) - { - Array passwordText(paragraphText.Length() + 1); - for (vint i = 0; i < paragraphText.Length(); i++) - { - passwordText[i] = passwordChar; - } - passwordText[paragraphText.Length()] = 0; - paragraphText = &passwordText[0]; - } - cache->graphicsParagraph = layoutProvider->CreateParagraph(paragraphText, renderTarget, this); - cache->graphicsParagraph->SetParagraphAlignment(paragraph->alignment ? paragraph->alignment.Value() : Alignment::Left); - cache->graphicsParagraph->SetWrapLine(element->GetWrapLine()); - SetPropertiesVisitor::SetProperty(element->GetDocument().Obj(), this, cache, paragraph, cache->selectionBegin, cache->selectionEnd); - } - if (cache->graphicsParagraph->GetMaxWidth() != lastMaxWidth) - { - cache->graphicsParagraph->SetMaxWidth(lastMaxWidth); - } - - Size cachedSize = paragraphSizes[paragraphIndex]; - Size realSize = cache->graphicsParagraph->GetSize(); - if (cachedTotalSize.x < realSize.x) - { - cachedTotalSize.x = realSize.x; - } - if (cachedSize.y != realSize.y) - { - cachedTotalSize.y += realSize.y - cachedSize.y; - } - paragraphSizes[paragraphIndex] = realSize; - minSize = cachedTotalSize; - } - - return cache; + FixMinSize(); + return pgCache.GetParagraphCache(paragraphIndex, true); } - bool GuiDocumentElementRenderer::GetParagraphIndexFromPoint(Point point, vint& top, vint& index) + void GuiDocumentElementRenderer::FixMinSize() { - vint y = 0; - // TODO: (enumerable) foreach - for (vint i = 0; i < paragraphSizes.Count(); i++) + minSize = { lastTotalWidth,lastTotalHeightWithoutParagraphDistance }; + if (pgCache.GetParagraphCount() > 0) { - vint paragraphHeight = paragraphSizes[i].y; - vint nextY = y + paragraphHeight + paragraphDistance; - top = y; - index = i; - - if (nextY <= point.y) - { - y = nextY; - continue; - } - else - { - break; - } + minSize.y += paragraphDistance * (pgCache.GetParagraphCount() - 1); } - return true; + + if (minSize.x < 1) minSize.x = 1; + if (minSize.y < 1) minSize.y = 1; } GuiDocumentElementRenderer::GuiDocumentElementRenderer() - :paragraphDistance(0) - ,lastMaxWidth(-1) - ,layoutProvider(GetGuiGraphicsResourceManager()->GetLayoutProvider()) - ,lastCaret(-1, -1) - ,lastCaretFrontSide(false) + : pgCache(this) { } void GuiDocumentElementRenderer::Render(Rect bounds) { + List paragraphsToReset; if (auto callback = element->GetCallback()) { callback->OnStartRender(); @@ -29812,66 +30177,55 @@ GuiDocumentElementRenderer vint cy = bounds.Top(); vint y1 = clipper.Top() - bounds.Top(); vint y2 = y1 + clipper.Height(); - vint y = 0; lastMaxWidth = maxWidth; // TODO: (enumerable) foreach - vint paragraphCount = paragraphSizes.Count(); + vint paragraphCount = pgCache.GetParagraphCount(); auto document = element->GetDocument(); if (paragraphCount > document->paragraphs.Count()) { paragraphCount = document->paragraphs.Count(); } - for (vint i = 0; i < paragraphCount; i++) + + vint startParagraph = pgCache.GetParagraphFromY(y1, paragraphDistance); + for (vint i = startParagraph; i < paragraphCount; i++) { - Size cachedSize = paragraphSizes[i]; - if (y + cachedSize.y <= y1) + Ptr paragraph = document->paragraphs[i]; + auto cache = pgCache.TryGetParagraphCache(i); + bool paragraphAlreadyCreated = cache && cache->graphicsParagraph; + + cache = EnsureParagraph(i); + if (!paragraphAlreadyCreated && i == lastCaret.row && element->GetCaretVisible()) { - y += cachedSize.y + paragraphDistance; - continue; + cache->graphicsParagraph->OpenCaret(lastCaret.column, lastCaretColor, lastCaretFrontSide); } - else if (y >= y2) + + vint y = pgCache.GetParagraphTop(i, paragraphDistance); + if (y >= y2) { break; } - else + + renderingParagraph = i; + renderingParagraphOffset = Point(cx - bounds.x1, cy + y - bounds.y1); + cache->graphicsParagraph->Render(Rect(Point(cx, cy + y), Size(maxWidth, pgCache.GetParagraphSize(i).y))); + renderingParagraph = -1; + + bool resized = false; + for(auto eo: cache->embeddedObjects.Values()) { - Ptr paragraph = document->paragraphs[i]; - Ptr cache = paragraphCaches[i]; - bool created = cache && cache->graphicsParagraph; - cache = EnsureAndGetCache(i, true); - if (!created && i == lastCaret.row && element->GetCaretVisible()) + if (eo->resized) { - cache->graphicsParagraph->OpenCaret(lastCaret.column, lastCaretColor, lastCaretFrontSide); - } - - cachedSize = cache->graphicsParagraph->GetSize(); - - renderingParagraph = i; - renderingParagraphOffset = Point(cx - bounds.x1, cy + y - bounds.y1); - cache->graphicsParagraph->Render(Rect(Point(cx, cy + y), Size(maxWidth, cachedSize.y))); - renderingParagraph = -1; - - bool resized = false; - // TODO: (enumerable) foreach - for (vint j = 0; j < cache->embeddedObjects.Count(); j++) - { - auto eo = cache->embeddedObjects.Values()[j]; - if (eo->resized) - { - eo->resized = false; - resized = true; - } - } - - if (resized) - { - cache->graphicsParagraph = 0; + eo->resized = false; + resized = true; } } - y += cachedSize.y + paragraphDistance; + if (resized) + { + paragraphsToReset.Add(i); + } } } renderTarget->PopClipper(element); @@ -29879,161 +30233,84 @@ GuiDocumentElementRenderer { callback->OnFinishRender(); } + FixMinSize(); + + for(auto p:paragraphsToReset) + { + NotifyParagraphUpdated(p, 1, 1, false); + } + } + + void GuiDocumentElementRenderer::NotifyParagraphPaddingUpdated(bool value) + { + vint defaultHeight = GetCurrentController()->ResourceService()->GetDefaultFont().size; + paragraphDistance = element->GetParagraphPadding() ? defaultHeight : 0; } void GuiDocumentElementRenderer::OnElementStateChanged() { - cachedTotalSize = { 1,1 }; - auto document = element->GetDocument(); - if (document && document->paragraphs.Count() > 0) - { - vint defaultHeight = GetCurrentController()->ResourceService()->GetDefaultFont().size; - paragraphDistance = element->GetParagraphPadding() ? defaultHeight : 0; - - paragraphCaches.Resize(document->paragraphs.Count()); - paragraphSizes.Resize(document->paragraphs.Count()); - - for (vint i = 0; i < paragraphCaches.Count(); i++) - { - paragraphCaches[i] = 0; - } - for (vint i = 0; i < paragraphSizes.Count(); i++) - { - paragraphSizes[i] = { 0,defaultHeight }; - } - - cachedTotalSize.y = paragraphSizes.Count() * (defaultHeight + paragraphDistance); - if (paragraphSizes.Count()>0) - { - cachedTotalSize.y -= paragraphDistance; - } - } - else - { - paragraphCaches.Resize(0); - paragraphSizes.Resize(0); - } - minSize = cachedTotalSize; - - nameCallbackIdMap.Clear(); - freeCallbackIds.Clear(); - usedCallbackIds = 0; + lastTotalWidth = 0; + lastTotalHeightWithoutParagraphDistance = pgCache.ResetCache(); + FixMinSize(); } void GuiDocumentElementRenderer::NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) { - if (0 <= index && index < paragraphCaches.Count() && 0 <= oldCount && index + oldCount <= paragraphCaches.Count() && 0 <= newCount) +#define ERROR_MESSAGE_PREFIX L"vl::presentation::elements::GuiDocumentElementRenderer::NotifyParagraphUpdated(vint, vint, vint, bool)#" + vint oldParagraphCount = pgCache.GetParagraphCount(); + vint newParagraphCount = element->GetDocument()->paragraphs.Count(); + + CHECK_ERROR(oldCount >= 0, ERROR_MESSAGE_PREFIX L"oldCount cannot be negative."); + CHECK_ERROR(newCount >= 0, ERROR_MESSAGE_PREFIX L"newCount cannot be negative."); + CHECK_ERROR(0 <= index && index + oldCount <= oldParagraphCount, ERROR_MESSAGE_PREFIX L"index + oldCount is out of range."); + CHECK_ERROR(0 <= index && index + newCount <= newParagraphCount, ERROR_MESSAGE_PREFIX L"index + newCount is out of range."); + CHECK_ERROR(updatedText || oldCount == newCount, ERROR_MESSAGE_PREFIX L"updatedText must be true if oldCount is not equal to newCount."); + CHECK_ERROR(newParagraphCount - oldParagraphCount == newCount - oldCount, ERROR_MESSAGE_PREFIX L"newCount - oldCount does not reflect the actual paragraph count changing."); + + for (vint i = 0; i < oldCount; i++) { - vint paragraphCount = element->GetDocument()->paragraphs.Count(); - CHECK_ERROR(updatedText || oldCount == newCount, L"GuiDocumentlement::GuiDocumentElementRenderer::NotifyParagraphUpdated(vint, vint, vint, bool)#Illegal values of oldCount and newCount."); - CHECK_ERROR(paragraphCount - paragraphCaches.Count() == newCount - oldCount, L"GuiDocumentElementRenderer::NotifyParagraphUpdated(vint, vint, vint, bool)#Illegal values of oldCount and newCount."); - - ParagraphCacheArray oldCaches; - CopyFrom(oldCaches, paragraphCaches); - paragraphCaches.Resize(paragraphCount); - - ParagraphSizeArray oldSizes; - CopyFrom(oldSizes, paragraphSizes); - paragraphSizes.Resize(paragraphCount); - - vint defaultHeight = GetCurrentController()->ResourceService()->GetDefaultFont().size; - cachedTotalSize = { 1,1 }; - - for (vint i = 0; i < paragraphCount; i++) + vint width = pgCache.GetParagraphSize(index + i).x; + if (lastTotalWidth == width) { - if (i < index) - { - paragraphCaches[i] = oldCaches[i]; - paragraphSizes[i] = oldSizes[i]; - } - else if (i < index + newCount) - { - paragraphCaches[i] = 0; - paragraphSizes[i] = { 0,defaultHeight }; - if (!updatedText && i < index + oldCount) - { - auto cache = oldCaches[i]; - if(cache) - { - cache->graphicsParagraph = 0; - } - paragraphCaches[i] = cache; - paragraphSizes[i] = oldSizes[i]; - } - } - else - { - paragraphCaches[i] = oldCaches[i - (newCount - oldCount)]; - paragraphSizes[i] = oldSizes[i - (newCount - oldCount)]; - } - - auto cachedSize = paragraphSizes[i]; - if (cachedTotalSize.x < cachedSize.x) - { - cachedTotalSize.x = cachedSize.x; - } - cachedTotalSize.y += cachedSize.y + paragraphDistance; + lastTotalWidth = 0; + break; } - if (paragraphCount > 0) - { - cachedTotalSize.y -= paragraphDistance; - } - - if (updatedText) - { - vint count = oldCount < newCount ? oldCount : newCount; - for (vint i = 0; i < count; i++) - { - if (auto cache = oldCaches[index + i]) - { - // TODO: (enumerable) foreach on dictionary - for (vint j = 0; j < cache->embeddedObjects.Count(); j++) - { - auto id = cache->embeddedObjects.Keys()[j]; - auto name = cache->embeddedObjects.Values()[j]->name; - nameCallbackIdMap.Remove(name); - freeCallbackIds.Add(id); - } - } - } - } - minSize = cachedTotalSize; } + lastTotalHeightWithoutParagraphDistance += pgCache.ResetCache(index, oldCount, newCount, updatedText); + FixMinSize(); +#undef ERROR_MESSAGE_PREFIX } Ptr GuiDocumentElementRenderer::GetHyperlinkFromPoint(Point point) { if (!renderTarget) return nullptr; - vint top=0; - vint index=-1; - if(GetParagraphIndexFromPoint(point, top, index)) + vint index = pgCache.GetParagraphFromY(point.y, paragraphDistance); + vint top = pgCache.GetParagraphTop(index, paragraphDistance); + + auto document = element->GetDocument(); + auto cache = EnsureParagraph(index); + Point paragraphPoint(point.x, point.y - top); + + vint start = -1; + vint length = 0; + if (cache->graphicsParagraph->GetInlineObjectFromPoint(paragraphPoint, start, length)) { - auto document = element->GetDocument(); - Ptr cache=EnsureAndGetCache(index, true); - Point paragraphPoint(point.x, point.y-top); - - vint start=-1; - vint length=0; - if(cache->graphicsParagraph->GetInlineObjectFromPoint(paragraphPoint, start, length)) - { - return document->GetHyperlink(index, start, start+length); - } - - vint caret=cache->graphicsParagraph->GetCaretFromPoint(paragraphPoint); - return document->GetHyperlink(index, caret, caret); + return document->GetHyperlink(index, start, start + length); } - return nullptr; + + vint caret = cache->graphicsParagraph->GetCaretFromPoint(paragraphPoint); + return document->GetHyperlink(index, caret, caret); } void GuiDocumentElementRenderer::OpenCaret(TextPos caret, Color color, bool frontSide) { CloseCaret(caret); - lastCaret=caret; - lastCaretColor=color; - lastCaretFrontSide=frontSide; + lastCaret = caret; + lastCaretColor = color; + lastCaretFrontSide = frontSide; - Ptr cache=paragraphCaches[lastCaret.row]; - if(cache && cache->graphicsParagraph) + auto cache = pgCache.TryGetParagraphCache(lastCaret.row); + if (cache && cache->graphicsParagraph) { cache->graphicsParagraph->OpenCaret(lastCaret.column, lastCaretColor, lastCaretFrontSide); } @@ -30041,61 +30318,65 @@ GuiDocumentElementRenderer void GuiDocumentElementRenderer::CloseCaret(TextPos caret) { - if(lastCaret!=TextPos(-1, -1)) + if (lastCaret != TextPos(-1, -1)) { - if(0<=lastCaret.row && lastCaret.rowgraphicsParagraph) { - Ptr cache=paragraphCaches[lastCaret.row]; - if(cache && cache->graphicsParagraph) - { - cache->graphicsParagraph->CloseCaret(); - } + cache->graphicsParagraph->CloseCaret(); } } - lastCaret=caret; + lastCaret = caret; } void GuiDocumentElementRenderer::SetSelection(TextPos begin, TextPos end) { - if(begin>end) + if (begin > end) { - TextPos t=begin; - begin=end; - end=t; + TextPos t = begin; + begin = end; + end = t; } - if(begin==end) + if (begin == end) { - begin=TextPos(-1, -1); - end=TextPos(-1, -1); + begin = TextPos(-1, -1); + end = TextPos(-1, -1); } if (!renderTarget) return; - // TODO: (enumerable) foreach:indexed - for(vint i=0;i cache=EnsureAndGetCache(i, false); - vint newBegin=i==begin.row?begin.column:0; - vint newEnd=i==end.row?end.column:cache->fullText.Length(); - - if(cache->selectionBegin!=newBegin || cache->selectionEnd!=newEnd) + if (auto cache = pgCache.TryGetParagraphCache(i)) { - cache->selectionBegin=newBegin; - cache->selectionEnd=newEnd; - NotifyParagraphUpdated(i, 1, 1, false); + vint newBegin = i == begin.row ? begin.column : 0; + vint newEnd = i == end.row ? end.column : cache->fullText.Length(); + + if (cache->selectionBegin != newBegin || cache->selectionEnd != newEnd) + { + cache->selectionBegin = newBegin; + cache->selectionEnd = newEnd; + if (cache->graphicsParagraph) + { + NotifyParagraphUpdated(i, 1, 1, false); + } + } } } else { - Ptr cache=paragraphCaches[i]; - if(cache) + if (auto cache = pgCache.TryGetParagraphCache(i)) { - if(cache->selectionBegin!=-1 || cache->selectionEnd!=-1) + if (cache->selectionBegin != -1 || cache->selectionEnd != -1) { - cache->selectionBegin=-1; - cache->selectionEnd=-1; - NotifyParagraphUpdated(i, 1, 1, false); + cache->selectionBegin = -1; + cache->selectionEnd = -1; + if (cache->graphicsParagraph) + { + NotifyParagraphUpdated(i, 1, 1, false); + } } } } @@ -30105,8 +30386,7 @@ GuiDocumentElementRenderer TextPos GuiDocumentElementRenderer::CalculateCaret(TextPos comparingCaret, IGuiGraphicsParagraph::CaretRelativePosition position, bool& preferFrontSide) { if (!renderTarget) return comparingCaret; - Ptr cache = EnsureAndGetCache(comparingCaret.row, true); - if (cache) + if (auto cache = EnsureParagraph(comparingCaret.row)) { switch (position) { @@ -30140,7 +30420,7 @@ GuiDocumentElementRenderer if (caret == comparingCaret.column && comparingCaret.row > 0) { Rect caretBounds = cache->graphicsParagraph->GetCaretBounds(comparingCaret.column, preferFrontSide); - Ptr anotherCache = EnsureAndGetCache(comparingCaret.row - 1, true); + auto anotherCache = EnsureParagraph(comparingCaret.row - 1); vint height = anotherCache->graphicsParagraph->GetSize().y; caret = anotherCache->graphicsParagraph->GetCaretFromPoint(Point(caretBounds.x1, height)); return TextPos(comparingCaret.row - 1, caret); @@ -30153,10 +30433,10 @@ GuiDocumentElementRenderer case IGuiGraphicsParagraph::CaretMoveDown: { vint caret = cache->graphicsParagraph->GetCaret(comparingCaret.column, IGuiGraphicsParagraph::CaretMoveDown, preferFrontSide); - if (caret == comparingCaret.column && comparingCaret.row < paragraphCaches.Count() - 1) + if (caret == comparingCaret.column && comparingCaret.row < pgCache.GetParagraphCount() - 1) { Rect caretBounds = cache->graphicsParagraph->GetCaretBounds(comparingCaret.column, preferFrontSide); - Ptr anotherCache = EnsureAndGetCache(comparingCaret.row + 1, true); + auto anotherCache = EnsureParagraph(comparingCaret.row + 1); caret = anotherCache->graphicsParagraph->GetCaretFromPoint(Point(caretBounds.x1, 0)); return TextPos(comparingCaret.row + 1, caret); } @@ -30171,7 +30451,7 @@ GuiDocumentElementRenderer vint caret = cache->graphicsParagraph->GetCaret(comparingCaret.column, IGuiGraphicsParagraph::CaretMoveLeft, preferFrontSide); if (caret == comparingCaret.column && comparingCaret.row > 0) { - Ptr anotherCache = EnsureAndGetCache(comparingCaret.row - 1, true); + auto anotherCache = EnsureParagraph(comparingCaret.row - 1); caret = anotherCache->graphicsParagraph->GetCaret(0, IGuiGraphicsParagraph::CaretLast, preferFrontSide); return TextPos(comparingCaret.row - 1, caret); } @@ -30184,9 +30464,9 @@ GuiDocumentElementRenderer { preferFrontSide = true; vint caret = cache->graphicsParagraph->GetCaret(comparingCaret.column, IGuiGraphicsParagraph::CaretMoveRight, preferFrontSide); - if (caret == comparingCaret.column && comparingCaret.row < paragraphCaches.Count() - 1) + if (caret == comparingCaret.column && comparingCaret.row < pgCache.GetParagraphCount() - 1) { - Ptr anotherCache = EnsureAndGetCache(comparingCaret.row + 1, true); + auto anotherCache = EnsureParagraph(comparingCaret.row + 1); caret = anotherCache->graphicsParagraph->GetCaret(0, IGuiGraphicsParagraph::CaretFirst, preferFrontSide); return TextPos(comparingCaret.row + 1, caret); } @@ -30203,34 +30483,25 @@ GuiDocumentElementRenderer TextPos GuiDocumentElementRenderer::CalculateCaretFromPoint(Point point) { if (!renderTarget) return TextPos(-1, -1); - vint top=0; - vint index=-1; - if(GetParagraphIndexFromPoint(point, top, index)) - { - Ptr cache=EnsureAndGetCache(index, true); - Point paragraphPoint(point.x, point.y-top); - vint caret=cache->graphicsParagraph->GetCaretFromPoint(paragraphPoint); - return TextPos(index, caret); - } - return TextPos(-1, -1); + vint index = pgCache.GetParagraphFromY(point.y, paragraphDistance); + vint top = pgCache.GetParagraphTop(index, paragraphDistance); + + auto cache = EnsureParagraph(index); + Point paragraphPoint(point.x, point.y - top); + vint caret = cache->graphicsParagraph->GetCaretFromPoint(paragraphPoint); + return TextPos(index, caret); } Rect GuiDocumentElementRenderer::GetCaretBounds(TextPos caret, bool frontSide) { if (!renderTarget) return Rect(); - Ptr cache = EnsureAndGetCache(caret.row, true); + auto cache = EnsureParagraph(caret.row); if (cache) { Rect bounds = cache->graphicsParagraph->GetCaretBounds(caret.column, frontSide); if (bounds != Rect()) { - vint y = 0; - for (vint i = 0; i < caret.row; i++) - { - EnsureAndGetCache(i, true); - y += paragraphSizes[i].y + paragraphDistance; - } - + vint y = pgCache.GetParagraphTop(caret.row, paragraphDistance); bounds.y1 += y; bounds.y2 += y; return bounds; @@ -32812,7 +33083,7 @@ GuiHostedController::INativeWindowService SettingHostedWindowsBeforeRunning(); wmManager->needRefresh = true; - if (unittest::UnitTest::GetFailureMode() == unittest::UnitTest::FailureMode::NotRunning) + if (unittest::UnitTest::GetFailureMode() == unittest::UnitTest::FailureMode::NotRunning || unittest::UnitTest::GetFailureMode() == unittest::UnitTest::FailureMode::Debug) { nativeController->WindowService()->Run(nativeWindow); } @@ -41739,6 +42010,9 @@ DocumentParagraphRun /*********************************************************************** DocumentModel + +If a style has a parent style, undefined style properties are inherited recursively. +If any style property is still undefined after inheritance, the value of DefaultStyleName will be picked up during rendering. ***********************************************************************/ const wchar_t* DocumentModel::DefaultStyleName = L"#Default"; @@ -41749,58 +42023,78 @@ DocumentModel DocumentModel::DocumentModel() { + if (GetCurrentController()) { - FontProperties font=GetCurrentController()->ResourceService()->GetDefaultFont(); - auto sp=Ptr(new DocumentStyleProperties); - sp->face=font.fontFamily; - sp->size=DocumentFontSize((double)font.size, false); - sp->color=Color(); - sp->backgroundColor=Color(0, 0, 0, 0); - sp->bold=font.bold; - sp->italic=font.italic; - sp->underline=font.underline; - sp->strikeline=font.strikeline; - sp->antialias=font.antialias; - sp->verticalAntialias=font.verticalAntialias; + FontProperties font = GetCurrentController()->ResourceService()->GetDefaultFont(); + auto sp = Ptr(new DocumentStyleProperties); + sp->face = font.fontFamily; + sp->size = DocumentFontSize((double)font.size, false); + sp->color = Color(); + sp->backgroundColor = Color(0, 0, 0, 0); + sp->bold = font.bold; + sp->italic = font.italic; + sp->underline = font.underline; + sp->strikeline = font.strikeline; + sp->antialias = font.antialias; + sp->verticalAntialias = font.verticalAntialias; auto style = Ptr(new DocumentStyle); - style->styles=sp; + style->styles = sp; styles.Add(L"#Default", style); } + else { auto sp = Ptr(new DocumentStyleProperties); - sp->color=Color(255, 255, 255); - sp->backgroundColor=Color(51, 153, 255); + sp->face = WString::Unmanaged(L"Times New Roman"); + sp->size = DocumentFontSize(8, false); + sp->color = Color(); + sp->backgroundColor = Color(0, 0, 0, 0); + sp->bold = false; + sp->italic = false; + sp->underline = false; + sp->strikeline = false; + sp->antialias = false; + sp->verticalAntialias = false; auto style = Ptr(new DocumentStyle); - style->styles=sp; + style->styles = sp; + styles.Add(L"#Default", style); + } + + { + auto sp = Ptr(new DocumentStyleProperties); + sp->color = Color(255, 255, 255); + sp->backgroundColor = Color(51, 153, 255); + + auto style = Ptr(new DocumentStyle); + style->styles = sp; styles.Add(L"#Selection", style); } { auto sp = Ptr(new DocumentStyleProperties); auto style = Ptr(new DocumentStyle); - style->styles=sp; + style->styles = sp; styles.Add(L"#Context", style); } { auto sp = Ptr(new DocumentStyleProperties); - sp->color=Color(0, 0, 255); - sp->underline=true; + sp->color = Color(0, 0, 255); + sp->underline = true; auto style = Ptr(new DocumentStyle); - style->parentStyleName=L"#Context"; - style->styles=sp; + style->parentStyleName = L"#Context"; + style->styles = sp; styles.Add(L"#NormalLink", style); } { auto sp = Ptr(new DocumentStyleProperties); - sp->color=Color(255, 128, 0); - sp->underline=true; + sp->color = Color(255, 128, 0); + sp->underline = true; auto style = Ptr(new DocumentStyle); - style->parentStyleName=L"#Context"; - style->styles=sp; + style->parentStyleName = L"#Context"; + style->styles = sp; styles.Add(L"#ActiveLink", style); } } @@ -46272,53 +46566,66 @@ document_operation_visitors::SerializeRunVisitor void Visit(DocumentTextRun* run)override { - if (run->text != L"") + auto begin = run->text.Buffer(); + auto end = begin + run->text.Length(); + while (*begin == L'\r') begin++; + while (end > begin && end[-1] == L'\r') end--; + if (begin == end) return; + + auto beginWithTag = *begin == L'\n' || *begin == L' ' || *begin == L'\t'; + auto endWithTag = end > begin && (end[-1] == L'\n' || end[-1] == L' ' || end[-1] == L'\t'); + auto wrappedByNop = !beginWithTag || !endWithTag; + auto writer = wrappedByNop ? XmlElementWriter(parent).Element(L"nop") : XmlElementWriter(parent); + + auto reading = begin; + auto last = reading; + while (true) { - auto writer = XmlElementWriter(parent).Element(L"nop"); - auto begin = run->text.Buffer(); - auto reading = begin; - auto last = reading; - while (true) + auto c = *reading; + const wchar_t* tag = nullptr; + + switch (c) { - const wchar_t* tag = nullptr; - auto c = *reading; - switch (c) + case L'\n': + tag = L"br"; + break; + case L' ': + if (!wrappedByNop && (reading == begin || reading == end - 1)) { - case L'\n': - tag = L"br"; - break; - case L' ': tag = L"sp"; - break; - case L'\t': + } + break; + case L'\t': + if (!wrappedByNop && (reading == begin || reading == end - 1)) + { tag = L"tab"; - break; } - - if (tag || c == 0) - { - if (reading > last) - { - auto end = reading[-1] == L'\r' ? reading - 1 : reading; - if (end > last) - { - writer.Text(run->text.Sub(last - begin, end - last)); - } - last = reading; - } - } - - if (tag) - { - writer.Element(tag); - last++; - } - else if (c == 0) - { - break; - } - reading++; + break; } + + if (tag || reading == end) + { + if (reading > last) + { + auto end = reading[-1] == L'\r' ? reading - 1 : reading; + if (end > last) + { + writer.Text(run->text.Sub(last - begin, end - last)); + } + last = reading; + } + } + + if (tag) + { + writer.Element(tag); + last++; + } + else if (reading == end) + { + break; + } + reading++; } } @@ -50437,7 +50744,7 @@ FakeDialogServiceBase vm->defaultExtension = defaultExtension; Regex regexFilterExt(L"/*.[^*?]+"); - Regex regexWildcard(L"[*? ]"); + Regex regexWildcard(L"[*?;]"); vint filterStart = 0; while (true) { @@ -50478,20 +50785,25 @@ FakeDialogServiceBase auto regexFilter = stream::GenerateToStream([&](stream::TextWriter& writer) { - writer.WriteChar(L'^'); + writer.WriteString(L"^("); List> matches; regexWildcard.Cut(filterItem->filter, false, matches); for (auto match : matches) { if (match->Success()) { - if (match->Result().Value() == WString::Unmanaged(L"*")) + auto wildcard = match->Result().Value()[0]; + switch (wildcard) { + case L'*': writer.WriteString(WString::Unmanaged(L"/.*")); - } - else - { + break; + case L'?': writer.WriteString(WString::Unmanaged(L"/.")); + break; + case L';': + writer.WriteString(WString::Unmanaged(L"|")); + break; } } else @@ -50499,7 +50811,7 @@ FakeDialogServiceBase writer.WriteString(u32tow(regex_internal::EscapeTextForRegex(wtou32(match->Result().Value())))); } } - writer.WriteChar(L'$'); + writer.WriteString(L")$"); }); filterItem->regexFilter = Ptr(new Regex(regexFilter)); @@ -51334,7 +51646,7 @@ Closures void __vwsnf36_GuiFakeDialogServiceUI_gaclib_controls_FilePickerControlConstructor___vwsn_gaclib_controls_FilePickerControl_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiItemMouseEventArgs* arguments) const { - auto file = ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetFiles()[::vl::__vwsn::This(arguments)->itemIndex]; + auto file = ::vl::__vwsn::UnboxWeak<::vl::Ptr<::vl::presentation::IFileDialogFile>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetItemProvider())->GetBindingValue(::vl::__vwsn::This(arguments)->itemIndex)); auto selection = ::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->ParseDisplayString(::vl::__vwsn::This(__vwsnthis_0->ViewModel.Obj())->GetDisplayString(::vl::reflection::description::GetLazyList<::vl::Ptr<::vl::presentation::IFileDialogFile>>((::vl::__vwsn::CreateList().Add(file)).list))); ::vl::__vwsn::This(::vl::presentation::controls::GetApplication())->InvokeInMainThread(::vl::__vwsn::This(__vwsnthis_0->self)->GetRelatedControlHost(), vl::Func(::vl_workflow_global::__vwsnf37_GuiFakeDialogServiceUI_gaclib_controls_FilePickerControlConstructor___vwsn_gaclib_controls_FilePickerControl_Initialize__(selection, __vwsnthis_0))); } @@ -53396,7 +53708,7 @@ Closures if ((__vwsn_co_state_ == static_cast<::vl::vint>(3))) { (__vwsn_co1_item = ::vl::__vwsn::Unbox<::vl::vint>(::vl::__vwsn::This(__vwsn_co3_for_enumerator_item.Obj())->GetCurrent())); - (__vwsn_co0_file = ::vl::Ptr<::vl::presentation::IFileDialogFile>(::vl::__vwsn::This(__vwsnthis_0->GetViewModel().Obj())->GetFiles()[__vwsn_co1_item])); + (__vwsn_co0_file = ::vl::__vwsn::UnboxWeak<::vl::Ptr<::vl::presentation::IFileDialogFile>>(::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0->dataGrid)->GetItemProvider())->GetBindingValue(__vwsn_co1_item))); if (static_cast(__vwsn_co0_file)) { this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting); diff --git a/Import/GacUI.h b/Import/GacUI.h index 5852fa42..3d0a2bea 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -1592,6 +1592,8 @@ GuiDocumentConfig Nullable doubleLineBreaksBetweenParagraph; /// When it is true, when removing a line break from a document due to paragraphMode, insert a extra space. Nullable spaceForFlattenedLineBreak; + /// Delete cache immediately when it is scrolled out of the view. + Nullable paragraphRecycle; auto operator<=>(const GuiDocumentConfig&) const = default; @@ -1615,6 +1617,7 @@ GuiDocumentConfigEvaluated bool paragraphPadding; bool doubleLineBreaksBetweenParagraph; bool spaceForFlattenedLineBreak; + bool paragraphRecycle; GuiDocumentConfigEvaluated(const GuiDocumentConfig& config); }; @@ -1991,253 +1994,6 @@ Basic Construction #endif -/*********************************************************************** -.\GRAPHICSELEMENT\GUIGRAPHICSDOCUMENTINTERFACES.H -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Element System and Infrastructure Interfaces - -Interfaces: -***********************************************************************/ - -#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTINTERFACES -#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTINTERFACES - - -namespace vl -{ - namespace presentation - { - namespace elements - { - -/*********************************************************************** -Layout Engine -***********************************************************************/ - - class IGuiGraphicsParagraph; - class IGuiGraphicsLayoutProvider; - - /// Represents a paragraph of a layouted rich text content. - class IGuiGraphicsParagraph : public IDescriptable, public Description - { - public: - static const vint NullInteractionId = -1; - - /// Text style. Items in this enumeration type can be combined. - enum TextStyle - { - /// Bold. - Bold=1, - /// Italic. - Italic=2, - /// Underline. - Underline=4, - /// Strikeline. - Strikeline=8, - }; - - /// Inline object break condition. - enum BreakCondition - { - /// Stay together with the previous run if possible. - StickToPreviousRun, - /// Stay together with the next run if possible. - StickToNextRun, - /// Treat as a single run. - Alone, - }; - - /// Caret relative position. - enum CaretRelativePosition - { - /// The first caret position. - CaretFirst, - /// The last caret position. - CaretLast, - /// The first caret position of the current line. - CaretLineFirst, - /// The last caret position of the current line. - CaretLineLast, - /// The relative left caret position. - CaretMoveLeft, - /// The relative right caret position. - CaretMoveRight, - /// The relative up caret position. - CaretMoveUp, - /// The relative down caret position. - CaretMoveDown, - }; - - /// Inline object properties. - struct InlineObjectProperties - { - /// The size of the inline object. - Size size; - /// The baseline of the inline object.If the baseline is at the bottom, then set the baseline to -1. - vint baseline = -1; - /// The break condition of the inline object. - BreakCondition breakCondition; - /// The background image, nullable. - Ptr backgroundImage; - /// The id for callback. If the value is -1, then no callback will be received . - vint callbackId = -1; - - InlineObjectProperties() - :baseline(-1) - { - } - }; - - /// Get the object that created this paragraph. - /// The layout provider object. - virtual IGuiGraphicsLayoutProvider* GetProvider()=0; - /// Get the associated to this paragraph. - /// The associated render target. - virtual IGuiGraphicsRenderTarget* GetRenderTarget()=0; - /// Get if line auto-wrapping is enabled for this paragraph. - /// Return true if line auto-wrapping is enabled for this paragraph. - virtual bool GetWrapLine()=0; - /// Set if line auto-wrapping is enabled for this paragraph. - /// True if line auto-wrapping is enabled for this paragraph. - virtual void SetWrapLine(bool value)=0; - /// Get the max width for this paragraph. If there is no max width limitation, it returns -1. - /// The max width for this paragraph. - virtual vint GetMaxWidth()=0; - /// Set the max width for this paragraph. If the max width is set to -1, the max width limitation will be removed. - /// The max width. - virtual void SetMaxWidth(vint value)=0; - /// Get the horizontal alignment for this paragraph. - /// The alignment. - virtual Alignment GetParagraphAlignment()=0; - /// Set the horizontal alignment for this paragraph. - /// The alignment. - virtual void SetParagraphAlignment(Alignment value)=0; - - /// Replace the font within the specified range. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The font. - /// Returns true if this operation succeeded. - virtual bool SetFont(vint start, vint length, const WString& value)=0; - /// Replace the size within the specified range. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The size. - /// Returns true if this operation succeeded. - virtual bool SetSize(vint start, vint length, vint value)=0; - /// Replace the text style within the specified range. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The text style. - /// Returns true if this operation succeeded. - virtual bool SetStyle(vint start, vint length, TextStyle value)=0; - /// Replace the color within the specified range. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The color. - /// Returns true if this operation succeeded. - virtual bool SetColor(vint start, vint length, Color value)=0; - /// Replace the background color within the specified range. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The background color. - /// Returns true if this operation succeeded. - virtual bool SetBackgroundColor(vint start, vint length, Color value)=0; - /// Bind an to a range of text. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// The properties for the inline object. - /// Returns true if this operation succeeded. - virtual bool SetInlineObject(vint start, vint length, const InlineObjectProperties& properties)=0; - /// Unbind all inline objects to a range of text. - /// The position of the first character of the specified range. - /// The length of the specified range by character. - /// Returns true if this operation succeeded. - virtual bool ResetInlineObject(vint start, vint length)=0; - - /// Get the layouted size of the text. The result depends on rich styled text and the two important properties that can be set using and . - /// The layouted size. - virtual Size GetSize()=0; - /// Make the caret visible so that it will be rendered in the paragraph. - /// Returns true if this operation succeeded. - /// The caret. - /// The color of the caret. - /// Set to true to display the caret for the character before it. - virtual bool OpenCaret(vint caret, Color color, bool frontSide)=0; - /// Make the caret invisible. - /// Returns true if this operation succeeded. - virtual bool CloseCaret()=0; - /// Render the graphics element using a specified bounds. - /// Bounds to decide the size and position of the binded graphics element. - virtual void Render(Rect bounds)=0; - - /// Get a new caret from the old caret with a relative position. - /// The new caret. Returns -1 if failed. - /// The caret to compare. If the position is CaretFirst or CaretLast, this argument is ignored. - /// The relative position. - /// Only for CaretMoveUp and CaretMoveDown. Set to true to make the caret prefer to get closer to the character before it. After this function is called, this argument stored the suggested side for displaying the new caret. - virtual vint GetCaret(vint comparingCaret, CaretRelativePosition position, bool& preferFrontSide)=0; - /// Get the bounds of the caret. - /// The bounds whose width is 0. Returns an empty Rect value if failed. - /// The caret. - /// Set to true to get the bounds of the front side, otherwise the back side. If only one side is valid, this argument is ignored. - virtual Rect GetCaretBounds(vint caret, bool frontSide)=0; - /// Get the caret from a specified position. - /// The caret. Returns -1 if failed. - /// The point. - virtual vint GetCaretFromPoint(Point point)=0; - /// Get the inline object from a specified position. - /// The inline object. Returns null if failed. - /// The point. - /// Get the start position of this element. - /// Get the length of this element. - virtual Nullable GetInlineObjectFromPoint(Point point, vint& start, vint& length)=0; - /// Get the nearest caret from a text position. - /// The caret. Returns -1 if failed. If the text position is a caret, then the result will be the text position itself without considering the frontSide argument. - /// The caret to compare. If the position is CaretFirst or CaretLast, this argument is ignored. - /// Set to true to search in front of the text position, otherwise the opposite position. - virtual vint GetNearestCaretFromTextPos(vint textPos, bool frontSide)=0; - /// Test is the caret valid. - /// Returns true if the caret is valid. - /// The caret to test. - virtual bool IsValidCaret(vint caret)=0; - /// Test is the text position valid. - /// Returns true if the text position is valid. - /// The text position to test. - virtual bool IsValidTextPos(vint textPos)=0; - }; - - /// Paragraph callback - class IGuiGraphicsParagraphCallback : public IDescriptable, public Description - { - public: - /// Called when an inline object with a valid callback id is being rendered. - /// Returns the new size of the rendered inline object. - /// The callback id of the inline object - /// The location of the inline object, relative to the left-top corner of this paragraph. - virtual Size OnRenderInlineObject(vint callbackId, Rect location) = 0; - }; - - /// Renderer awared rich text document layout engine provider interface. - class IGuiGraphicsLayoutProvider : public IDescriptable, public Description - { - public: - /// Create a paragraph with internal renderer device dependent objects initialized. - /// The text used to fill the paragraph. - /// The render target that the created paragraph will render to. - /// A callback to receive necessary information when the paragraph is being rendered. - /// The created paragraph object. - virtual Ptr CreateParagraph(const WString& text, IGuiGraphicsRenderTarget* renderTarget, IGuiGraphicsParagraphCallback* callback)=0; - }; - } - } -} - -#endif - /*********************************************************************** .\NATIVEWINDOW\GUINATIVEWINDOW.H ***********************************************************************/ @@ -7444,348 +7200,6 @@ Interfaces: #define VCZH_PRESENTATION_COMPOSITION_INCLUDEALL -#endif - -/*********************************************************************** -.\GRAPHICSELEMENT\GUIGRAPHICSRESOURCEMANAGER.H -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Element System and Infrastructure Interfaces - -Interfaces: -***********************************************************************/ - -#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSRESOURCEMANAGER -#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSRESOURCEMANAGER - - -namespace vl -{ - namespace presentation - { - namespace compositions - { - extern void InvokeOnCompositionStateChanged(compositions::GuiGraphicsComposition* composition); - } - - namespace elements - { - -/*********************************************************************** -Resource Manager -***********************************************************************/ - - /// - /// This is an interface for managing grpahics element factories and graphics renderer factories - /// - class IGuiGraphicsResourceManager : public Interface, public Description - { - public: - /// - /// Register a element type name. - /// This function crashes when an element type has already been registered. - /// - /// The element type. - /// A number identifies this element type. - virtual vint RegisterElementType(const WString& elementTypeName) = 0; - /// - /// Register a and bind it to an registered element type from . - /// This function crashes when an element type has already been binded a renderer factory. - /// - /// The element type to represent a graphics element factory. - /// The instance of the graphics renderer factory to register. - virtual void RegisterRendererFactory(vint elementType, Ptr factory) = 0; - /// - /// Get the instance of a registered that is binded to a specified element type. - /// - /// Returns the renderer factory. - /// The registered element type from to get a binded graphics renderer factory. - virtual IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType) = 0; - /// - /// Get the instance of a that is binded to an . - /// - /// The specified window. - /// Returns the render target. - virtual IGuiGraphicsRenderTarget* GetRenderTarget(INativeWindow* window) = 0; - /// - /// Recreate the render target for the specified window. - /// - /// The specified window. - virtual void RecreateRenderTarget(INativeWindow* window) = 0; - /// - /// Resize the render target to fit the current window size. - /// - /// The specified window. - virtual void ResizeRenderTarget(INativeWindow* window) = 0; - /// - /// Get the renderer awared rich text document layout engine provider object. - /// - /// Returns the layout provider. - virtual IGuiGraphicsLayoutProvider* GetLayoutProvider() = 0; - /// - /// Create a raw element based on the current renderer. - /// - /// Returns the created graphics element. - virtual Ptr CreateRawElement() = 0; - }; - - /// - /// This is a default implementation for - /// - class GuiGraphicsResourceManager : public Object, public virtual IGuiGraphicsResourceManager - { - protected: - collections::List elementTypes; - collections::Array> rendererFactories; - public: - /// - /// Create a graphics resource manager without any predefined factories - /// - GuiGraphicsResourceManager(); - ~GuiGraphicsResourceManager(); - - vint RegisterElementType(const WString& elementTypeName); - void RegisterRendererFactory(vint elementType, Ptr factory); - IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType); - }; - - /// - /// Get the current . - /// - /// Returns the current resource manager. - extern IGuiGraphicsResourceManager* GetGuiGraphicsResourceManager(); - /// - /// Set the current . - /// - /// The resource manager to set. - extern void SetGuiGraphicsResourceManager(IGuiGraphicsResourceManager* resourceManager); - -/*********************************************************************** -Helpers -***********************************************************************/ - - template - class GuiElementBase : public Object, public IGuiGraphicsElement, public Description - { - protected: - Ptr renderer; - compositions::GuiGraphicsComposition* ownerComposition = nullptr; - - void SetOwnerComposition(compositions::GuiGraphicsComposition* composition)override - { - ownerComposition = composition; - } - - void InvokeOnCompositionStateChanged() - { - if (ownerComposition) - { - compositions::InvokeOnCompositionStateChanged(ownerComposition); - } - } - - void InvokeOnElementStateChanged() - { - if (renderer) - { - renderer->OnElementStateChanged(); - } - InvokeOnCompositionStateChanged(); - } - public: - static vint GetElementType() - { - static vint elementType = -1; - if (elementType == -1) - { - auto manager = GetGuiGraphicsResourceManager(); - CHECK_ERROR(manager != nullptr, L"SetGuiGraphicsResourceManager must be called before registering element types."); - elementType = manager->RegisterElementType(WString::Unmanaged(TElement::ElementTypeName)); - } - return elementType; - } - - static TElement* Create() - { - auto rendererFactory = GetGuiGraphicsResourceManager()->GetRendererFactory(TElement::GetElementType()); - CHECK_ERROR(rendererFactory != nullptr, L"This element is not supported by the selected renderer."); - - auto element = new TElement; - element->renderer = Ptr(rendererFactory->Create()); - element->renderer->Initialize(element); - return element; - } - - ~GuiElementBase() - { - if (renderer) - { - renderer->Finalize(); - } - } - - IGuiGraphicsRenderer* GetRenderer()override - { - return renderer.Obj(); - } - - compositions::GuiGraphicsComposition* GetOwnerComposition()override - { - return ownerComposition; - } - }; - - template - class GuiElementRendererBase : public Object, public IGuiGraphicsRenderer - { - public: - class Factory : public Object, public IGuiGraphicsRendererFactory - { - public: - IGuiGraphicsRenderer* Create() - { - TRenderer* renderer=new TRenderer; - renderer->factory=this; - renderer->element=nullptr; - renderer->renderTarget=nullptr; - return renderer; - } - }; - protected: - - IGuiGraphicsRendererFactory* factory; - TElement* element; - TRenderTarget* renderTarget; - Size minSize; - - public: - static void Register() - { - auto manager = GetGuiGraphicsResourceManager(); - CHECK_ERROR(manager != nullptr, L"SetGuiGraphicsResourceManager must be called before registering element renderers."); - manager->RegisterRendererFactory(TElement::GetElementType(), Ptr(new typename TRenderer::Factory)); - } - - IGuiGraphicsRendererFactory* GetFactory()override - { - return factory; - } - - void Initialize(IGuiGraphicsElement* _element)override - { - element=dynamic_cast(_element); - static_cast(this)->InitializeInternal(); - } - - void Finalize()override - { - static_cast(this)->FinalizeInternal(); - } - - void SetRenderTarget(IGuiGraphicsRenderTarget* _renderTarget)override - { - TRenderTarget* oldRenderTarget=renderTarget; - renderTarget= static_cast(_renderTarget); - static_cast(this)->RenderTargetChangedInternal(oldRenderTarget, renderTarget); - } - - Size GetMinSize()override - { - return minSize; - } - }; - - template - class GuiCachedResourceAllocatorBase : public Object - { - public: - static const vint DeadPackageMax = 32; - - struct Package - { - TValue resource; - vint counter; - std::partial_ordering operator<=>(const Package&) const { return std::partial_ordering::unordered; } - bool operator==(const Package&)const { return false; } - }; - - struct DeadPackage - { - TKey key; - TValue value; - std::partial_ordering operator<=>(const DeadPackage&) const { return std::partial_ordering::unordered; } - bool operator==(const DeadPackage&)const { return false; } - }; - - collections::Dictionary aliveResources; - collections::List deadResources; - - public: - - TValue Create(const TKey& key) - { - vint index = aliveResources.Keys().IndexOf(key); - if (index != -1) - { - Package package = aliveResources.Values().Get(index); - package.counter++; - aliveResources.Set(key, package); - return package.resource; - } - TValue resource; - for (vint i = 0; i < deadResources.Count(); i++) - { - if (deadResources[i].key == key) - { - DeadPackage deadPackage = deadResources[i]; - deadResources.RemoveAt(i); - resource = deadPackage.value; - break; - } - } - if (!resource) - { - resource = static_cast(this)->CreateInternal(key); - } - Package package; - package.resource = resource; - package.counter = 1; - aliveResources.Add(key, package); - return package.resource; - } - - void Destroy(const TKey& key) - { - vint index = aliveResources.Keys().IndexOf(key); - if (index != -1) - { - Package package = aliveResources.Values().Get(index); - package.counter--; - if (package.counter == 0) - { - aliveResources.Remove(key); - if (deadResources.Count() == DeadPackageMax) - { - deadResources.RemoveAt(DeadPackageMax - 1); - } - DeadPackage deadPackage; - deadPackage.key = key; - deadPackage.value = package.resource; - deadResources.Insert(0, deadPackage); - } - else - { - aliveResources.Set(key, package); - } - } - } - }; - } - } -} - #endif /*********************************************************************** @@ -7827,62 +7241,6 @@ IGuiHostedApplication #endif -/*********************************************************************** -.\PLATFORMPROVIDERS\HOSTED\GUIHOSTEDGRAPHICS.H -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Hosted Window - -Interfaces: - IGuiGraphicsResourceManager - -***********************************************************************/ - -#ifndef VCZH_PRESENTATION_GUIHOSTEDCONTROLLER_GUIHOSTEDGRAPHICS -#define VCZH_PRESENTATION_GUIHOSTEDCONTROLLER_GUIHOSTEDGRAPHICS - - -namespace vl -{ - namespace presentation - { - class GuiHostedController; - - namespace elements - { - -/*********************************************************************** -GuiHostedGraphicsResourceManager -***********************************************************************/ - - class GuiHostedGraphicsResourceManager : public Object, public virtual IGuiGraphicsResourceManager - { - friend class vl::presentation::GuiHostedController; - protected: - GuiHostedController* hostedController = nullptr; - IGuiGraphicsResourceManager* nativeManager = nullptr; - - public: - GuiHostedGraphicsResourceManager(GuiHostedController* _hostedController, IGuiGraphicsResourceManager* _nativeManager); - ~GuiHostedGraphicsResourceManager(); - - vint RegisterElementType(const WString& elementTypeName) override; - void RegisterRendererFactory(vint elementType, Ptr factory) override; - IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType) override; - IGuiGraphicsRenderTarget* GetRenderTarget(INativeWindow* window) override; - void RecreateRenderTarget(INativeWindow* window) override; - void ResizeRenderTarget(INativeWindow* window) override; - IGuiGraphicsLayoutProvider* GetLayoutProvider() override; - Ptr CreateRawElement() override; - }; - } - } -} - -#endif - /*********************************************************************** .\PLATFORMPROVIDERS\HOSTED\GUIHOSTEDWINDOWMANAGER.H ***********************************************************************/ @@ -12265,6 +11623,617 @@ Rich Content Document (model) #endif +/*********************************************************************** +.\GRAPHICSELEMENT\GUIGRAPHICSDOCUMENTINTERFACES.H +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +GacUI::Element System and Infrastructure Interfaces + +Interfaces: +***********************************************************************/ + +#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTINTERFACES +#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTINTERFACES + + +namespace vl +{ + namespace presentation + { + namespace elements + { + +/*********************************************************************** +IGuiGraphicsParagraph +***********************************************************************/ + + class IGuiGraphicsParagraph; + class IGuiGraphicsLayoutProvider; + + /// Represents a paragraph of a layouted rich text content. + class IGuiGraphicsParagraph : public IDescriptable, public Description + { + public: + static const vint NullInteractionId = -1; + + /// Text style. Items in this enumeration type can be combined. + enum TextStyle + { + /// Bold. + Bold=1, + /// Italic. + Italic=2, + /// Underline. + Underline=4, + /// Strikeline. + Strikeline=8, + }; + + /// Inline object break condition. + enum BreakCondition + { + /// Stay together with the previous run if possible. + StickToPreviousRun, + /// Stay together with the next run if possible. + StickToNextRun, + /// Treat as a single run. + Alone, + }; + + /// Caret relative position. + enum CaretRelativePosition + { + /// The first caret position. + CaretFirst, + /// The last caret position. + CaretLast, + /// The first caret position of the current line. + CaretLineFirst, + /// The last caret position of the current line. + CaretLineLast, + /// The relative left caret position. + CaretMoveLeft, + /// The relative right caret position. + CaretMoveRight, + /// The relative up caret position. + CaretMoveUp, + /// The relative down caret position. + CaretMoveDown, + }; + + /// Inline object properties. + struct InlineObjectProperties + { + /// The size of the inline object. + Size size; + /// The baseline of the inline object.If the baseline is at the bottom, then set the baseline to -1. + vint baseline = -1; + /// The break condition of the inline object. + BreakCondition breakCondition; + /// The background image, nullable. + Ptr backgroundImage; + /// The id for callback. If the value is -1, then no callback will be received . + vint callbackId = -1; + + InlineObjectProperties() + :baseline(-1) + { + } + }; + + /// Get the object that created this paragraph. + /// The layout provider object. + virtual IGuiGraphicsLayoutProvider* GetProvider()=0; + /// Get the associated to this paragraph. + /// The associated render target. + virtual IGuiGraphicsRenderTarget* GetRenderTarget()=0; + /// Get if line auto-wrapping is enabled for this paragraph. + /// Return true if line auto-wrapping is enabled for this paragraph. + virtual bool GetWrapLine()=0; + /// Set if line auto-wrapping is enabled for this paragraph. + /// True if line auto-wrapping is enabled for this paragraph. + virtual void SetWrapLine(bool value)=0; + /// Get the max width for this paragraph. If there is no max width limitation, it returns -1. + /// The max width for this paragraph. + virtual vint GetMaxWidth()=0; + /// Set the max width for this paragraph. If the max width is set to -1, the max width limitation will be removed. + /// The max width. + virtual void SetMaxWidth(vint value)=0; + /// Get the horizontal alignment for this paragraph. + /// The alignment. + virtual Alignment GetParagraphAlignment()=0; + /// Set the horizontal alignment for this paragraph. + /// The alignment. + virtual void SetParagraphAlignment(Alignment value)=0; + + /// Replace the font within the specified range. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The font. + /// Returns true if this operation succeeded. + virtual bool SetFont(vint start, vint length, const WString& value)=0; + /// Replace the size within the specified range. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The size. + /// Returns true if this operation succeeded. + virtual bool SetSize(vint start, vint length, vint value)=0; + /// Replace the text style within the specified range. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The text style. + /// Returns true if this operation succeeded. + virtual bool SetStyle(vint start, vint length, TextStyle value)=0; + /// Replace the color within the specified range. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The color. + /// Returns true if this operation succeeded. + virtual bool SetColor(vint start, vint length, Color value)=0; + /// Replace the background color within the specified range. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The background color. + /// Returns true if this operation succeeded. + virtual bool SetBackgroundColor(vint start, vint length, Color value)=0; + /// Bind an to a range of text. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// The properties for the inline object. + /// Returns true if this operation succeeded. + virtual bool SetInlineObject(vint start, vint length, const InlineObjectProperties& properties)=0; + /// Unbind all inline objects to a range of text. + /// The position of the first character of the specified range. + /// The length of the specified range by character. + /// Returns true if this operation succeeded. + virtual bool ResetInlineObject(vint start, vint length)=0; + + /// Get the layouted size of the text. The result depends on rich styled text and the two important properties that can be set using and . + /// The layouted size. + virtual Size GetSize()=0; + /// Make the caret visible so that it will be rendered in the paragraph. + /// Returns true if this operation succeeded. + /// The caret. + /// The color of the caret. + /// Set to true to display the caret for the character before it. + virtual bool OpenCaret(vint caret, Color color, bool frontSide)=0; + /// Make the caret invisible. + /// Returns true if this operation succeeded. + virtual bool CloseCaret()=0; + /// Render the graphics element using a specified bounds. + /// Bounds to decide the size and position of the binded graphics element. + virtual void Render(Rect bounds)=0; + + /// Get a new caret from the old caret with a relative position. + /// The new caret. Returns -1 if failed. + /// The caret to compare. If the position is CaretFirst or CaretLast, this argument is ignored. + /// The relative position. + /// Only for CaretMoveUp and CaretMoveDown. Set to true to make the caret prefer to get closer to the character before it. After this function is called, this argument stored the suggested side for displaying the new caret. + virtual vint GetCaret(vint comparingCaret, CaretRelativePosition position, bool& preferFrontSide)=0; + /// Get the bounds of the caret. + /// The bounds whose width is 0. Returns an empty Rect value if failed. + /// The caret. + /// Set to true to get the bounds of the front side, otherwise the back side. If only one side is valid, this argument is ignored. + virtual Rect GetCaretBounds(vint caret, bool frontSide)=0; + /// Get the caret from a specified position. + /// The caret. Returns -1 if failed. + /// The point. + virtual vint GetCaretFromPoint(Point point)=0; + /// Get the inline object from a specified position. + /// The inline object. Returns null if failed. + /// The point. + /// Get the start position of this element. + /// Get the length of this element. + virtual Nullable GetInlineObjectFromPoint(Point point, vint& start, vint& length)=0; + /// Get the nearest caret from a text position. + /// The caret. Returns -1 if failed. If the text position is a caret, then the result will be the text position itself without considering the frontSide argument. + /// The caret to compare. If the position is CaretFirst or CaretLast, this argument is ignored. + /// Set to true to search in front of the text position, otherwise the opposite position. + virtual vint GetNearestCaretFromTextPos(vint textPos, bool frontSide)=0; + /// Test is the caret valid. + /// Returns true if the caret is valid. + /// The caret to test. + virtual bool IsValidCaret(vint caret)=0; + /// Test is the text position valid. + /// Returns true if the text position is valid. + /// The text position to test. + virtual bool IsValidTextPos(vint textPos)=0; + }; + +/*********************************************************************** +IGuiGraphicsLayoutProvider +***********************************************************************/ + + /// Paragraph callback + class IGuiGraphicsParagraphCallback : public IDescriptable, public Description + { + public: + /// Called when an inline object with a valid callback id is being rendered. + /// Returns the new size of the rendered inline object. + /// The callback id of the inline object + /// The location of the inline object, relative to the left-top corner of this paragraph. + virtual Size OnRenderInlineObject(vint callbackId, Rect location) = 0; + }; + + /// Renderer awared rich text document layout engine provider interface. + class IGuiGraphicsLayoutProvider : public IDescriptable, public Description + { + public: + /// Create a paragraph with internal renderer device dependent objects initialized. + /// The text used to fill the paragraph. + /// The render target that the created paragraph will render to. + /// A callback to receive necessary information when the paragraph is being rendered. + /// The created paragraph object. + virtual Ptr CreateParagraph(const WString& text, IGuiGraphicsRenderTarget* renderTarget, IGuiGraphicsParagraphCallback* callback)=0; + }; + +/*********************************************************************** +IGuiDocumentElementRenderer +***********************************************************************/ + + class IGuiDocumentElementRenderer : public virtual IGuiGraphicsRenderer + { + public: + virtual void NotifyParagraphPaddingUpdated(bool value) = 0; + virtual void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) = 0; + virtual Ptr GetHyperlinkFromPoint(Point point) = 0; + virtual void OpenCaret(TextPos caret, Color color, bool frontSide) = 0; + virtual void CloseCaret(TextPos caret) = 0; + virtual void SetSelection(TextPos begin, TextPos end) = 0; + virtual TextPos CalculateCaret(TextPos comparingCaret, IGuiGraphicsParagraph::CaretRelativePosition position, bool& preferFrontSide) = 0; + virtual TextPos CalculateCaretFromPoint(Point point) = 0; + virtual Rect GetCaretBounds(TextPos caret, bool frontSide) = 0; + }; + } + } +} + +#endif + +/*********************************************************************** +.\GRAPHICSELEMENT\GUIGRAPHICSRESOURCEMANAGER.H +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +GacUI::Element System and Infrastructure Interfaces + +Interfaces: +***********************************************************************/ + +#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSRESOURCEMANAGER +#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSRESOURCEMANAGER + + +namespace vl +{ + namespace presentation + { + namespace compositions + { + extern void InvokeOnCompositionStateChanged(compositions::GuiGraphicsComposition* composition); + } + + namespace elements + { + +/*********************************************************************** +Resource Manager +***********************************************************************/ + + /// + /// This is an interface for managing grpahics element factories and graphics renderer factories + /// + class IGuiGraphicsResourceManager : public Interface, public Description + { + public: + /// + /// Register a element type name. + /// This function crashes when an element type has already been registered. + /// + /// The element type. + /// A number identifies this element type. + virtual vint RegisterElementType(const WString& elementTypeName) = 0; + /// + /// Register a and bind it to an registered element type from . + /// This function crashes when an element type has already been binded a renderer factory. + /// + /// The element type to represent a graphics element factory. + /// The instance of the graphics renderer factory to register. + virtual void RegisterRendererFactory(vint elementType, Ptr factory) = 0; + /// + /// Get the instance of a registered that is binded to a specified element type. + /// + /// Returns the renderer factory. + /// The registered element type from to get a binded graphics renderer factory. + virtual IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType) = 0; + /// + /// Get the instance of a that is binded to an . + /// + /// The specified window. + /// Returns the render target. + virtual IGuiGraphicsRenderTarget* GetRenderTarget(INativeWindow* window) = 0; + /// + /// Recreate the render target for the specified window. + /// + /// The specified window. + virtual void RecreateRenderTarget(INativeWindow* window) = 0; + /// + /// Resize the render target to fit the current window size. + /// + /// The specified window. + virtual void ResizeRenderTarget(INativeWindow* window) = 0; + /// + /// Get the renderer awared rich text document layout engine provider object. + /// + /// Returns the layout provider. + virtual IGuiGraphicsLayoutProvider* GetLayoutProvider() = 0; + /// + /// Create a raw element based on the current renderer. + /// + /// Returns the created graphics element. + virtual Ptr CreateRawElement() = 0; + }; + + /// + /// This is a default implementation for + /// + class GuiGraphicsResourceManager : public Object, public virtual IGuiGraphicsResourceManager + { + protected: + collections::List elementTypes; + collections::Array> rendererFactories; + public: + /// + /// Create a graphics resource manager without any predefined factories + /// + GuiGraphicsResourceManager(); + ~GuiGraphicsResourceManager(); + + vint RegisterElementType(const WString& elementTypeName); + void RegisterRendererFactory(vint elementType, Ptr factory); + IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType); + }; + + /// + /// Get the current . + /// + /// Returns the current resource manager. + extern IGuiGraphicsResourceManager* GetGuiGraphicsResourceManager(); + /// + /// Set the current . + /// + /// The resource manager to set. + extern void SetGuiGraphicsResourceManager(IGuiGraphicsResourceManager* resourceManager); + +/*********************************************************************** +Helpers +***********************************************************************/ + + template + class GuiElementBase : public Object, public IGuiGraphicsElement, public Description + { + protected: + Ptr renderer; + compositions::GuiGraphicsComposition* ownerComposition = nullptr; + + void SetOwnerComposition(compositions::GuiGraphicsComposition* composition)override + { + ownerComposition = composition; + } + + void InvokeOnCompositionStateChanged() + { + if (ownerComposition) + { + compositions::InvokeOnCompositionStateChanged(ownerComposition); + } + } + + void InvokeOnElementStateChanged() + { + if (renderer) + { + renderer->OnElementStateChanged(); + } + InvokeOnCompositionStateChanged(); + } + public: + static vint GetElementType() + { + static vint elementType = -1; + if (elementType == -1) + { + auto manager = GetGuiGraphicsResourceManager(); + CHECK_ERROR(manager != nullptr, L"SetGuiGraphicsResourceManager must be called before registering element types."); + elementType = manager->RegisterElementType(WString::Unmanaged(TElement::ElementTypeName)); + } + return elementType; + } + + static TElement* Create() + { + auto rendererFactory = GetGuiGraphicsResourceManager()->GetRendererFactory(TElement::GetElementType()); + CHECK_ERROR(rendererFactory != nullptr, L"This element is not supported by the selected renderer."); + + auto element = new TElement; + element->renderer = Ptr(rendererFactory->Create()); + element->renderer->Initialize(element); + return element; + } + + ~GuiElementBase() + { + if (renderer) + { + renderer->Finalize(); + } + } + + IGuiGraphicsRenderer* GetRenderer()override + { + return renderer.Obj(); + } + + compositions::GuiGraphicsComposition* GetOwnerComposition()override + { + return ownerComposition; + } + }; + + template + class GuiElementRendererBase : public Object, public virtual BaseInterfaceType + { + public: + class Factory : public Object, public IGuiGraphicsRendererFactory + { + public: + IGuiGraphicsRenderer* Create() + { + TRenderer* renderer=new TRenderer; + renderer->factory=this; + renderer->element=nullptr; + renderer->renderTarget=nullptr; + return renderer; + } + }; + protected: + + IGuiGraphicsRendererFactory* factory; + TElement* element; + TRenderTarget* renderTarget; + Size minSize; + + public: + static void Register() + { + auto manager = GetGuiGraphicsResourceManager(); + CHECK_ERROR(manager != nullptr, L"SetGuiGraphicsResourceManager must be called before registering element renderers."); + manager->RegisterRendererFactory(TElement::GetElementType(), Ptr(new typename TRenderer::Factory)); + } + + IGuiGraphicsRendererFactory* GetFactory()override + { + return factory; + } + + void Initialize(IGuiGraphicsElement* _element)override + { + element=dynamic_cast(_element); + static_cast(this)->InitializeInternal(); + } + + void Finalize()override + { + static_cast(this)->FinalizeInternal(); + } + + void SetRenderTarget(IGuiGraphicsRenderTarget* _renderTarget)override + { + TRenderTarget* oldRenderTarget=renderTarget; + renderTarget= static_cast(_renderTarget); + static_cast(this)->RenderTargetChangedInternal(oldRenderTarget, renderTarget); + } + + Size GetMinSize()override + { + return minSize; + } + }; + + template + class GuiCachedResourceAllocatorBase : public Object + { + public: + static const vint DeadPackageMax = 32; + + struct Package + { + TValue resource; + vint counter; + std::partial_ordering operator<=>(const Package&) const { return std::partial_ordering::unordered; } + bool operator==(const Package&)const { return false; } + }; + + struct DeadPackage + { + TKey key; + TValue value; + std::partial_ordering operator<=>(const DeadPackage&) const { return std::partial_ordering::unordered; } + bool operator==(const DeadPackage&)const { return false; } + }; + + collections::Dictionary aliveResources; + collections::List deadResources; + + public: + + TValue Create(const TKey& key) + { + vint index = aliveResources.Keys().IndexOf(key); + if (index != -1) + { + Package package = aliveResources.Values().Get(index); + package.counter++; + aliveResources.Set(key, package); + return package.resource; + } + TValue resource; + for (vint i = 0; i < deadResources.Count(); i++) + { + if (deadResources[i].key == key) + { + DeadPackage deadPackage = deadResources[i]; + deadResources.RemoveAt(i); + resource = deadPackage.value; + break; + } + } + if (!resource) + { + resource = static_cast(this)->CreateInternal(key); + } + Package package; + package.resource = resource; + package.counter = 1; + aliveResources.Add(key, package); + return package.resource; + } + + void Destroy(const TKey& key) + { + vint index = aliveResources.Keys().IndexOf(key); + if (index != -1) + { + Package package = aliveResources.Values().Get(index); + package.counter--; + if (package.counter == 0) + { + aliveResources.Remove(key); + if (deadResources.Count() == DeadPackageMax) + { + deadResources.RemoveAt(DeadPackageMax - 1); + } + DeadPackage deadPackage; + deadPackage.key = key; + deadPackage.value = package.resource; + deadResources.Insert(0, deadPackage); + } + else + { + aliveResources.Set(key, package); + } + } + } + }; + } + } +} + +#endif + /*********************************************************************** .\GRAPHICSELEMENT\GUIGRAPHICSELEMENT.H ***********************************************************************/ @@ -19024,11 +18993,29 @@ namespace vl { namespace elements { - class IGuiDocumentElementCallback; - class GuiDocumentElementRenderer; +/*********************************************************************** +IGuiDocumentElementCallback +***********************************************************************/ + + /// Callback interface for this element. + class IGuiDocumentElementCallback : public virtual IDescriptable, public Description + { + public: + /// Called when the rendering is started. + virtual void OnStartRender() = 0; + + /// Called when the rendering is finished. + virtual void OnFinishRender() = 0; + + /// Called when an embedded object is being rendered. + /// Returns the new size of the rendered embedded object. + /// The name of the embedded object + /// The location of the embedded object, relative to the left-top corner of this element. + virtual Size OnRenderEmbeddedObject(const WString& name, const Rect& location) = 0; + }; /*********************************************************************** -Rich Content Document (element) +GuiDocumentElement ***********************************************************************/ /// Defines a rich text document element for rendering complex styled document. @@ -19048,6 +19035,7 @@ Rich Content Document (element) bool caretFrontSide; Color caretColor; + Ptr GetElementRenderer(); void UpdateCaret(); GuiDocumentElement(); @@ -19385,137 +19373,6 @@ Undo Redo (Document) #endif -/*********************************************************************** -.\GRAPHICSELEMENT\GUIGRAPHICSDOCUMENTRENDERER.H -***********************************************************************/ -/*********************************************************************** -Vczh Library++ 3.0 -Developer: Zihan Chen(vczh) -GacUI::Element System - -Interfaces: -***********************************************************************/ - -#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTRENDERER -#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTRENDERER - - -namespace vl -{ - namespace presentation - { - namespace elements - { - - namespace visitors - { - class SetPropertiesVisitor; - } - -/*********************************************************************** -Rich Content Document (element) -***********************************************************************/ - - /// Callback interface for this element. - class IGuiDocumentElementCallback : public virtual IDescriptable, public Description - { - public: - /// Called when the rendering is started. - virtual void OnStartRender() = 0; - - /// Called when the rendering is finished. - virtual void OnFinishRender() = 0; - - /// Called when an embedded object is being rendered. - /// Returns the new size of the rendered embedded object. - /// The name of the embedded object - /// The location of the embedded object, relative to the left-top corner of this element. - virtual Size OnRenderEmbeddedObject(const WString& name, const Rect& location) = 0; - }; - - class GuiDocumentElementRenderer : public GuiElementRendererBase, private IGuiGraphicsParagraphCallback - { - friend class visitors::SetPropertiesVisitor; - friend class GuiElementRendererBase; - protected: - struct EmbeddedObject - { - WString name; - Size size; - vint start; - bool resized = false; - }; - - typedef collections::Dictionary> IdEmbeddedObjectMap; - typedef collections::Dictionary NameIdMap; - typedef collections::List FreeIdList; - - struct ParagraphCache - { - WString fullText; - Ptr graphicsParagraph; - IdEmbeddedObjectMap embeddedObjects; - vint selectionBegin; - vint selectionEnd; - - ParagraphCache() - :selectionBegin(-1) - ,selectionEnd(-1) - { - } - }; - - typedef collections::Array> ParagraphCacheArray; - typedef collections::Array ParagraphSizeArray; - - private: - - Size OnRenderInlineObject(vint callbackId, Rect location)override; - protected: - vint paragraphDistance; - vint lastMaxWidth; - Size cachedTotalSize; - IGuiGraphicsLayoutProvider* layoutProvider; - ParagraphCacheArray paragraphCaches; - ParagraphSizeArray paragraphSizes; - - TextPos lastCaret; - Color lastCaretColor; - bool lastCaretFrontSide; - - NameIdMap nameCallbackIdMap; - FreeIdList freeCallbackIds; - vint usedCallbackIds = 0; - - vint renderingParagraph = -1; - Point renderingParagraphOffset; - - void InitializeInternal(); - void FinalizeInternal(); - void RenderTargetChangedInternal(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget); - Ptr EnsureAndGetCache(vint paragraphIndex, bool createParagraph); - bool GetParagraphIndexFromPoint(Point point, vint& top, vint& index); - public: - GuiDocumentElementRenderer(); - - void Render(Rect bounds)override; - void OnElementStateChanged()override; - void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText); - Ptr GetHyperlinkFromPoint(Point point); - - void OpenCaret(TextPos caret, Color color, bool frontSide); - void CloseCaret(TextPos caret); - void SetSelection(TextPos begin, TextPos end); - TextPos CalculateCaret(TextPos comparingCaret, IGuiGraphicsParagraph::CaretRelativePosition position, bool& preferFrontSide); - TextPos CalculateCaretFromPoint(Point point); - Rect GetCaretBounds(TextPos caret, bool frontSide); - }; - } - } -} - -#endif - /*********************************************************************** .\CONTROLS\TEXTEDITORPACKAGE\GUIDOCUMENTCOMMONINTERFACE.H ***********************************************************************/ @@ -19620,7 +19477,7 @@ GuiDocumentCommonInterface void SetActiveHyperlink(Ptr package); void ActivateActiveHyperlink(bool activate); void AddShortcutCommand(VKEY key, const Func& eventHandler); - void EditTextInternal(TextPos begin, TextPos end, const Func& editor); + void EditTextInternal(TextPos begin, TextPos end, const Func& editor, bool clearUndoRedo = false); void EditStyleInternal(TextPos begin, TextPos end, const Func& editor); void MergeBaselineAndDefaultFont(Ptr document); @@ -19647,18 +19504,88 @@ GuiDocumentCommonInterface void OnFinishRender()override; Size OnRenderEmbeddedObject(const WString& name, const Rect& location)override; + public: + + /// + /// Convert selected paragraphs to plain text, all alignments, styles, images and embedded objects will be removed. + /// + /// The document to convert. + /// The first paragraph to convert. + /// The last paragraph to convert. + static void UserInput_ConvertToPlainText(Ptr model, vint beginParagraph, vint endParagraph); + + /// + /// Concatinate multiple paragraphs to one paragraph. + /// + /// The paragraphs to update. When the function finishes, it is replaced with the result. + /// Set to true to add a space between paragraphs. + static void UserInput_JoinParagraphs(collections::List& paragraphTexts, bool spaceForFlattenedLineBreak); + + /// + /// Concatinate multiple paragraphs to one paragraph. + /// + /// The document to update. + /// Set to true to add of a space between paragraphs. + static void UserInput_JoinParagraphs(Ptr model, bool spaceForFlattenedLineBreak); + + /// + /// Remove all line breaks. + /// + /// The paragraph to update. When the function finishes, it is replaced with the result. + /// Set to true to replace line breaks with spaces. + static void UserInput_JoinLinesInsideParagraph(WString& text, bool spaceForFlattenedLineBreak); + + /// + /// Remove all line breaks. + /// + /// The paragraph to update. + /// Set to true to replace line breaks with of a space. + static void UserInput_JoinLinesInsideParagraph(Ptr paragraph, bool spaceForFlattenedLineBreak); + + /// + /// When paragraphMode is Paragraph, nothing happens. + /// When paragraphMode is Multiline, it removes line breaks in each paragraph. + /// When paragraphMode is Singleline, it removes line breaks in each paragraph and concatinate all paragraphs to one paragraph + /// is considered during joining. + /// + /// The paragraphs to update. When the function finishes, it is replaced with the result. + /// Configuration of behavior. + static void UserInput_FormatText(collections::List& paragraphTexts, const GuiDocumentConfigEvaluated& config); + + /// + /// Text will be first breaks into paragraphs. + /// When is true, each two consecutive line breaks will be considered as a paragraph break. + /// When is false, each line break will be considered as a paragraph break. + /// + /// When paragraphMode is Paragraph, nothing happens. + /// When paragraphMode is Multiline, it removes line breaks in each paragraph. + /// When paragraphMode is Singleline, it removes line breaks in each paragraph and concatinate all paragraphs to one paragraph + /// is considered during joining. + /// + /// The text as input. + /// Formatted paragraphs + /// Configuration of behavior. + static void UserInput_FormatText(const WString& text, collections::List& paragraphTexts, const GuiDocumentConfigEvaluated& config); + + /// + /// When is true: + /// Apply . + /// Remove all style definitions. + /// If there is a baseline document, copy all style definition from it. + /// + /// When paragraphMode is Paragraph, nothing happens. + /// When paragraphMode is Multiline, it removes line breaks in each paragraph. + /// When paragraphMode is Singleline, it removes line breaks in each paragraph and concatinate all paragraphs to one paragraph + /// is considered during joining. + /// + /// The document to update. When the function finishes, it is replaced with the result. + /// A baseline document for predefined styles. + /// Configuration of behavior. + static void UserInput_FormatDocument(Ptr model, Ptr baselineDocument, const GuiDocumentConfigEvaluated& config); + protected: - void UserInput_FixForPlainText(Ptr model, vint beginParagraph, vint endParagraph); - void UserInput_FixForSingleline(collections::List& paragraphTexts); - void UserInput_FixForSingleline(Ptr model); - void UserInput_FixForNonParagraph(WString& text); - void UserInput_FixForNonParagraph(Ptr paragraph); - WString UserInput_ConvertDocumentToText(Ptr model); - void UserInput_FormatText(collections::List& paragraphTexts); - void UserInput_FormatText(const WString& text, collections::List& paragraphTexts); - void UserInput_FormatDocument(Ptr model); public: GuiDocumentCommonInterface(const GuiDocumentConfig& _config); @@ -19734,19 +19661,34 @@ GuiDocumentCommonInterface /// The number of paragraphs to be updated. /// The number of updated paragraphs. /// Set to true to notify that the text is updated. - void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText); + /// + /// Set to true to skip verifying and formatting affected paragraphs. + /// Formatting will be needed when pasteAsPlainText == true or paragraphMode != Paragraph. + /// If you are sure that the updated paragraphs are already formatted correctly, you can set this parameter to true to improve performance. + /// + void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText, bool skipFormatting = false); /// Edit run in a specified range. /// The begin position of the range. /// The end position of the range. /// The new run. /// Set to true to copy the model before editing. Otherwise, objects inside the model will be used directly - void EditRun(TextPos begin, TextPos end, Ptr model, bool copy); + /// + /// Set to true to skip verifying and formatting the content of the model argument. + /// Formatting will be needed when pasteAsPlainText == true or paragraphMode != Paragraph. + /// If you are sure that the content of the model argument are already formatted correctly, you can set this parameter to true to improve performance. + /// + void EditRun(TextPos begin, TextPos end, Ptr model, bool copy, bool skipFormatting = false); /// Edit text in a specified range. /// The begin position of the range. /// The end position of the range. /// Set to true to use the text style in front of the specified range. /// The new text. - void EditText(TextPos begin, TextPos end, bool frontSide, const collections::Array& text); + /// + /// Set to true to skip verifying and formatting the content of the text argument. + /// Formatting will be needed when pasteAsPlainText == true or paragraphMode != Paragraph. + /// If you are sure that the content of the text argument are already formatted correctly, you can set this parameter to true to improve performance. + /// + void EditText(TextPos begin, TextPos end, bool frontSide, const collections::Array& text, bool skipFormatting = false); /// Edit style in a specified range. /// The begin position of the range. /// The end position of the range. @@ -19828,6 +19770,13 @@ GuiDocumentCommonInterface /// Set the edit mode of this control. /// The edit mode. void SetEditMode(GuiDocumentEditMode value); + /// Replace the content with a text and clear undo/redo records. + /// The text to replace with. + void LoadTextAndClearUndoRedo(const WString& text); + /// Replace the content with a document and clear undo/redo records. + /// The document to replace with. + /// Set to true to copy the model before editing. Otherwise, objects inside the model will be used directly + void LoadDocumentAndClearUndoRedo(Ptr document, bool copy); //================ selection operations @@ -20027,6 +19976,221 @@ Interfaces: +#endif + +/*********************************************************************** +.\GRAPHICSELEMENT\GUIGRAPHICSDOCUMENTRENDERER.H +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +GacUI::Element System + +Interfaces: +***********************************************************************/ + +#ifndef VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTRENDERER +#define VCZH_PRESENTATION_ELEMENTS_GUIGRAPHICSDOCUMENTRENDERER + + +namespace vl +{ + namespace presentation + { + namespace elements + { + namespace visitors + { + class SetPropertiesVisitor; + } + +/*********************************************************************** +GuiDocumentParagraphCache +***********************************************************************/ + + namespace pg + { + struct EmbeddedObject + { + WString name; + Size size; + vint start; + bool resized = false; + }; + + typedef collections::Dictionary NameIdMap; + typedef collections::List FreeIdList; + typedef collections::Dictionary> IdEmbeddedObjectMap; + + struct ParagraphCache + { + Ptr graphicsParagraph; + bool outdatedStyles = true; + + WString fullText; + IdEmbeddedObjectMap embeddedObjects; + vint selectionBegin = -1; + vint selectionEnd = -1; + }; + + struct ParagraphSize + { + // cached tops are valid for indices < GuiDocumentParagraphCache::validCachedTops; invalid starting from validCachedTops (i.e., indices >= validCachedTops) + vint cachedTopWithoutParagraphDistance = 0; + Size cachedSize; + }; + + typedef collections::Array> ParagraphCacheArray; + typedef collections::Array ParagraphSizeArray; + } + + class GuiDocumentParagraphCache : public Object + { + friend class visitors::SetPropertiesVisitor; + protected: + IGuiGraphicsParagraphCallback* callback = nullptr; + GuiDocumentElement* element = nullptr; + IGuiGraphicsRenderTarget* renderTarget = nullptr; + IGuiGraphicsLayoutProvider* layoutProvider = nullptr; + vint defaultHeight = 0; + + pg::ParagraphCacheArray paragraphCaches; + pg::ParagraphSizeArray paragraphSizes; + vint validCachedTops = 0; + + pg::NameIdMap nameCallbackIdMap; + pg::FreeIdList freeCallbackIds; + vint usedCallbackIds = 0; + + public: + GuiDocumentParagraphCache(IGuiGraphicsParagraphCallback* _callback); + ~GuiDocumentParagraphCache(); + + void Initialize(GuiDocumentElement* _element); + void RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget); + + vint GetParagraphCount(); + Ptr TryGetParagraphCache(vint paragraphIndex); + Ptr GetParagraphCache(vint paragraphIndex, bool requireParagraph); + Size GetParagraphSize(vint paragraphIndex); + vint GetParagraphTopWithoutParagraphDistance(vint paragraphIndex); + vint GetParagraphTop(vint paragraphIndex, vint paragraphDistance); + + vint ResetCache(); // returns total height + vint ResetCache(vint index, vint oldCount, vint newCount, bool updatedText); // returns the diff of total height + vint EnsureParagraph(vint paragraphIndex, vint maxWidth); // returns the diff of total height + vint GetParagraphFromY(vint y, vint paragraphDistance); + }; + +/*********************************************************************** +GuiDocumentElementRenderer +***********************************************************************/ + + class GuiDocumentElementRenderer + : public GuiElementRendererBase + , private virtual IGuiGraphicsParagraphCallback + { + friend class GuiElementRendererBase; + protected: + + private: + + Size OnRenderInlineObject(vint callbackId, Rect location)override; + protected: + vint paragraphDistance = 0; + vint lastMaxWidth = -1; + vint lastTotalWidth = 0; + vint lastTotalHeightWithoutParagraphDistance = 0; + GuiDocumentParagraphCache pgCache; + + TextPos lastCaret{ -1,-1 }; + bool lastCaretFrontSide = false; + Color lastCaretColor; + + vint renderingParagraph = -1; + Point renderingParagraphOffset; + + void InitializeInternal(); + void FinalizeInternal(); + void RenderTargetChangedInternal(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget); + Ptr EnsureParagraph(vint paragraphIndex); + void FixMinSize(); + public: + GuiDocumentElementRenderer(); + + void Render(Rect bounds) override; + void OnElementStateChanged() override; + void NotifyParagraphPaddingUpdated(bool value) override; + void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) override; + Ptr GetHyperlinkFromPoint(Point point) override; + + void OpenCaret(TextPos caret, Color color, bool frontSide) override; + void CloseCaret(TextPos caret) override; + void SetSelection(TextPos begin, TextPos end) override; + TextPos CalculateCaret(TextPos comparingCaret, IGuiGraphicsParagraph::CaretRelativePosition position, bool& preferFrontSide) override; + TextPos CalculateCaretFromPoint(Point point) override; + Rect GetCaretBounds(TextPos caret, bool frontSide) override; + }; + } + } +} + +#endif + +/*********************************************************************** +.\PLATFORMPROVIDERS\HOSTED\GUIHOSTEDGRAPHICS.H +***********************************************************************/ +/*********************************************************************** +Vczh Library++ 3.0 +Developer: Zihan Chen(vczh) +GacUI::Hosted Window + +Interfaces: + IGuiGraphicsResourceManager + +***********************************************************************/ + +#ifndef VCZH_PRESENTATION_GUIHOSTEDCONTROLLER_GUIHOSTEDGRAPHICS +#define VCZH_PRESENTATION_GUIHOSTEDCONTROLLER_GUIHOSTEDGRAPHICS + + +namespace vl +{ + namespace presentation + { + class GuiHostedController; + + namespace elements + { + +/*********************************************************************** +GuiHostedGraphicsResourceManager +***********************************************************************/ + + class GuiHostedGraphicsResourceManager : public Object, public virtual IGuiGraphicsResourceManager + { + friend class vl::presentation::GuiHostedController; + protected: + GuiHostedController* hostedController = nullptr; + IGuiGraphicsResourceManager* nativeManager = nullptr; + + public: + GuiHostedGraphicsResourceManager(GuiHostedController* _hostedController, IGuiGraphicsResourceManager* _nativeManager); + ~GuiHostedGraphicsResourceManager(); + + vint RegisterElementType(const WString& elementTypeName) override; + void RegisterRendererFactory(vint elementType, Ptr factory) override; + IGuiGraphicsRendererFactory* GetRendererFactory(vint elementType) override; + IGuiGraphicsRenderTarget* GetRenderTarget(INativeWindow* window) override; + void RecreateRenderTarget(INativeWindow* window) override; + void ResizeRenderTarget(INativeWindow* window) override; + IGuiGraphicsLayoutProvider* GetLayoutProvider() override; + Ptr CreateRawElement() override; + }; + } + } +} + #endif /*********************************************************************** diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 2a73e9bc..d1d53b41 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -2976,9 +2976,9 @@ Type Declaration (Class) CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"}) CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"}) CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"}) - CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"}) - CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model" _ L"copy"}) - CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text"}) + CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText" _ L"skipFormatting"}) + CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model" _ L"copy" _ L"skipFormatting" }) + CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text" _ L"skipFormatting" }) CLASS_MEMBER_METHOD(EditStyle, {L"begin" _ L"end" _ L"style"}) CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"}) CLASS_MEMBER_METHOD(EditHyperlink, {L"paragraphIndex" _ L"begin" _ L"end" _ L"reference" _ L"normalStyleName" _ L"activeStyleName"}) @@ -2993,6 +2993,8 @@ Type Declaration (Class) CLASS_MEMBER_METHOD(SetParagraphAlignments, { L"begin" _ L"end" _ L"alignments" }) CLASS_MEMBER_METHOD(SetParagraphAlignment, { L"begin" _ L"end" _ L"alignment" }) CLASS_MEMBER_METHOD(SummarizeParagraphAlignment, { L"begin" _ L"end" }) + CLASS_MEMBER_METHOD(LoadTextAndClearUndoRedo, { L"text" }) + CLASS_MEMBER_METHOD(LoadDocumentAndClearUndoRedo, { L"document" _ L"copy"}) CLASS_MEMBER_METHOD(SelectAll, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER) diff --git a/Import/Skins/DarkSkin/DarkSkin.cpp b/Import/Skins/DarkSkin/DarkSkin.cpp index 55ca142c..6b75bed8 100644 --- a/Import/Skins/DarkSkin/DarkSkin.cpp +++ b/Import/Skins/DarkSkin/DarkSkin.cpp @@ -3989,66 +3989,70 @@ Closures //------------------------------------------------------------------- - __vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::__vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0) + __vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::presentation::templates::GuiScrollTemplate* __vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiMenuTemplate* __vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { - return static_cast<::vl::presentation::templates::GuiScrollTemplate*>(new ::darkskin::VScrollTemplate()); + return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); } } //------------------------------------------------------------------- - __vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::__vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0) + __vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::presentation::templates::GuiScrollTemplate* __vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + void __vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - { - return static_cast<::vl::presentation::templates::GuiScrollTemplate*>(new ::darkskin::HScrollTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::__vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0.Obj())->SetColor(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_::__vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_(::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnctorthis_0) + __vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetColor(__vwsn_new_); } //------------------------------------------------------------------- @@ -4058,29 +4062,29 @@ Closures { } - ::vl::presentation::templates::GuiMenuTemplate* __vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + void __vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { - { - return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetFont(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); if ((__vwsn_old_ == __vwsn_new_)) { return; } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0.Obj())->SetColor(__vwsn_new_); + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetFont(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::presentation::templates::GuiMenuTemplate* __vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + { + { + return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); + } } //------------------------------------------------------------------- @@ -4099,80 +4103,12 @@ Closures //------------------------------------------------------------------- - __vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::__vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiMenuTemplate* __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_0.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4185,12 +4121,12 @@ Closures //------------------------------------------------------------------- - __vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetImage(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); @@ -4203,12 +4139,12 @@ Closures //------------------------------------------------------------------- - __vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetEnabled(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -4221,12 +4157,12 @@ Closures //------------------------------------------------------------------- - __vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetFrameIndex(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); @@ -4239,12 +4175,12 @@ Closures //------------------------------------------------------------------- - __vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetText(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); @@ -4257,12 +4193,12 @@ Closures //------------------------------------------------------------------- - __vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4275,6 +4211,78 @@ Closures //------------------------------------------------------------------- + __vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetFont(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->SetFont(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetText(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetText(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetFont(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetFont(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf32_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf32_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -4295,78 +4303,6 @@ Closures } void __vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_6.Obj())->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetText(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetText(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->GetFont(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_9.Obj())->SetFont(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11.Obj())->GetBackgroundColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4379,12 +4315,12 @@ Closures //------------------------------------------------------------------- - __vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11.Obj())->GetBorderColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4397,12 +4333,12 @@ Closures //------------------------------------------------------------------- - __vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_10)->GetVisible(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -4415,12 +4351,12 @@ Closures //------------------------------------------------------------------- - __vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) + __vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4433,12 +4369,12 @@ Closures //------------------------------------------------------------------- - __vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) + __vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetBackgroundColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4451,12 +4387,12 @@ Closures //------------------------------------------------------------------- - __vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) + __vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::__vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetBorderColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4469,6 +4405,74 @@ Closures //------------------------------------------------------------------- + __vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::presentation::templates::GuiMenuTemplate* __vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + { + { + return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); + } + } + + //------------------------------------------------------------------- + + __vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->SetColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetImage(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); + if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->SetImage(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf33_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf33_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -4488,75 +4492,7 @@ Closures { } - ::vl::presentation::templates::GuiMenuTemplate* __vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->SetColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->SetColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetImage(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); - if ((__vwsn_old_.Obj() == __vwsn_new_.Obj())) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->SetImage(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetEnabled(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -4569,12 +4505,12 @@ Closures //------------------------------------------------------------------- - __vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetFrameIndex(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); @@ -4587,12 +4523,12 @@ Closures //------------------------------------------------------------------- - __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::presentation::templates::GuiMenuTemplate* __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiMenuTemplate* __vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); @@ -4601,12 +4537,12 @@ Closures //------------------------------------------------------------------- - __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4619,12 +4555,12 @@ Closures //------------------------------------------------------------------- - __vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4637,12 +4573,12 @@ Closures //------------------------------------------------------------------- - __vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->GetImage(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); @@ -4655,6 +4591,78 @@ Closures //------------------------------------------------------------------- + __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->GetFrameIndex(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->SetFrameIndex(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->GetBackgroundColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->SetBackgroundColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->GetBorderColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->SetBorderColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf34_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf34_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -4669,84 +4677,12 @@ Closures //------------------------------------------------------------------- - __vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->GetFrameIndex(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_5.Obj())->SetFrameIndex(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->GetBackgroundColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->SetBackgroundColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::__vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->GetBorderColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_8.Obj())->SetBorderColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiMenuTemplate* __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiMenuTemplate* __vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { return static_cast<::vl::presentation::templates::GuiMenuTemplate*>(new ::darkskin::ToolstripMenuTemplate()); @@ -4755,12 +4691,12 @@ Closures //------------------------------------------------------------------- - __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - ::vl::presentation::templates::GuiControlTemplate* __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiControlTemplate* __vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ToolstripSplitArrowTemplate()); @@ -4769,12 +4705,12 @@ Closures //------------------------------------------------------------------- - __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_1.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4787,12 +4723,12 @@ Closures //------------------------------------------------------------------- - __vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4805,12 +4741,12 @@ Closures //------------------------------------------------------------------- - __vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetImage(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); @@ -4823,12 +4759,12 @@ Closures //------------------------------------------------------------------- - __vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetEnabled(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -4841,6 +4777,74 @@ Closures //------------------------------------------------------------------- + __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetFrameIndex(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->SetFrameIndex(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7.Obj())->GetColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7.Obj())->SetColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->buttonArrow)->GetSelected(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->buttonArrow)->SetSelected(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + ::vl::presentation::templates::GuiWindowTemplate* __vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + { + { + return static_cast<::vl::presentation::templates::GuiWindowTemplate*>(new ::darkskin::TooltipTemplate()); + } + } + + //------------------------------------------------------------------- + __vwsnf35_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf35_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -4855,56 +4859,44 @@ Closures //------------------------------------------------------------------- - __vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiControlTemplate* __vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->GetFrameIndex(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_4.Obj())->SetFrameIndex(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiControlTemplate* __vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7.Obj())->GetColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_7.Obj())->SetColor(__vwsn_new_); } //------------------------------------------------------------------- - __vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::__vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + ::vl::presentation::templates::GuiControlTemplate* __vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->buttonArrow)->GetSelected(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) { - return; + return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); } - ::vl::__vwsn::This(__vwsnthis_0->buttonArrow)->SetSelected(__vwsn_new_); } //------------------------------------------------------------------- @@ -4914,63 +4906,7 @@ Closures { } - ::vl::presentation::templates::GuiWindowTemplate* __vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiWindowTemplate*>(new ::darkskin::TooltipTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiControlTemplate* __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiControlTemplate* __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - ::vl::presentation::templates::GuiControlTemplate* __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const - { - { - return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::darkskin::ButtonTemplate()); - } - } - - //------------------------------------------------------------------- - - __vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_2.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -4983,12 +4919,12 @@ Closures //------------------------------------------------------------------- - __vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_15.Obj())->GetBackgroundColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5001,12 +4937,12 @@ Closures //------------------------------------------------------------------- - __vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_15.Obj())->GetBorderColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5019,6 +4955,78 @@ Closures //------------------------------------------------------------------- + __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->GetEnabled(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->SetEnabled(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->GetVisible(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->SetVisible(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11)->GetAssociatedHitTestResult(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::INativeWindowListener::HitTestResult>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11)->SetAssociatedHitTestResult(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21.Obj())->GetBackgroundColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21.Obj())->SetBackgroundColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf36_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf36_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -5039,78 +5047,6 @@ Closures } void __vwsnf370_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->GetEnabled(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->SetEnabled(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->GetVisible(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_12)->SetVisible(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11)->GetAssociatedHitTestResult(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::INativeWindowListener::HitTestResult>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_11)->SetAssociatedHitTestResult(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21.Obj())->GetBackgroundColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21.Obj())->SetBackgroundColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_21.Obj())->GetBorderColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5123,12 +5059,12 @@ Closures //------------------------------------------------------------------- - __vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_20)->GetVisible(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -5141,12 +5077,12 @@ Closures //------------------------------------------------------------------- - __vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_23.Obj())->GetBackgroundColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5159,12 +5095,12 @@ Closures //------------------------------------------------------------------- - __vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_23.Obj())->GetBorderColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5177,12 +5113,12 @@ Closures //------------------------------------------------------------------- - __vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_22)->GetVisible(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -5195,12 +5131,12 @@ Closures //------------------------------------------------------------------- - __vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_18)->GetEnabled(); auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); @@ -5213,6 +5149,78 @@ Closures //------------------------------------------------------------------- + __vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_18)->GetVisible(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_18)->SetVisible(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->GetAssociatedHitTestResult(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::INativeWindowListener::HitTestResult>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->SetAssociatedHitTestResult(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->GetBackgroundColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->SetBackgroundColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + + __vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + { + auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->GetBorderColor(); + auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); + if ((__vwsn_old_ == __vwsn_new_)) + { + return; + } + ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->SetBorderColor(__vwsn_new_); + } + + //------------------------------------------------------------------- + __vwsnf37_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf37_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -5233,78 +5241,6 @@ Closures } void __vwsnf380_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_18)->GetVisible(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_18)->SetVisible(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->GetAssociatedHitTestResult(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::INativeWindowListener::HitTestResult>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_17)->SetAssociatedHitTestResult(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->GetBackgroundColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->SetBackgroundColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const - { - auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->GetBorderColor(); - auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); - if ((__vwsn_old_ == __vwsn_new_)) - { - return; - } - ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_29.Obj())->SetBorderColor(__vwsn_new_); - } - - //------------------------------------------------------------------- - - __vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_34.Obj())->GetImage(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::vl::presentation::INativeImage>>(__vwsn_value_); @@ -5317,12 +5253,12 @@ Closures //------------------------------------------------------------------- - __vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_34.Obj())->GetFrameIndex(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::vint>(__vwsn_value_); @@ -5335,12 +5271,12 @@ Closures //------------------------------------------------------------------- - __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_31)->GetMinSizeLimitation(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation>(__vwsn_value_); @@ -5353,12 +5289,12 @@ Closures //------------------------------------------------------------------- - __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_37.Obj())->GetText(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); @@ -5371,12 +5307,12 @@ Closures //------------------------------------------------------------------- - __vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_37.Obj())->GetColor(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Color>(__vwsn_value_); @@ -5389,12 +5325,12 @@ Closures //------------------------------------------------------------------- - __vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { } - void __vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const + void __vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const { auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->contentTable)->GetAlignmentToParent(); auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::Margin>(__vwsn_value_); @@ -5407,6 +5343,41 @@ Closures //------------------------------------------------------------------- + __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + if (::vl::__vwsn::This(__vwsnthis_0->self)->GetTitleBar()) + { + ::vl::__vwsn::This(__vwsnthis_0->contentTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); + } + else + { + ::vl::__vwsn::This(__vwsnthis_0->contentTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + } + } + + //------------------------------------------------------------------- + + __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + } + + void __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const + { + auto margin = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCustomFramePadding(); + ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.top; return __vwsn_temp__; }()); + ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.bottom; return __vwsn_temp__; }()); + ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.left; return __vwsn_temp__; }()); + ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.right; return __vwsn_temp__; }()); + } + + //------------------------------------------------------------------- + __vwsnf38_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf38_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -5421,41 +5392,6 @@ Closures //------------------------------------------------------------------- - __vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - if (::vl::__vwsn::This(__vwsnthis_0->self)->GetTitleBar()) - { - ::vl::__vwsn::This(__vwsnthis_0->contentTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::MinSize; return __vwsn_temp__; }()); - } - else - { - ::vl::__vwsn::This(__vwsnthis_0->contentTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - } - - //------------------------------------------------------------------- - - __vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::__vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - } - - void __vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const - { - auto margin = ::vl::__vwsn::This(__vwsnthis_0->self)->GetCustomFramePadding(); - ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.top; return __vwsn_temp__; }()); - ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.bottom; return __vwsn_temp__; }()); - ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.left; return __vwsn_temp__; }()); - ::vl::__vwsn::This(__vwsnthis_0->frameTable)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Absolute; __vwsn_temp__.absolute = margin.right; return __vwsn_temp__; }()); - } - - //------------------------------------------------------------------- - __vwsnf39_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::__vwsnf39_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -5601,10 +5537,10 @@ Closures { } - ::vl::presentation::templates::GuiSinglelineTextBoxTemplate* __vwsnf48_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiDocumentLabelTemplate* __vwsnf48_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { - return static_cast<::vl::presentation::templates::GuiSinglelineTextBoxTemplate*>(new ::darkskin::SinglelineTextBoxTemplate()); + return static_cast<::vl::presentation::templates::GuiDocumentLabelTemplate*>(new ::darkskin::DocumentTextBoxTemplate()); } } @@ -5615,10 +5551,10 @@ Closures { } - ::vl::presentation::templates::GuiMultilineTextBoxTemplate* __vwsnf49_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const + ::vl::presentation::templates::GuiDocumentViewerTemplate* __vwsnf49_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const { { - return static_cast<::vl::presentation::templates::GuiMultilineTextBoxTemplate*>(new ::darkskin::MultilineTextBoxTemplate()); + return static_cast<::vl::presentation::templates::GuiDocumentViewerTemplate*>(new ::darkskin::DocumentViewerTemplate()); } } @@ -13681,161 +13617,7 @@ Closures //------------------------------------------------------------------- - __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#434346") : (::vl::__vwsn::This(__vwsn_bind_cache_1)->GetFocused() ? ::vl::WString::Unmanaged(L"#1C97EA") : ::vl::WString::Unmanaged(L"#54545C")))); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->FocusedChanged, ::vl::Func(this, &__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->FocusedChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#434346") : (::vl::__vwsn::This(__vwsn_bind_cache_1)->GetFocused() ? ::vl::WString::Unmanaged(L"#1C97EA") : ::vl::WString::Unmanaged(L"#54545C")))); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->FocusedChanged, ::vl::Func(this, &__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->FocusedChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); @@ -13848,28 +13630,28 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#1B1B1C") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#3D3D40") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) + void __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -13877,15 +13659,15 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -13895,7 +13677,7 @@ Closures return false; } - bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -13928,6 +13710,128 @@ Closures //------------------------------------------------------------------- + __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -13939,7 +13843,7 @@ Closures void __vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -13954,7 +13858,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -13971,128 +13875,6 @@ Closures } bool __vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuBarButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -14111,7 +13893,7 @@ Closures //------------------------------------------------------------------- - __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); @@ -14124,28 +13906,28 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#3D3D40") : (((state == ::vl::presentation::controls::ButtonState::Active) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#3D3D40") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) + void __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -14153,15 +13935,15 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -14171,7 +13953,7 @@ Closures return false; } - bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -14204,6 +13986,128 @@ Closures //------------------------------------------------------------------- + __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -14215,7 +14119,7 @@ Closures void __vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14276,7 +14180,7 @@ Closures void __vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14291,7 +14195,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14314,7 +14218,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14475,7 +14379,7 @@ Closures void __vwsnc200_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14490,7 +14394,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc200_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc200_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14513,7 +14417,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14536,7 +14440,7 @@ Closures void __vwsnc201_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14551,7 +14455,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc201_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc201_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14574,7 +14478,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14597,7 +14501,7 @@ Closures void __vwsnc202_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetShortcutText(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14612,7 +14516,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc202_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ShortcutTextChanged, ::vl::Func(this, &__vwsnc202_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14635,7 +14539,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ShortcutTextChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14658,7 +14562,7 @@ Closures void __vwsnc203_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14673,7 +14577,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc203_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc203_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14696,7 +14600,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14719,7 +14623,7 @@ Closures void __vwsnc204_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetShortcutText(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14734,7 +14638,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ShortcutTextChanged, ::vl::Func(this, &__vwsnc204_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc204_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14757,7 +14661,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ShortcutTextChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); @@ -14773,14 +14677,18 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Active) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#1997EA") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#007ACC") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14789,13 +14697,27 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + void __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14818,11 +14740,25 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + if (static_cast(__vwsn_bind_handler_2_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); + (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(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>()); return true; } return false; @@ -14834,14 +14770,18 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetFont(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Active) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#1997EA") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#007ACC") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14850,13 +14790,27 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + void __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, ::vl::Func(this, &__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14879,11 +14833,25 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->FontChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + if (static_cast(__vwsn_bind_handler_2_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); + (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(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>()); return true; } return false; @@ -14895,18 +14863,14 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Active) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#1997EA") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#007ACC") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSubMenuExisting(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -14915,27 +14879,13 @@ Closures this->__vwsn_bind_activator_(); } - void __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - bool __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuExistingChanged, ::vl::Func(this, &__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -14958,25 +14908,11 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuExistingChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_2_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); - (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(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>()); return true; } return false; @@ -14984,12 +14920,12 @@ Closures //------------------------------------------------------------------- - __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); @@ -14997,44 +14933,44 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Active) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#1997EA") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#007ACC") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#007ACC") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) + void __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, ::vl::Func(this, &__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15044,7 +14980,7 @@ Closures return false; } - bool __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -15061,12 +14997,12 @@ Closures } if (static_cast(__vwsn_bind_handler_2_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, __vwsn_bind_handler_2_0); (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_2 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); + (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(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>()); @@ -15077,39 +15013,57 @@ Closures //------------------------------------------------------------------- - __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } - void __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSubMenuExisting(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__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) + void __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - bool __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + void __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + void __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuExistingChanged, ::vl::Func(this, &__vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, ::vl::Func(this, &__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15119,18 +15073,32 @@ Closures return false; } - bool __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuExistingChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - (__vwsn_bind_cache_0 = static_cast<::darkskin::MenuItemButtonTemplate*>(nullptr)); + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + if (static_cast(__vwsn_bind_handler_2_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, __vwsn_bind_handler_2_0); + (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); + (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(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>()); return true; } return false; @@ -15214,7 +15182,7 @@ Closures void __vwsnc210_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#007ACC") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -15292,193 +15260,7 @@ Closures //------------------------------------------------------------------- - __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, ::vl::Func(this, &__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_2_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, __vwsn_bind_handler_2_0); - (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); - (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(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>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSelected()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_2_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SelectedChanged, __vwsn_bind_handler_2_0); - (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(nullptr)); - (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripSplitArrowTemplate*>(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>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); @@ -15489,37 +15271,37 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetSelected()) ? ::vl::WString::Unmanaged(L"#00000000") : ::vl::WString::Unmanaged(L"#007ACC")); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) + void __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15529,7 +15311,7 @@ Closures return false; } - bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -15555,7 +15337,7 @@ Closures //------------------------------------------------------------------- - __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); @@ -15568,28 +15350,28 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#007ACC") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) + void __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -15597,15 +15379,15 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15615,7 +15397,7 @@ Closures return false; } - bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -15648,6 +15430,128 @@ Closures //------------------------------------------------------------------- + __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -15659,7 +15563,7 @@ Closures void __vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -15709,129 +15613,7 @@ Closures //------------------------------------------------------------------- - __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); @@ -15842,37 +15624,37 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetSelected()) ? ::vl::WString::Unmanaged(L"#00000000") : ::vl::WString::Unmanaged(L"#007ACC")); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) + void __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15882,7 +15664,7 @@ Closures return false; } - bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -15908,7 +15690,7 @@ Closures //------------------------------------------------------------------- - __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); @@ -15921,28 +15703,28 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#007ACC") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) + void __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -15950,15 +15732,15 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -15968,7 +15750,7 @@ Closures return false; } - bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -16001,6 +15783,128 @@ Closures //------------------------------------------------------------------- + __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc21_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc21_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::RadioButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -16073,7 +15977,7 @@ Closures void __vwsnc220_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16127,14 +16031,18 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16143,13 +16051,27 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + void __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -16172,11 +16094,25 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + if (static_cast(__vwsn_bind_handler_2_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); + (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(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>()); return true; } return false; @@ -16188,14 +16124,18 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16204,13 +16144,27 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + + void __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -16227,85 +16181,6 @@ Closures } bool __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -16338,100 +16213,7 @@ Closures //------------------------------------------------------------------- - __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#555558") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#FFFFFF") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#1997EA") : ::vl::WString::Unmanaged(L"#999999")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_2_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, __vwsn_bind_handler_2_0); - (__vwsn_bind_handler_2_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_2 = static_cast<::darkskin::ToolstripDropdownButtonTemplate*>(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>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); @@ -16442,37 +16224,37 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetSelected()) ? ::vl::WString::Unmanaged(L"#00000000") : ::vl::WString::Unmanaged(L"#007ACC")); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) + void __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->SelectedChanged, ::vl::Func(this, &__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -16482,7 +16264,7 @@ Closures return false; } - bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -16508,7 +16290,7 @@ Closures //------------------------------------------------------------------- - __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); @@ -16521,28 +16303,28 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : (((state == ::vl::presentation::controls::ButtonState::Pressed) || ::vl::__vwsn::This(__vwsn_bind_cache_2)->GetSubMenuOpening()) ? ::vl::WString::Unmanaged(L"#007ACC") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) + void __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -16550,15 +16332,15 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -16568,7 +16350,7 @@ Closures return false; } - bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -16601,6 +16383,128 @@ Closures //------------------------------------------------------------------- + __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -16612,7 +16516,7 @@ Closures void __vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetImage(); } catch(...){ return ::vl::Ptr<::vl::presentation::INativeImage>(); } }(); + auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16666,14 +16570,16 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#54545C") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16682,13 +16588,20 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -16711,11 +16624,18 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -16734,7 +16654,7 @@ Closures void __vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetImage().Obj())->GetFrameIndex(); } catch(...){ return static_cast<::vl::vint>(0); } }(); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSubMenuOpening(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -16749,7 +16669,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, ::vl::Func(this, &__vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -16772,7 +16692,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->ImageChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuOpeningChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); @@ -16845,145 +16765,7 @@ Closures //------------------------------------------------------------------- - __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto state){ return ((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#00000000") : ((state == ::vl::presentation::controls::ButtonState::Pressed) ? ::vl::WString::Unmanaged(L"#54545C") : ((state == ::vl::presentation::controls::ButtonState::Active) ? ::vl::WString::Unmanaged(L"#54545C") : ::vl::WString::Unmanaged(L"#00000000")))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetState())); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StateChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->VisuallyEnabledChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSubMenuOpening(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuOpeningChanged, ::vl::Func(this, &__vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SubMenuOpeningChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::ToolstripSplitButtonTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); @@ -16998,33 +16780,33 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>([&](auto margin){ return (((! ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetBorder()) || ((((margin.left + margin.top) + margin.right) + margin.bottom) == static_cast<::vl::vint>(0))) ? ::vl::WString::Unmanaged(L"#00000000") : ((::vl::__vwsn::This(__vwsn_bind_cache_2)->GetVisuallyEnabled() && ::vl::__vwsn::This(__vwsn_bind_cache_3)->GetActivated()) ? ::vl::WString::Unmanaged(L"#017ACC") : ::vl::WString::Unmanaged(L"#434346"))); }(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCustomFramePadding())); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) + void __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_3_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + void __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_3_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) { this->__vwsn_bind_activator_(); } - bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { @@ -17033,16 +16815,16 @@ Closures (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); (__vwsn_bind_cache_2 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); (__vwsn_bind_cache_3 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CustomFramePaddingChanged, ::vl::Func(this, &__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->BorderChanged, ::vl::Func(this, &__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_3_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_3)->ActivatedChanged, ::vl::Func(this, &__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_3_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CustomFramePaddingChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->BorderChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_2_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_2)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_2_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_3_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_3)->ActivatedChanged, ::vl::Func(this, &__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_3_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -17052,7 +16834,7 @@ Closures return false; } - bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -17092,6 +16874,128 @@ Closures //------------------------------------------------------------------- + __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + + __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) + { + this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_opened_ = false; + this->__vwsn_bind_closed_ = false; + } + + void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + { + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); + } + + void __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) + { + this->__vwsn_bind_activator_(); + } + + bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + { + if ((! __vwsn_bind_opened_)) + { + (__vwsn_bind_opened_ = true); + (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + return true; + } + return false; + } + + bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + { + if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) + { + this->__vwsn_bind_activator_(); + return true; + } + return false; + } + + bool __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + { + if ((! __vwsn_bind_closed_)) + { + (__vwsn_bind_closed_ = true); + if (static_cast(__vwsn_bind_handler_0_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } + (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + return true; + } + return false; + } + + //------------------------------------------------------------------- + __vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { @@ -17103,7 +17007,7 @@ Closures void __vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17118,7 +17022,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17141,7 +17045,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17157,14 +17061,16 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() || ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetMaximizedBox()); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17173,13 +17079,20 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17202,11 +17115,18 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -17225,7 +17145,7 @@ Closures void __vwsnc235_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox(); + auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() ? ::vl::presentation::INativeWindowListener::HitTestResult::ButtonMinimum : ::vl::presentation::INativeWindowListener::HitTestResult::NoDecision); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17279,16 +17199,14 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() || ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetMaximizedBox()); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17297,20 +17215,13 @@ Closures this->__vwsn_bind_activator_(); } - void __vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - bool __vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17333,18 +17244,11 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -17363,7 +17267,7 @@ Closures void __vwsnc237_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() ? ::vl::presentation::INativeWindowListener::HitTestResult::ButtonMinimum : ::vl::presentation::INativeWindowListener::HitTestResult::NoDecision); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17378,7 +17282,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc237_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc237_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17401,7 +17305,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17424,7 +17328,7 @@ Closures void __vwsnc238_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = (! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximized()); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17439,7 +17343,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc238_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, ::vl::Func(this, &__vwsnc238_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17462,7 +17366,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17607,7 +17511,7 @@ Closures void __vwsnc240_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximized()); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17622,7 +17526,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, ::vl::Func(this, &__vwsnc240_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc240_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17645,7 +17549,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17668,7 +17572,7 @@ Closures void __vwsnc241_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximized(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17683,7 +17587,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc241_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, ::vl::Func(this, &__vwsnc241_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17706,7 +17610,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17729,7 +17633,7 @@ Closures void __vwsnc242_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximizedBox(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17744,7 +17648,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc242_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc242_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17767,7 +17671,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedBoxChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -17783,14 +17687,16 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximized(); + auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() || ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetMaximizedBox()); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17799,13 +17705,20 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, ::vl::Func(this, &__vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17828,11 +17741,18 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -17851,7 +17771,7 @@ Closures void __vwsnc244_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximizedBox(); + auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximizedBox() ? ::vl::presentation::INativeWindowListener::HitTestResult::ButtonMaximum : ::vl::presentation::INativeWindowListener::HitTestResult::NoDecision); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17905,16 +17825,14 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMinimizedBox() || ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetMaximizedBox()); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -17923,20 +17841,13 @@ Closures this->__vwsn_bind_activator_(); } - void __vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - bool __vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, ::vl::Func(this, &__vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -17959,18 +17870,11 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MinimizedBoxChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->MaximizedBoxChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -17989,7 +17893,7 @@ Closures void __vwsnc246_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (::vl::__vwsn::This(__vwsn_bind_cache_0)->GetMaximizedBox() ? ::vl::presentation::INativeWindowListener::HitTestResult::ButtonMaximum : ::vl::presentation::INativeWindowListener::HitTestResult::NoDecision); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18004,7 +17908,7 @@ Closures { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedBoxChanged, ::vl::Func(this, &__vwsnc246_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc246_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18027,7 +17931,7 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->MaximizedBoxChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -18043,14 +17947,16 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = (static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) ? ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIcon().Obj())->GetImage() : ::vl::Ptr<::vl::presentation::INativeImage>()); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18059,13 +17965,20 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, ::vl::Func(this, &__vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, ::vl::Func(this, &__vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18088,11 +18001,18 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -18104,14 +18024,16 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); + this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); + this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((! ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled()) ? ::vl::WString::Unmanaged(L"#6D6D6D") : ::vl::WString::Unmanaged(L"#F1F1F1"))); + auto __vwsn_bind_activator_result_ = (static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) ? ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIcon().Obj())->GetFrameIndex() : (- static_cast<::vl::vint>(1))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18120,13 +18042,20 @@ Closures this->__vwsn_bind_activator_(); } + void __vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) + { + this->__vwsn_bind_activator_(); + } + bool __vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, ::vl::Func(this, &__vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, ::vl::Func(this, &__vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18149,11 +18078,18 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } + if (static_cast(__vwsn_bind_handler_1_0)) + { + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, __vwsn_bind_handler_1_0); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); + (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); + (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -18174,7 +18110,7 @@ Closures void __vwsnc249_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) ? ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIcon().Obj())->GetImage() : ::vl::Ptr<::vl::presentation::INativeImage>()); + auto __vwsn_bind_activator_result_ = ((static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) && ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIconVisible()) ? ::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren : ::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::NoLimit); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18196,7 +18132,7 @@ Closures (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, ::vl::Func(this, &__vwsnc249_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, ::vl::Func(this, &__vwsnc249_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconVisibleChanged, ::vl::Func(this, &__vwsnc249_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18224,7 +18160,7 @@ Closures } if (static_cast(__vwsn_bind_handler_1_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, __vwsn_bind_handler_1_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconVisibleChanged, __vwsn_bind_handler_1_0); (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); @@ -18319,16 +18255,14 @@ Closures :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); this->__vwsn_bind_opened_ = false; this->__vwsn_bind_closed_ = false; } void __vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = (static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) ? ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIcon().Obj())->GetFrameIndex() : (- static_cast<::vl::vint>(1))); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18337,20 +18271,13 @@ Closures this->__vwsn_bind_activator_(); } - void __vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - bool __vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, ::vl::Func(this, &__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, ::vl::Func(this, &__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18373,18 +18300,11 @@ Closures (__vwsn_bind_closed_ = true); if (static_cast(__vwsn_bind_handler_0_0)) { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, __vwsn_bind_handler_0_0); + ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); return true; } return false; @@ -18405,7 +18325,7 @@ Closures void __vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { - auto __vwsn_bind_activator_result_ = ((static_cast(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetIcon()) && ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetIconVisible()) ? ::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren : ::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::NoLimit); + auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled() && ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetActivated()) ? ::vl::WString::Unmanaged(L"#999999") : ::vl::WString::Unmanaged(L"#6D6D6D"))); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } @@ -18426,8 +18346,8 @@ Closures (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, ::vl::Func(this, &__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconVisibleChanged, ::vl::Func(this, &__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->ActivatedChanged, ::vl::Func(this, &__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; @@ -18444,144 +18364,6 @@ Closures } bool __vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->IconChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - if (static_cast(__vwsn_bind_handler_1_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_1)->IconVisibleChanged, __vwsn_bind_handler_1_0); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - (__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetText(); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, ::vl::Func(this, &__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() - { - if ((! __vwsn_bind_closed_)) - { - (__vwsn_bind_closed_ = true); - if (static_cast(__vwsn_bind_handler_0_0)) - { - ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0)->TextChanged, __vwsn_bind_handler_0_0); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - } - (__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr)); - (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>()); - return true; - } - return false; - } - - //------------------------------------------------------------------- - - __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) - :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) - { - this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_cache_1 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); - this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_handler_1_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>(); - this->__vwsn_bind_opened_ = false; - this->__vwsn_bind_closed_ = false; - } - - void __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() - { - auto __vwsn_bind_activator_result_ = ::vl::__vwsn::Parse<::vl::presentation::Color>(((::vl::__vwsn::This(__vwsn_bind_cache_0)->GetVisuallyEnabled() && ::vl::__vwsn::This(__vwsn_bind_cache_1)->GetActivated()) ? ::vl::WString::Unmanaged(L"#999999") : ::vl::WString::Unmanaged(L"#6D6D6D"))); - ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); - } - - void __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) - { - this->__vwsn_bind_activator_(); - } - - void __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1) - { - this->__vwsn_bind_activator_(); - } - - bool __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() - { - if ((! __vwsn_bind_opened_)) - { - (__vwsn_bind_opened_ = true); - (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_cache_1 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->VisuallyEnabledChanged, ::vl::Func(this, &__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - (__vwsn_bind_handler_1_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_1)->ActivatedChanged, ::vl::Func(this, &__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_1_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); - return true; - } - return false; - } - - bool __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() - { - if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) - { - this->__vwsn_bind_activator_(); - return true; - } - return false; - } - - bool __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -18607,7 +18389,7 @@ Closures //------------------------------------------------------------------- - __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) + __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0) :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0)) { this->__vwsn_bind_cache_0 = static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); @@ -18616,30 +18398,30 @@ Closures this->__vwsn_bind_closed_ = false; } - void __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() + void __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_() { auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0)->GetCustomFramePadding(); ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_)); } - void __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) + void __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__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) { this->__vwsn_bind_activator_(); } - bool __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() + bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Open() { if ((! __vwsn_bind_opened_)) { (__vwsn_bind_opened_ = true); (__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->self; } catch(...){ return static_cast<::darkskin::CustomFrameWindowTemplate*>(nullptr); } }()); - (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CustomFramePaddingChanged, ::vl::Func(this, &__vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); + (__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->CustomFramePaddingChanged, ::vl::Func(this, &__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }()); return true; } return false; } - bool __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() + bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Update() { if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_))) { @@ -18649,7 +18431,7 @@ Closures return false; } - bool __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() + bool __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription::Close() { if ((! __vwsn_bind_closed_)) { @@ -25301,7 +25083,7 @@ Class (::darkskin::CustomFrameWindowTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetTooltipTemplate(vl::Func(::vl_workflow_global::__vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetTooltipTemplate(vl::Func(::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetCustomFrameEnabled(true); @@ -25481,7 +25263,7 @@ Class (::darkskin::CustomFrameWindowTemplateConstructor) ::vl::__vwsn::This(this->__vwsn_precompile_13)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_14)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->__vwsn_precompile_12)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->__vwsn_precompile_11)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_12)->GetBoundsComposition())); @@ -25551,7 +25333,7 @@ Class (::darkskin::CustomFrameWindowTemplateConstructor) ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_22)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->__vwsn_precompile_18)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->__vwsn_precompile_17)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_18)->GetBoundsComposition())); @@ -25601,7 +25383,7 @@ Class (::darkskin::CustomFrameWindowTemplateConstructor) ::vl::__vwsn::This(this->__vwsn_precompile_27)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_28)); } { - ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->__vwsn_precompile_25)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_26)->GetBoundsComposition())); @@ -25707,130 +25489,130 @@ Class (::darkskin::CustomFrameWindowTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc235_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf370_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf368_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf369_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc237_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf370_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc238_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf371_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc239_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf372_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc240_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf373_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc241_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf374_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc242_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf375_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf376_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc244_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf377_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf380_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf378_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc246_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf379_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf380_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf381_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc249_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf382_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf383_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf384_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { ::vl::__vwsn::This(this->self)->SetContainerComposition(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->container)); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->TitleBarChanged, __vwsn_event_handler_); } { - auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this)); + auto __vwsn_event_handler_ = vl::Func(::vl_workflow_global::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(this)); ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->self)->CustomFramePaddingChanged, __vwsn_event_handler_); } } @@ -27535,7 +27317,7 @@ Class (::darkskin::MenuBarButtonTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -27564,24 +27346,24 @@ Class (::darkskin::MenuBarButtonTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -27619,7 +27401,7 @@ Class (::darkskin::MenuItemButtonTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -27744,69 +27526,69 @@ Class (::darkskin::MenuItemButtonTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc200_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc201_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf326_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc202_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf327_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc203_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf328_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc204_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf329_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -27909,99 +27691,6 @@ Class (::darkskin::MenuSplitterTemplate) this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); } -/*********************************************************************** -Class (::darkskin::MultilineTextBoxTemplateConstructor) -***********************************************************************/ - - void MultilineTextBoxTemplateConstructor::__vwsn_darkskin_MultilineTextBoxTemplate_Initialize(::darkskin::MultilineTextBoxTemplate* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetCaretColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF"))); - } - { - ::vl::__vwsn::This(this->self)->SetTextColor([&](){ ::vl::presentation::elements::text::ColorEntry __vwsn_temp__; __vwsn_temp__.normal = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#00000000")); return __vwsn_temp__; }(); __vwsn_temp__.selectedFocused = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#007ACC")); return __vwsn_temp__; }(); __vwsn_temp__.selectedUnfocused = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#007ACC")); return __vwsn_temp__; }(); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_1 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_1)); - } - (this->look = new ::vl::presentation::templates::GuiCommonScrollViewLook(static_cast<::vl::vint>(20))); - ::vl::__vwsn::This(__vwsn_this_)->SetNamedObject(::vl::WString::Unmanaged(L"look"), ::vl::__vwsn::Box(this->look)); - { - ::vl::__vwsn::This(this->look)->SetVScrollTemplate(vl::Func(::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(this))); - } - { - ::vl::__vwsn::This(this->look)->SetHScrollTemplate(vl::Func(::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(this))); - } - { - ::vl::__vwsn::This(this->look)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(1); __vwsn_temp__.top = static_cast<::vl::vint>(1); __vwsn_temp__.right = static_cast<::vl::vint>(1); __vwsn_temp__.bottom = static_cast<::vl::vint>(1); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->look)); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#252526"))); - } - { - ::vl::__vwsn::This(this->self)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_2)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->self)->SetContainerComposition(::vl::__vwsn::This(this->look)->GetContainerComposition()); - } - { - ::vl::__vwsn::This(this->self)->SetHorizontalScroll(::vl::__vwsn::This(this->look)->GetHScroll()); - } - { - ::vl::__vwsn::This(this->self)->SetVerticalScroll(::vl::__vwsn::This(this->look)->GetVScroll()); - } - } - - MultilineTextBoxTemplateConstructor::MultilineTextBoxTemplateConstructor() - : self(static_cast<::darkskin::MultilineTextBoxTemplate*>(nullptr)) - , look(static_cast<::vl::presentation::templates::GuiCommonScrollViewLook*>(nullptr)) - , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_1(::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>()) - , __vwsn_precompile_2(::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>()) - { - } - -/*********************************************************************** -Class (::darkskin::MultilineTextBoxTemplate) -***********************************************************************/ - - MultilineTextBoxTemplate::MultilineTextBoxTemplate() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"darkskin::MultilineTextBoxTemplate")); - 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)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_darkskin_MultilineTextBoxTemplate_Initialize(this); - } - - MultilineTextBoxTemplate::~MultilineTextBoxTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - /*********************************************************************** Class (::darkskin::ProgressBarTemplateConstructor) ***********************************************************************/ @@ -31257,90 +30946,6 @@ Class (::darkskin::ShortcutKeyTemplate) this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); } -/*********************************************************************** -Class (::darkskin::SinglelineTextBoxTemplateConstructor) -***********************************************************************/ - - void SinglelineTextBoxTemplateConstructor::__vwsn_darkskin_SinglelineTextBoxTemplate_Initialize(::darkskin::SinglelineTextBoxTemplate* __vwsn_this_) - { - (this->self = __vwsn_this_); - { - ::vl::__vwsn::This(this->self)->SetCaretColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF"))); - } - { - ::vl::__vwsn::This(this->self)->SetTextColor([&](){ ::vl::presentation::elements::text::ColorEntry __vwsn_temp__; __vwsn_temp__.normal = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#00000000")); return __vwsn_temp__; }(); __vwsn_temp__.selectedFocused = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#007ACC")); return __vwsn_temp__; }(); __vwsn_temp__.selectedUnfocused = [&](){ ::vl::presentation::elements::text::ColorItem __vwsn_temp__; __vwsn_temp__.text = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFFFF")); __vwsn_temp__.background = ::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#007ACC")); return __vwsn_temp__; }(); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiBoundsComposition()); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - (this->__vwsn_precompile_1 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_1)); - } - (this->container = new ::vl::presentation::compositions::GuiBoundsComposition()); - ::vl::__vwsn::This(__vwsn_this_)->SetNamedObject(::vl::WString::Unmanaged(L"container"), ::vl::__vwsn::Box(this->container)); - { - ::vl::__vwsn::This(this->container)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(1); __vwsn_temp__.top = static_cast<::vl::vint>(1); __vwsn_temp__.right = static_cast<::vl::vint>(1); __vwsn_temp__.bottom = static_cast<::vl::vint>(1); return __vwsn_temp__; }()); - } - { - ::vl::__vwsn::This(this->container)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); - } - { - ::vl::__vwsn::This(this->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->container)); - } - { - ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); - } - (this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>())); - { - ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#252526"))); - } - { - ::vl::__vwsn::This(this->self)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_2)); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - ::vl::__vwsn::This(this->self)->SetContainerComposition(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->container)); - } - } - - SinglelineTextBoxTemplateConstructor::SinglelineTextBoxTemplateConstructor() - : container(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , self(static_cast<::darkskin::SinglelineTextBoxTemplate*>(nullptr)) - , __vwsn_precompile_0(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_1(::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>()) - , __vwsn_precompile_2(::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>()) - { - } - -/*********************************************************************** -Class (::darkskin::SinglelineTextBoxTemplate) -***********************************************************************/ - - SinglelineTextBoxTemplate::SinglelineTextBoxTemplate() - { - auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString::Unmanaged(L"darkskin::SinglelineTextBoxTemplate")); - 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)->SetResourceResolver(__vwsn_resolver_); - ::vl::__vwsn::This(this)->__vwsn_darkskin_SinglelineTextBoxTemplate_Initialize(this); - } - - SinglelineTextBoxTemplate::~SinglelineTextBoxTemplate() - { - this->FinalizeInstanceRecursively(static_cast<::vl::presentation::templates::GuiTemplate*>(this)); - } - /*********************************************************************** Class (::darkskin::SystemFrameWindowTemplateConstructor) ***********************************************************************/ @@ -31706,7 +31311,7 @@ Class (::darkskin::TabTemplateConstructor) ::vl::__vwsn::This(this->header)->SetExtraMargin([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(2); __vwsn_temp__.top = static_cast<::vl::vint>(2); __vwsn_temp__.right = static_cast<::vl::vint>(2); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); } { - ::vl::__vwsn::This(this->header)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); + ::vl::__vwsn::This(this->header)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = (- static_cast<::vl::vint>(1)); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }()); } { ::vl::__vwsn::This(this->header)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -32186,7 +31791,7 @@ Class (::darkskin::ToolstripButtonTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -32234,29 +31839,29 @@ Class (::darkskin::ToolstripButtonTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_2)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -32300,7 +31905,7 @@ Class (::darkskin::ToolstripDropdownButtonTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -32397,39 +32002,39 @@ Class (::darkskin::ToolstripDropdownButtonTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_2)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc220_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -32655,19 +32260,19 @@ Class (::darkskin::ToolstripSplitArrowTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_0)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc210_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } } @@ -32706,7 +32311,7 @@ Class (::darkskin::ToolstripSplitButtonTemplateConstructor) { (this->self = __vwsn_this_); { - ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->self)->SetSubMenuTemplate(vl::Func(::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->self)->SetMinSizeLimitation(::vl::presentation::compositions::GuiGraphicsComposition::MinSizeLimitation::LimitToElementAndChildren); @@ -32790,7 +32395,7 @@ Class (::darkskin::ToolstripSplitButtonTemplateConstructor) ::vl::__vwsn::This(this->buttonArrow)->SetAutoFocus(false); } { - ::vl::__vwsn::This(this->buttonArrow)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(this->buttonArrow)->SetControlTemplate(vl::Func(::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); } { ::vl::__vwsn::This(this->__vwsn_precompile_5)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->buttonArrow)->GetBoundsComposition())); @@ -32798,39 +32403,39 @@ Class (::darkskin::ToolstripSplitButtonTemplateConstructor) { ::vl::__vwsn::This(this->self)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_5)); } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } + { + auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); + } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); - ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); - } - { - auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(this)); - ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); + ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(this))); ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_); } { @@ -33744,9 +33349,9 @@ namespace vl class DarkSkinResourceReader { public: - static const vint parserBufferLength = 1772; // 4588 bytes before compressing + static const vint parserBufferLength = 1720; // 4452 bytes before compressing static const vint parserBufferBlock = 1024; - static const vint parserBufferRemain = 748; + static const vint parserBufferRemain = 696; static const vint parserBufferRows = 2; static const char* parserBuffer[2]; @@ -33757,8 +33362,8 @@ namespace vl }; const char* DarkSkinResourceReader::parserBuffer[] = { - "\xEC\x11\x00\x00\xE4\x06\x00\x00\x4A\x00\x01\x82\x80\x00\x81\x80\x1E\x29\x65\x73\x2F\x35\x32\x3B\x31\x33\x26\x65\x74\x21\x24\x31\x32\x88\x10\x27\x61\x6D\x25\x3D\x12\x12\x10\x10\x2B\x65\x72\x33\x29\x3F\x36\x34\x8F\x18\x2E\x30\x22\x1E\x1C\x1C\x21\x32\x38\x65\x6E\x24\x31\x93\x31\x35\x85\x17\x2C\xAF\x08\x8A\x8C\x86\x84\x88\x89\x14\x92\xBE\x05\x03\x82\x80\x05\xA2\x01\xC7\x81\x89\x2E\x33\x3A\x88\x37\x0E\x8D\x08\xA0\x02\xAB\xA5\xA7\xA7\x0E\xD3\x34\x39\x3C\x35\x33\x01\xA9\x5F\x81\x84\x2F\x33\x34\x03\xA8\xB3\x01\xD4\x25\x38\x34\x3F\x07\xA8\xB7\x01\xC3\x2C\x21\x33\x3B\x38\x8C\x8D\x08\xE3\x2F\x32\x34\x33\xA8\x01\xB0\x45\xCA\x81\xC2\x84\x21\x32\x39\x35\x53\x6B\x29\x2E\x3E\xBE\xBF\x05\xA9\x11\x10\xC2\x82\x24\xBD\x30\x37\xC5\x65\x63\xA3\x35\x3A\x8E\x34\x3B\x39\x7E\x81\x13\xA2\x07\xB5\xD2\xB0\xC3\x6B\x3E\x53\xAA\xD6\x82\xCC\x97\x21\x25\xF4\x31\x94\x38\x9C\x1E\xAC\xAE\x09\xAC\xB7\xDD\xA0\x16\x35\x8D\x8D\x22\x23\x2E\x86\x31\x35\x38\x36\x3A\x2D\x4F\x36\x21\x92\x39\x37\x99\x95\x3C\x7A\xAC\x3B\xBE\x1B\x12\x23\xEB\xD8\xBC\x2F\x12\xE4\xEA\xEF\xDD\x32\xBA\xDB\xBC\xDE\xDA\x8C\x8F\x11\x29\x96\xE5\x23\x34\x34\x96\x35\xE5\xE5\x72\x4D\xCF\xEC\x9C\xEA\x39\xEA\xEC\xD9\xDB\xEF\x33\xE6\xFC\x1E\x31\x35\xF5\x55\x70\x0C\x0C\x37\x01\x13\x13\x10\xDA\x7F\x71\x82\x77\xE2\x60\x7C\x80\x6E\x73\x39\x4E\x6A\x5F\x06\x13\x55\x85\x40\x42\x35\x14\x1C\x1D\x25\x4D\x6E\x87\x60\x48\x42\x6A\x64\x67\xB3\x5F\x86\x88\x00\x68\x45\x59\x88\x13\x69\x0E\x57\x8B\x87\x29\x83\x49\x89\x13\x2D\xA3\x1F\x8A\x87\x17\x85\x59\x8E\x14\x69\x22\x12\x19\x87\x37\x94\x86\x86\x40\x53\x23\x12\x1F\x7E\x6C\x01\x9E\x5C\x60\x03\x40\x64\x15\x18\x62\x0A\x93\x57\x01\x53\x82\x4A\x58\x5B\x42\x2F\x18\x1E\x94\x48\x49\x03\x56\x97\x69\x6F\x1B\x7E\x53\xCD\x70\x1C\x96\x8E\x43\x81\x47\x17\x62\x64\x2F\x17\x1F\x99\x03\x4C\x03\x56\x9C\x01\x47\x11\x1B\x18\x47\x31\x40\x6E\x1B\x66\x29\x17\x19\x90\xA2\x48\x5C\x92\x40\x80\x43\x10\x1E\x99\x53\x44\x52\xA3\x54\x55\x45\x5D\xA2\xA1\x70\x30\x6D\x18\x1C\x72\x09\x43\x1D\x19\x64\x14\x03\x56\xA6\xA7\x47\x69\x63\x62\x3B\x4B\x4D\x41\x19\x2E\x23\x17\xA3\xA0\x01\x71\x82\x41\x8A\x77\x65\x12\x63\x40\x22\xA8\x6F\xA6\x1B\xA8\x94\x5C\xA2\x40\x4E\x3B\x5D\x19\x18\x6C\x0C\x53\x18\x1B\x75\x33\x40\x07\x54\xC3\x81\x4E\x0A\x0B\x2F\x07\xB9\xB0\xB2\x76\xA3\x15\x15\x12\x2E\x28\x15\xAD\x64\x48\x54\xB0\x00\x42\x66\x1D\x5B\x79\x7B\xBE\x80\xB3\x4D\x0E\x53\x60\xB6\xB0\xB2\xCA\x8A\xB8\xB6\xB6\xEC\x65\x4F\x08\x15\x79\x30\x4E\x4B\x1C\x46\xA9\x10\x1C\x87\x22\x6F\x07\x11\x1D\x69\x27\xBA\x79\xBA\x6E\x10\x10\xB3\x19\x8B\x51\xB5\xAC\x9D\x45\x44\xC3\x16\xA8\x0E\x46\x1B\x7F\x4C\x72\x39\x83\x41\x8E\x07\xFD\x45\x1A\x63\x53\x4F\x61\x40\x14\x95\xBA\x53\xA5\x1A\x5D\x7D\x53\x55\xA0\x2A\xAF\x52\xC9\x5C\x73\x75\x5D\xA9\x5E\x7B\x64\x17\x13\xC8\x45\x70\x50\x00\x45\x87\x73\x1A\x62\x1B\x3A\x3A\x04\x14\x1A\x65\x1A\x48\x07\x54\x3B\xC1\x40\xCF\x1A\x32\xCB\x65\xCD\x86\x1B\xA5\x4A\x5B\xA4\x73\x72\x6A\x07\x54\x4B\xFE\xC8\x69\xD0\x34\xFA\x03\x10\xCE\x63\x2B\x19\x94\x1E\x47\xF0\x19\xD1\x19\x1D\x13\x5D\xD6\xD3\x31\xF3\xC5\xCE\x14\x13\x64\x44\xD0\x87\x6E\x19\xDB\xD7\x07\x53\x6C\xD0\xD8\xD0\x62\xFA\x03\x89\x67\x74\x0C\x10\x96\x65\x6A\xD5\x45\x19\x08\x53\x7C\xDF\xD8\xD4\x35\xF3\xD3\x6F\x95\x74\x17\xD9\xDE\x6C\x20\x13\x59\xE3\xDF\x71\xC2\xEE\x66\x15\x36\x77\x11\x4B\xE1\x65\x0D\xD5\x52\xE5\x3F\xC0\xE2\xD7\x1B\x6D\x3F\x86\xE1\xCE\x5A\xFA\xD4\x0B\x54\xA3\xCC\xE2\xD2\x0E\x45\x38\x10\x1D\x18\x32\x4B\x67\x1A\x4B\x7A\x72\x15\x47\x5E\x94\xCB\xE5\x52\xED\x99\xF1\xD9\x12\x6C\x6D\x14\x65\xD7\x19\x47\xB5\x12\x4C\xE5\x26\x13\x55\xF2\xE9\x51\xEC\x8E\x50\xE4\x65\x37\x10\x6C\xB0\x6D\x2E\x18\x11\x19\x13\x53\xE0\xEB\xD6\x96\xC3\x48\xE7\xD3\x71\xCA\xF4\x1C\xF3\x77\x14\xE9\xF6\x40\xDB\xE1\xD7\xE8\xE1\xDE\xE2\xFC\xD2\x40\xB9\xE7\xF5\xA5\x19\xE0\xD4\xEC\x07\x54\xF3\xC8\xF1\xE2\xDE\x67\xC6\xD7\xF6\xDE\xF5\xC5\x5D\xFD\xFB\x51\x65\x32\x6C\x50\x09\x0D\xAA\x56\x78\x69\x7A\x63\x7D\x40\x65\x70\x6F\xD3\x47\x09\x78\x70\x1F\x70\x02\xB2\x37\x03\xA9\x15\x86\x7E\x3A\x16\x6E\x18\x78\x6B\x7E\xD9\x1F\x6D\x28\x1F\x80\x81\xCD\x53\x08\x0D\xBD\x34\x0B\x33\x74\x0B\x09\x19\x79\x04\x72\x11\x13\x2E\x85\x18\x9C\x46\x8F\x25\x23\x0A\xAD\x69\x0C\x0E\x41\x11\x3E\x9B\x14\x7E\x6D\xA2\x3D\x82", - "\x84\x3A\x12\x87\x8F\x6E\x09\x7F\xA6\x14\x75\x05\x53\x28\x89\x0C\xBD\x43\x88\x3B\x6C\x0D\x2B\x72\x19\x0C\x11\x47\x40\x0F\x36\x77\x0C\x88\x1A\x48\x6C\xE5\x27\x03\x2A\x2E\x8B\x8B\x86\x6E\x0E\x88\x14\xF9\x0B\x77\x9C\x69\x7D\x83\x65\x1D\x87\x40\x3F\x8C\x7B\xD3\x42\x8D\x24\x62\x81\x24\x0B\xE8\x89\x05\xA9\x35\x8F\x8B\x4D\x90\x81\xEA\x2B\x72\x27\x22\x94\x76\x6F\x45\x20\x90\x10\xEF\x81\x8C\x08\x90\x26\x0D\x75\x14\x73\x07\x83\x21\x85\x36\x91\x6C\x90\x0F\x8B\x20\x1C\x7F\x8D\x6E\xF6\x4E\x93\x6C\x4C\x85\x25\x12\x7A\x2E\x0C\x0D\x9C\x83\x82\x65\x03\x07\x54\x22\x98\x8F\x92\x36\x6A\x0E\x67\x05\x0E\x1F\xE8\x8B\x05\xA9\x2D\x95\x94\x9D\x86\x31\x2A\xD3\x8F\x0D\x2A\xAE\x48\x8B\x45\x69\x6C\x1A\xA8\x03\x2A\x5E\xB0\x97\x94\xA9\x95\x87\x65\x05\x79\x8A\xFD\x60\x94\x94\x45\x28\x9B\x20\x99\x9E\x0D\x29\x3B\x57\x89\xAB\x80\x97\x2B\xC5\x23\x9B\x65\xA0\x8E\x99\xBC\x4C\x0C\x2D\xB6\x97\x8B\x68\xA1\x72\x36\xC7\x65\x29\x38\xD6\x93\x88\x6C\x8F\x8B\x93\xA6\x97\x6C\x1B\x14\x7E\x97\xA2\x2D\x9C\x9C\x34\x8F\x98\x1B\x42\x97\x86\x6F\x9B\x6E\x8B\x45\x38\x9C\x3C\xE9\x62\x4C\x36\x24\x4A\x5E\xD3\x75\x7A\x1C\x14\x75\x05\xA9\x05\xA0\x96\x54\x1D\x9F\x3F\xF0\x07\x91\x44\xA8\x88\x86\x45\x30\xA3\x3E\x89\xA3\x4C\x3A\x25\x4B\x0E\x94\x65\x75\x51\x1A\xA0\x89\x2C\x45\x6D\x0D\x45\x47\x48\x34\xC5\x9A\x96\x50\xAA\x8A\x20\x6C\x86\x7D\xD4\x48\x01\xA4\x24\x48\x0C\x75\x64\x1D\x28\xE5\x19\x03\x2A\x9A\x98\x84\xA5\x46\x48\x4A\xFA\x48\x2C\x80\xCD\x48\x0C\x0A\xB2\x66\x83\x40\x8F\xAF\x84\x4B\xAA\xA5\x66\x4C\x05\x0E\x19\x74\x0D\xA5\x91\xB9\x92\x91\x5E\x66\xA9\x03\xD1\x68\x63\x37\x00\x7E\x52\x94\x23\xAB\x31\xA3\x92\xAA\xCD\x7C\x47\x0C\x68\x0C\xA9\x4E\xCE\xAA\x8A\x34\xBD\x7B\x20\xFF\x77\x92\x0E\x4D\xAC\x0D\xF8\x68\x88\x90\x03\x22\x92\x5A\x89\xA0\x0E\xB6\xB6\x9A\x6F\x27\xA1\x21\x4A\xD3\xA5\x66\x2B\x2C\xAF\xA5\x32\x32\xA4\x1A\xB6\xA5\x28\xC2\x80\x8E\xAF\x63\xAB\x9C\x1A\x8A\x80\x01\x9E\xB1\x6E\x0A\x40\xB7\x4F\x1A\x07\x8F\x9B\xBD\x55\x90\x83\x4F\x42\x0D\x40\x8C\x67\xAE\xD9\x1B\x03\x2A\x9F\xB8\xB0\x94\x1B\xB4\xB3\xAD\x55\x03\x2A\xA7\xA2\xB6\x18\x2D\x85\xA8\x0C\x8D\x0E\x38\xEC\x37\x32\x1B\x65\x04\x70\x09\x95\xB0\x99\x03\x2A\x9A\x5A\xD3\x0E\x75\xAE\x32\xB4\xB6\x6B\x25\x72\x96\x3C\x8D\x6D\xAE\xB1\x6D\xA1\x59\xBD\xB1\x19\x36\x73\x20\xDC\x6A\xAD\xA1\x65\x9D\x74\x49\x94\x7E\x03\xA9\x15\xBE\xB5\x31\x35\x0C\x3D\x9B\x45\xB4\xBD\x47\xA5\x28\xDF\xA0\x88\x45\xFE\x96\xA2\x79\x5B\xB9\x87\x47\x41\x7F\x5B\x97\xBF\x65\xB9\x8A\xA5\xBC\x11\x93\xB8\x1D\xF6\x86\xB9\xF3\x6F\xBD\x4C\xDB\x96\x88\x2E\xE5\xA0\x94\xB8\x82\x22\xAE\x47\xB6\x67\x7D\xF2\x5C\x29\x86\x84\xB8\x29\x7B\xBA\x73\x78\x8B\xA6\xC0\x34\xA1\x9B\x20\xE3\x8E\xBD\x45\xE5\x4B\xBA\xE5\xB7\x8D\x28\x17\xC2\xBF\x80\xF5\xA6\x86\xEE\xB2\x0D\xC0\xD9\xB4\x70\x6E\x82\x2A\xB7\x00\xCB\xC0\xBE\xDB\xB2\x36\x56\x95\xB1\xB5\xA2\x2D\xC2\xC3\x13\xD2\x5F\x81\xBE\x85\xBF\xA8\x43\x0D\x0E\x4E\x3C\x73\x9E\x16\xAB\x3E\x11\xDC\xA8\x83\x37\xD9\xC5\x1B\x46\x02\x76\x8D\x2B\x4A\x26\x3B\x88\x8F\x88\x81\x25\xC4\xBE\xAB\xA9\x0F\x4E\x39\x64\x91\xBF\x37\xC8\x2B\xB3\xA5\xA6\x35\xD5\x67\x78\xEC\x33\x92\x34\xBE\x28", + "\x64\x11\x00\x00\xB0\x06\x00\x00\x4A\x00\x01\x82\x80\x00\x81\x80\x1E\x29\x65\x73\x2F\x35\x32\x3B\x31\x33\x26\x65\x74\x21\x24\x31\x32\x88\x10\x27\x61\x6D\x25\x3D\x12\x12\x10\x10\x2B\x65\x72\x33\x29\x3F\x36\x34\x8F\x18\x2E\x30\x22\x1E\x1C\x1C\x21\x32\x38\x65\x6E\x24\x31\x93\x31\x35\x85\x17\x2C\xAF\x08\x8A\x8C\x86\x84\x88\x89\x14\x92\xBE\x05\x03\x82\x80\x05\xA2\x01\xC7\x81\x89\x2E\x33\x3A\x88\x37\x0E\x8D\x08\xA0\x02\xAB\xA5\xA7\xA7\x0E\xD3\x34\x39\x3C\x35\x33\x01\xA9\x5F\x81\x84\x2F\x33\x34\x03\xA8\xB3\x01\xD4\x25\x38\x34\x3F\x07\xA8\xB7\x01\xC3\x2C\x21\x33\x3B\x38\x8C\x8D\x08\xE3\x2F\x32\x34\x33\xA8\x01\xB0\x45\xCA\x81\xC2\x84\x21\x32\x39\x35\x53\x6B\x29\x2E\x3E\xBE\xBE\x05\xA9\x11\x10\xC2\x82\x24\xBD\x30\x37\xC5\x65\x63\xA3\x35\x3A\x8E\x34\x3B\x39\x7E\x81\x13\xA2\x07\xB5\xD2\xB0\xC3\x6B\x3E\x53\xAA\xD6\x82\xCC\x97\x21\x25\xF4\x31\x94\x38\x9C\x1E\xAC\xAE\x09\xAC\xB7\xDD\xA0\x16\x35\x8D\x8D\x22\x23\x2E\x86\x31\x35\x38\x36\x3A\x2D\x4F\x36\x21\x92\x39\x37\x99\x95\x3C\x7A\xAC\x3B\xBE\x1B\x12\x23\xEB\xD8\xBC\x2F\x12\xE4\xEA\xEF\xDD\x32\xBA\xDB\xBC\xDE\xDA\x8C\x8F\x11\x29\x96\xE5\x23\x34\x34\x96\x35\xE5\xE5\x72\x4D\xCF\xEC\x9C\xEA\x39\xEA\xEC\xD9\xDB\xEF\x33\xE6\xFC\x1E\x31\x35\xF5\x55\x70\x0C\x0C\x37\x01\x13\x13\x10\xDA\x7F\x71\x82\x77\xE2\x60\x7C\x80\x6E\x73\x39\x4E\x6A\x5F\x06\x13\x55\x85\x40\x42\x35\x14\x1C\x1D\x25\x4D\x6E\x87\x60\x48\x42\x6A\x64\x67\xB3\x5F\x86\x88\x00\x68\x45\x59\x88\x13\x69\x0E\x57\x8B\x87\x29\x83\x49\x89\x13\x2D\xA3\x1F\x8A\x87\x17\x85\x59\x8E\x14\x69\x22\x12\x19\x87\x37\x94\x86\x86\x40\x53\x23\x12\x1F\x7E\x6C\x01\x9E\x5C\x60\x03\x40\x64\x15\x18\x62\x0A\x93\x55\x02\x53\x82\x44\x17\x1B\xFB\x4E\x5D\x70\x1C\x52\x88\x59\x8F\x40\x39\x97\x1B\x60\x19\x6F\x37\x1D\x95\x51\x0C\x13\x59\x99\x40\x47\x21\x13\x1B\x11\x31\x70\x6E\x1A\x19\x69\x27\x11\x92\x68\x48\x4C\x92\x40\x60\x43\x30\x1C\x97\x54\x44\x79\x93\x55\x55\x45\x44\xAD\x9C\x1C\xB0\x6D\x10\x1E\x1C\x09\x73\x15\x18\x19\x14\x13\x51\xA7\x69\x87\x49\x6B\x63\x4E\x0B\x4D\x45\x1A\x0B\x63\x3E\x9A\x9D\x40\x31\x82\x49\x8B\x5D\x65\x02\x63\x42\x88\xA8\x56\xAE\x1B\xA7\x54\x43\xA2\x42\x13\x7B\x6D\x11\x18\x1B\x4C\x63\x1C\x19\x1D\x33\x50\x03\x56\xAE\x01\x6E\x0E\x0B\x0B\xBE\x80\xBF\xAD\x9B\x63\x15\x19\x12\x0B\x68\x2C\xA1\x64\x52\xCB\x80\x08\x42\x19\x5D\x6B\x7D\x79\xAD\xB7\xB3\x49\x0F\x54\xD7\xBD\xAF\xAD\xB0\xC1\x8F\xB1\xB4\x7B\x25\x6F\x04\x15\x1E\x30\x6E\x43\x1E\x91\x69\x30\x1C\x86\x48\x2F\x07\x15\x1D\x1A\xDE\xAA\x70\xBA\x1B\x50\x37\xA7\x1B\x62\xC8\xAC\xAB\x98\x9A\x44\x99\xAE\x42\x11\xFB\x73\x42\x1F\x97\x02\x79\x83\x16\xBF\x65\x3E\x5B\x03\x54\x0B\xC1\x40\x14\xA3\x7A\x4A\xA9\x19\x57\x7D\x53\x58\x9E\x8A\x6F\x59\xC1\x5F\x5C\x75\x64\xA9\x5F\x5E\x64\x05\x1A\xC5\x51\x70\x40\x04\x47\x61\x73\x0A\x6E\x1A\x0E\x3A\x14\x18\x19\x19\x1A\x58\x03\x56\xCC\x01\x67\xCB\x19\xCA\x8B\x6C\xC9\x87\x86\x25\x6A\x5A\xA3\x5C\xB2\x5A\x03\x56\xD0\x35\xE8\x68\xCF\xCA\x3A\x03\x1F\xCB\x18\x6B\x02\x1F\x18\x1E\x3E\xF0\x10\xD1\x19\x1D\x13\x55\xD5\xD1\x28\xEA\xCC\xCA\x14\x13\x64\x4B\xCC\x87\x6E\x11\xD3\xD7\x07\x53\x64\xD8\xD7\xCD\x5A\xFA\x03\x89\x67\x74\x0C\x10\x96\x65\x62\xD5\x45\x19\x08\x53\x74\xD7\xDB\xD1\x2C\xEB\xD3\x6E\x5A\x6C\x4E\xD0\xD4\xCC\x52\xF2\xD0\x0B\x54\x83\xF7\xD9\xDA\xDE\x9E\x56\x16\x4F\x1D\x21\x71\xD1\xD3\xD0\x02\x76\xC8\xDD\xD2\x6F\x2D\x1F\x8E\xDF\x8E\xE5\x14\x0B\x54\x9B\xC6\xE9\xCE\x0E\x45\x38\x10\x1D\x18\x32\x4B\x67\x1A\x4B\x7A\x72\x15\x47\x5E\x99\xC5\xE5\x52\xEB\x92\xE9\xD9\x12\x6C\x6D\x14\x6C\xD3\x19\x47\xB5\x12\x4D\xE6\x26\x13\x5D\xEE\xE7\x48\xEC\x8E\x52\xE2\x65\x37\x10\x6F\xAD\x6D\x2E\x18\x11\x19\x13\x4D\xE0\xE3\xD4\x44\xC5\x51\xF5\xEC\x9F\xC2\xF4\x1C\xF1\x77\x19\xE1\xF7\x40\xD3\xC6\xD9\xD8\xDF\x6D\xED\x84\x1E\xF6\x90\xC0\xFC\xC8\x15\x8C\xA5\x18\xF5\xE6\x1C\x13\x5D\xFA\xF9\x6A\xF2\xDF\xD5\xCF\xCF\xF2\xDF\xF9\x51\xF7\xD4\xF8\xD1\x61\xB2\x50\x19\x18\xD3\xCE\x7F\x66\xDC\x5B\x72\x21\xEE\x59\x6F\x73\x47\x19\x74\x1C\x18\x75\x7E\xD9\x17\x03\x2A\x0F\x90\x7E\xDB\x62\x00\x6F\x06\x94\x6E\x6A\x91\x7E\x7B\xE7\x53\x08\x0D\xBD\x34\x0B\x33\x74\x0B\x09\x19\x79\x09\x72\x11\x13\x2E\x84\xF0\x7C\x46\x8F\x25\x23\x0A\xA9\x69\x0C\x0E\x41\x11\x3D\x99\x19\x76\x6D\xA2\x35\x82\x7F\x5B\x7D\x47\x8F\x6E\x03\x7F\xA6\x19\x75", + "\x05\x53\x20\x89\x0A\xBA\x85\x25\x36\x6C\x0D\x2B\x72\x19\x0C\x11\x47\x40\x0E\x32\x77\x0C\x87\x1A\x40\x6D\xE6\x27\x03\x2A\x2A\x83\x8B\x85\x6E\x06\x88\x12\xF9\x03\x76\x98\x56\x7C\x86\x65\x79\x83\x01\xC8\x6A\x85\x1D\x9A\x89\x24\x24\x96\x81\x0A\x53\x2B\x8D\x2B\xA6\x8A\x81\xA1\x63\x76\x4C\x3D\x89\x72\xBB\x45\x2E\x8E\x38\x9A\x05\x19\xC5\x8A\x80\x88\x2E\x0D\x0E\x99\x77\x69\x51\x02\x99\x8F\x3D\x99\x8A\x81\x75\x95\x6E\x18\xE8\x6F\x72\x43\x89\x0A\x2F\x6E\x13\x81\x05\x82\x82\x37\x11\x13\x2E\x92\x6E\x85\x26\xDB\x72\x07\x0D\x32\x34\x8E\x82\x2B\x13\x29\x28\x99\x91\x92\xC3\x1D\x93\x89\x6F\x0D\x89\x99\x50\x8C\x67\xB0\x56\x80\x05\x53\x30\x94\x29\x9B\x9D\x93\x16\x97\x34\x0E\x9F\x94\x91\x19\x18\x95\x28\x5E\x85\x94\x88\x6E\x13\x0A\xAC\x47\x89\x97\xC0\x72\x33\x94\x45\x28\x9B\x2F\xD8\x82\x99\x59\x6C\x08\x95\xAA\x8F\x89\x31\xD3\x6F\x77\xA2\x15\x9B\x99\x3B\x8D\x9B\x11\x8F\x9A\x93\xB7\x6C\x09\x73\xB2\x85\x29\x38\xD8\x9C\x85\x61\xAC\x0E\x96\x2F\x93\x9A\xDC\x56\x85\x28\x76\xA4\x99\x6C\x58\x4C\x0E\x96\x69\x5B\x79\xE6\x72\x09\x73\x25\x13\x29\x3E\xA4\x97\x4B\x2C\x74\x0B\x4B\x7E\x80\x92\x05\xA8\x85\x28\x82\xAF\x9D\x9F\xF2\x9F\x9D\xBA\x73\x09\x73\xCE\x45\x2E\xA1\x79\x8E\x68\xCF\x6D\x05\x49\x23\x44\x99\x8A\xF4\x7A\x95\x0D\x83\x27\x86\x0D\x88\x68\x09\x15\xA8\x48\x12\x24\x74\x0D\xAE\x19\x71\x03\x53\x28\xA4\xFC\x20\xA6\x48\x24\x64\x78\x29\x06\x8C\x93\x47\xE8\x7E\x4D\x35\x01\x86\x98\x65\x04\xA3\x40\x06\xAE\xA2\x96\x4C\x0D\x0C\x66\x14\x0D\x48\x97\xAD\x95\x40\x98\x80\x7E\x0F\x6F\x0C\xEE\x0D\x54\x33\x7B\x96\x84\x97\x03\x3E\x95\x4F\xFA\x85\x4E\x34\x02\xAD\xA5\x44\xB2\x8A\x05\xF7\x73\x21\xFC\x53\xAB\xA8\x6C\x0B\x7E\x05\xF6\x83\x20\x3C\x93\xAF\x4A\x70\x00\xAE\x3A\xB2\x3B\xA2\x81\x1D\xA3\x8C\x2C\x76\x08\x58\xA3\xA2\x26\x93\x96\x82\xA5\x45\x38\xAD\x1E\xF2\xA8\xAB\x6F\x96\x84\x80\x01\x31\xA7\xE4\x56\x04\xA6\x00\x8E\xAA\x97\x64\xA2\x22\x59\xF0\xAD\x64\x28\x75\x9A\x60\x6B\xA5\x0F\x06\x53\x23\xB2\xF8\x4F\x4A\x0C\x8F\xB7\xA7\xD4\x15\x03\x2A\xCE\x96\xB0\x4A\x60\x88\x2B\x5B\xB2\xAC\x65\x80\x8D\xA9\xB2\xAE\x63\x20\xEC\x53\xA1\xA1\x2E\xB5\x70\xA3\xAE\x9A\x96\x07\x53\x23\xB6\xF8\x41\xA0\x9D\x1B\x5A\xB2\xDC\x7B\x95\x28\xDE\xB9\x88\xA1\xF3\x89\xAE\x0B\xB0\x82\x87\xEC\x63\xAA\x91\x96\xB1\x9D\x70\x91\xBD\x8D\xA2\x0D\xBF\xB7\xCA\xAA\xA0\x1C\x50\x9E\x88\x56\x9A\xA8\xB1\xC8\xA6\x67\x59\xD1\xBB\x4A\xA6\x01\xA1\xB4\x36\x8B\x93\xE4\x40\xB2\xBB\xEF\x96\x85\x9A\x03\x37\x9B\x76\xFE\x9B\x4A\xDC\x8C\xBC\x8D\xE2\xBF\x78\x77\xE9\x58\xB6\xD9\x32\x0E\xBB\x31\x22\xA2\x2E\xD0\xA2\x20\xA9\x8C\xB4\xBC\xED\xA3\xBA\x7D\x99\x75\xB3\xA2\x05\xC0\xBA\xEC\xA9\x5C\x78\x9C\xA1\xBF\xCF\x43\x0D\x0E\x4E\x35\x72\x9C\x7F\x9B\x3F\xCC\x7C\xB9\x20\xFE\xA4\xB5\xD2\x10\xCC\x43\x36\x06\x0A\x75\x1A\x22\x4E\x4C\x33\x8F\xA9\x4B\x8D\xC0\x69\x53\x19\x0E\x53\x30\x6F\xC3\xDF\x22\xC6\x89\x27\xA9\xA7\x89\xE7\x71\x9E\xF6\x30\x09\x73\x7E\x20", }; class DarkSkinResourceLoaderPlugin : public Object, public IGuiPlugin diff --git a/Import/Skins/DarkSkin/DarkSkin.h b/Import/Skins/DarkSkin/DarkSkin.h index 1dae887d..e3c804ac 100644 --- a/Import/Skins/DarkSkin/DarkSkin.h +++ b/Import/Skins/DarkSkin/DarkSkin.h @@ -275,16 +275,16 @@ namespace vl_workflow_global struct __vwsnf311_DarkSkin_darkskin_TabTemplateConstructor___vwsn_darkskin_TabTemplate_Initialize_; struct __vwsnf312_DarkSkin_darkskin_TabTemplateConstructor___vwsn_darkskin_TabTemplate_Initialize_; struct __vwsnf313_DarkSkin_darkskin_TabTemplateConstructor___vwsn_darkskin_TabTemplate_Initialize_; - struct __vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - struct __vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - struct __vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - struct __vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_; + struct __vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + struct __vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + struct __vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + struct __vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; struct __vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - struct __vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + struct __vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf31_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; - struct __vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - struct __vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - struct __vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + struct __vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + struct __vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + struct __vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; @@ -296,39 +296,39 @@ namespace vl_workflow_global struct __vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; struct __vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - struct __vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - struct __vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - struct __vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - struct __vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - struct __vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - struct __vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - struct __vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + struct __vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + struct __vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + struct __vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + struct __vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + struct __vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + struct __vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + struct __vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; struct __vwsnf33_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; struct __vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; struct __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - struct __vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - struct __vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - struct __vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - struct __vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + struct __vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + struct __vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + struct __vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + struct __vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; struct __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; struct __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; struct __vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; struct __vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; struct __vwsnf34_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; - struct __vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - struct __vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - struct __vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - struct __vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + struct __vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + struct __vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + struct __vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + struct __vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; struct __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; struct __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; struct __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; struct __vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; struct __vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - struct __vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + struct __vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf35_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; - struct __vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - struct __vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - struct __vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + struct __vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + struct __vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + struct __vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; @@ -356,11 +356,7 @@ namespace vl_workflow_global struct __vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - struct __vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - struct __vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf38_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; - struct __vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - struct __vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; struct __vwsnf39_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; struct __vwsnf3_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; struct __vwsnf40_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_; @@ -529,12 +525,12 @@ namespace vl_workflow_global class __vwsnc189_DarkSkin_darkskin_TabTemplateConstructor___vwsn_darkskin_TabTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc18_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc190_DarkSkin_darkskin_TabTemplateConstructor___vwsn_darkskin_TabTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -548,33 +544,33 @@ namespace vl_workflow_global class __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc20_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc210_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc21_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc220_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc22_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; + class __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -598,8 +594,6 @@ namespace vl_workflow_global class __vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - class __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc25_DarkSkin_darkskin_DocumentViewerTemplateConstructor___vwsn_darkskin_DocumentViewerTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc26_DarkSkin_darkskin_ComboBoxTemplateConstructor___vwsn_darkskin_ComboBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; class __vwsnc27_DarkSkin_darkskin_ComboBoxTemplateConstructor___vwsn_darkskin_ComboBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -735,8 +729,6 @@ namespace darkskin class MenuItemButtonTemplate; class MenuSplitterTemplateConstructor; class MenuSplitterTemplate; - class MultilineTextBoxTemplateConstructor; - class MultilineTextBoxTemplate; class ProgressBarTemplateConstructor; class ProgressBarTemplate; class RadioButtonTemplateConstructor; @@ -785,8 +777,6 @@ namespace darkskin class ScrollViewTemplate; class ShortcutKeyTemplateConstructor; class ShortcutKeyTemplate; - class SinglelineTextBoxTemplateConstructor; - class SinglelineTextBoxTemplate; class SystemFrameWindowTemplateConstructor; class SystemFrameWindowTemplate; class TabHeaderButtonTemplateConstructor; @@ -1091,6 +1081,8 @@ namespace darkskin class CustomFrameWindowTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -1112,8 +1104,10 @@ namespace darkskin friend class ::vl_workflow_global::__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; @@ -1139,10 +1133,6 @@ namespace darkskin friend struct ::vl_workflow_global::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1198,6 +1188,8 @@ namespace darkskin class CustomFrameWindowTemplate : public ::vl::presentation::templates::GuiWindowTemplate, public ::darkskin::CustomFrameWindowTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::CustomFrameWindowTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc233_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -1219,8 +1211,10 @@ namespace darkskin friend class ::vl_workflow_global::__vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc251_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc252_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; @@ -1246,10 +1240,6 @@ namespace darkskin friend struct ::vl_workflow_global::__vwsnf385_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1894,15 +1884,15 @@ namespace darkskin class MenuBarButtonTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1919,15 +1909,15 @@ namespace darkskin class MenuBarButtonTemplate : public ::vl::presentation::templates::GuiToolstripButtonTemplate, public ::darkskin::MenuBarButtonTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::MenuBarButtonTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1938,6 +1928,8 @@ namespace darkskin class MenuItemButtonTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -1949,8 +1941,10 @@ namespace darkskin friend class ::vl_workflow_global::__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; @@ -1961,10 +1955,6 @@ namespace darkskin friend struct ::vl_workflow_global::__vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -1990,6 +1980,8 @@ namespace darkskin class MenuItemButtonTemplate : public ::vl::presentation::templates::GuiToolstripButtonTemplate, public ::darkskin::MenuItemButtonTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::MenuItemButtonTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc198_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc199_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -2001,8 +1993,10 @@ namespace darkskin friend class ::vl_workflow_global::__vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf325_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; @@ -2013,10 +2007,6 @@ namespace darkskin friend struct ::vl_workflow_global::__vwsnf330_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf331_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf332_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -2051,41 +2041,6 @@ namespace darkskin ~MenuSplitterTemplate(); }; - class MultilineTextBoxTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::darkskin::MultilineTextBoxTemplate* self; - ::vl::presentation::templates::GuiCommonScrollViewLook* look; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_0; - ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement> __vwsn_precompile_1; - ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement> __vwsn_precompile_2; - void __vwsn_darkskin_MultilineTextBoxTemplate_Initialize(::darkskin::MultilineTextBoxTemplate* __vwsn_this_); - public: - MultilineTextBoxTemplateConstructor(); - }; - - class MultilineTextBoxTemplate : public ::vl::presentation::templates::GuiMultilineTextBoxTemplate, public ::darkskin::MultilineTextBoxTemplateConstructor, public ::vl::reflection::Description - { - friend class ::darkskin::MultilineTextBoxTemplateConstructor; - friend class ::vl_workflow_global::__vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_; -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - MultilineTextBoxTemplate(); - ~MultilineTextBoxTemplate(); - }; - class ProgressBarTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { friend class ::vl_workflow_global::__vwsnc167_DarkSkin_darkskin_ProgressBarTemplateConstructor___vwsn_darkskin_ProgressBarTemplate_Initialize__vl_reflection_description_IValueSubscription; @@ -3262,37 +3217,6 @@ namespace darkskin ~ShortcutKeyTemplate(); }; - class SinglelineTextBoxTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description - { - friend class ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_; -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - protected: - ::vl::presentation::compositions::GuiBoundsComposition* container; - ::darkskin::SinglelineTextBoxTemplate* self; - ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_0; - ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement> __vwsn_precompile_1; - ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement> __vwsn_precompile_2; - void __vwsn_darkskin_SinglelineTextBoxTemplate_Initialize(::darkskin::SinglelineTextBoxTemplate* __vwsn_this_); - public: - SinglelineTextBoxTemplateConstructor(); - }; - - class SinglelineTextBoxTemplate : public ::vl::presentation::templates::GuiSinglelineTextBoxTemplate, public ::darkskin::SinglelineTextBoxTemplateConstructor, public ::vl::reflection::Description - { - friend class ::darkskin::SinglelineTextBoxTemplateConstructor; - friend class ::vl_workflow_global::__vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_; -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; -#endif - public: - SinglelineTextBoxTemplate(); - ~SinglelineTextBoxTemplate(); - }; - class SystemFrameWindowTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA @@ -3675,17 +3599,17 @@ namespace darkskin class ToolstripButtonTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3705,17 +3629,17 @@ namespace darkskin class ToolstripButtonTemplate : public ::vl::presentation::templates::GuiToolstripButtonTemplate, public ::darkskin::ToolstripButtonTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::ToolstripButtonTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc215_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3726,21 +3650,21 @@ namespace darkskin class ToolstripDropdownButtonTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc220_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3764,21 +3688,21 @@ namespace darkskin class ToolstripDropdownButtonTemplate : public ::vl::presentation::templates::GuiToolstripButtonTemplate, public ::darkskin::ToolstripDropdownButtonTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::ToolstripDropdownButtonTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc220_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf348_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf349_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3841,12 +3765,12 @@ namespace darkskin class ToolstripSplitArrowTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc210_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3864,12 +3788,12 @@ namespace darkskin class ToolstripSplitArrowTemplate : public ::vl::presentation::templates::GuiSelectableButtonTemplate, public ::darkskin::ToolstripSplitArrowTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::ToolstripSplitArrowTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc210_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend struct ::vl_workflow_global::__vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3880,22 +3804,22 @@ namespace darkskin class ToolstripSplitButtonTemplateConstructor : public ::vl::Object, public ::vl::reflection::Description { + friend class ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -3920,22 +3844,22 @@ namespace darkskin class ToolstripSplitButtonTemplate : public ::vl::presentation::templates::GuiToolstripButtonTemplate, public ::darkskin::ToolstripSplitButtonTemplateConstructor, public ::vl::reflection::Description { friend class ::darkskin::ToolstripSplitButtonTemplateConstructor; + friend class ::vl_workflow_global::__vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend class ::vl_workflow_global::__vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc227_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; friend class ::vl_workflow_global::__vwsnc229_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; - friend class ::vl_workflow_global::__vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription; + friend struct ::vl_workflow_global::__vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; + friend struct ::vl_workflow_global::__vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf357_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; friend struct ::vl_workflow_global::__vwsnf358_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; - friend struct ::vl_workflow_global::__vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_; #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA friend struct ::vl::reflection::description::CustomTypeDescriptorSelector; #endif @@ -6401,38 +6325,38 @@ Closures void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; - struct __vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_ + struct __vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ { - ::darkskin::MultilineTextBoxTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; - __vwsnf314_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0); + __vwsnf314_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiScrollTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_ + struct __vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ { - ::darkskin::MultilineTextBoxTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; - __vwsnf315_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0); - - ::vl::presentation::templates::GuiScrollTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; - }; - - struct __vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_ - { - ::darkskin::MultilineTextBoxTemplateConstructor* __vwsnthis_0; - - __vwsnf316_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize_(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0); + __vwsnf315_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_ + struct __vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ { - ::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; - __vwsnf317_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize_(::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnctorthis_0); + __vwsnf316_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ + { + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf317_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; @@ -6443,16 +6367,16 @@ Closures __vwsnf318_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ + struct __vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ { - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnf319_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf319_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf31_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ @@ -6464,29 +6388,29 @@ Closures ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ + struct __vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ { - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnf320_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf320_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ + struct __vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ { - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnf321_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf321_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_ + struct __vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ { - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnf322_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize_(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf322_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; @@ -6497,7 +6421,7 @@ Closures __vwsnf323_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf324_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ @@ -6590,65 +6514,65 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ - { - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf333_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ - { - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf334_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ - { - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf335_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_ - { - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf336_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize_(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ + struct __vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ { ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; - __vwsnf337_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + __vwsnf333_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ + struct __vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ { ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; - __vwsnf338_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + __vwsnf334_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ + struct __vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_ { ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; - __vwsnf339_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + __vwsnf335_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize_(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + { + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf336_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + + ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + { + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf337_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + { + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf338_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + }; + + struct __vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + { + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf339_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; @@ -6668,7 +6592,7 @@ Closures __vwsnf340_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf341_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ @@ -6680,38 +6604,38 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + struct __vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ { - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - __vwsnf342_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf342_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + + ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ + { + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf343_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + struct __vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ { - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - __vwsnf343_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf344_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ + struct __vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ { - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - __vwsnf344_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_ - { - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf345_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize_(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf345_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; @@ -6722,7 +6646,7 @@ Closures __vwsnf346_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf347_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ @@ -6761,38 +6685,38 @@ Closures ::vl::presentation::templates::GuiToolstripButtonTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ + struct __vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ { - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; - __vwsnf350_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf350_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + + ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + { + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf351_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + + ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + }; + + struct __vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + { + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + + __vwsnf352_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ + struct __vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ { - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; - __vwsnf351_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ - { - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf352_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_ - { - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - - __vwsnf353_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize_(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf353_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; @@ -6803,7 +6727,7 @@ Closures __vwsnf354_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMenuTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ @@ -6812,7 +6736,7 @@ Closures __vwsnf355_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf356_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ @@ -6842,13 +6766,13 @@ Closures void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; - struct __vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + struct __vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ { - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnf359_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf359_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiWindowTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf35_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ @@ -6860,31 +6784,31 @@ Closures ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + struct __vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ { - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnf360_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf360_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + struct __vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ { - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnf361_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf361_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_ + struct __vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ { - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnf362_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize_(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnf362_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -6893,7 +6817,7 @@ Closures __vwsnf363_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiWindowTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -6902,7 +6826,7 @@ Closures __vwsnf364_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -6911,7 +6835,7 @@ Closures __vwsnf365_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -6920,7 +6844,7 @@ Closures __vwsnf366_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; }; struct __vwsnf367_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -7118,7 +7042,7 @@ Closures __vwsnf386_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; struct __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ @@ -7127,25 +7051,7 @@ Closures __vwsnf387_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ - { - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnf388_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; - }; - - struct __vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ - { - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnf389_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const; + void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; }; struct __vwsnf38_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ @@ -7157,24 +7063,6 @@ Closures ::vl::presentation::templates::GuiToolstripButtonTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; - struct __vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ - { - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnf390_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - - struct __vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_ - { - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnf391_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize_(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const; - }; - struct __vwsnf39_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ { ::darkskin::ThemeConstructor* __vwsnthis_0; @@ -7271,7 +7159,7 @@ Closures __vwsnf48_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiSinglelineTextBoxTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + ::vl::presentation::templates::GuiDocumentLabelTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf49_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ @@ -7280,7 +7168,7 @@ Closures __vwsnf49_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_(::darkskin::ThemeConstructor* __vwsnctorthis_0); - ::vl::presentation::templates::GuiMultilineTextBoxTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; + ::vl::presentation::templates::GuiDocumentViewerTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const; }; struct __vwsnf4_DarkSkin_darkskin_ThemeConstructor___vwsn_darkskin_Theme_Initialize_ @@ -9776,54 +9664,12 @@ Closures bool Close() override; }; - class __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::MultilineTextBoxTemplateConstructor* __vwsnthis_0; - - __vwsnc191_DarkSkin_darkskin_MultilineTextBoxTemplateConstructor___vwsn_darkskin_MultilineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MultilineTextBoxTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::MultilineTextBoxTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::MultilineTextBoxTemplate* __vwsn_bind_cache_1 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnthis_0; - - __vwsnc192_DarkSkin_darkskin_SinglelineTextBoxTemplateConstructor___vwsn_darkskin_SinglelineTextBoxTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::SinglelineTextBoxTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::SinglelineTextBoxTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::SinglelineTextBoxTemplate* __vwsn_bind_cache_1 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; - __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc191_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::MenuBarButtonTemplate* __vwsn_bind_cache_0 = nullptr; ::darkskin::MenuBarButtonTemplate* __vwsn_bind_cache_1 = nullptr; @@ -9842,6 +9688,42 @@ Closures bool Close() override; }; + class __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + + __vwsnc192_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::MenuBarButtonTemplate* __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; + 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); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + + __vwsnc193_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::MenuBarButtonTemplate* __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; + 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); + bool Open() override; + bool Update() override; + bool Close() override; + }; + class __vwsnc194_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: @@ -9860,32 +9742,38 @@ Closures bool Close() override; }; - class __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnc195_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc195_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::MenuBarButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; }; - class __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::MenuBarButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - __vwsnc196_DarkSkin_darkskin_MenuBarButtonTemplateConstructor___vwsn_darkskin_MenuBarButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuBarButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc196_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::MenuBarButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::MenuItemButtonTemplate* __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; @@ -9904,17 +9792,11 @@ Closures __vwsnc197_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10093,11 +9975,17 @@ Closures __vwsnc205_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10111,11 +9999,17 @@ Closures __vwsnc206_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10129,8 +10023,26 @@ Closures __vwsnc207_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + 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); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; + + __vwsnc208_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; @@ -10145,16 +10057,16 @@ Closures bool Close() override; }; - class __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; - __vwsnc208_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc209_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::MenuItemButtonTemplate* __vwsn_bind_cache_2 = nullptr; + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; @@ -10169,24 +10081,6 @@ Closures bool Close() override; }; - class __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::MenuItemButtonTemplateConstructor* __vwsnthis_0; - - __vwsnc209_DarkSkin_darkskin_MenuItemButtonTemplateConstructor___vwsn_darkskin_MenuItemButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::MenuItemButtonTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::MenuItemButtonTemplate* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - class __vwsnc20_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: @@ -10229,40 +10123,37 @@ Closures bool Close() override; }; - class __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; - __vwsnc211_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + __vwsnc211_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_2 = nullptr; + ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; }; - class __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; - __vwsnc212_DarkSkin_darkskin_ToolstripSplitArrowTemplateConstructor___vwsn_darkskin_ToolstripSplitArrowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitArrowTemplateConstructor* __vwsnctorthis_0); + __vwsnc212_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::ToolstripSplitArrowTemplate* __vwsn_bind_cache_2 = nullptr; + ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; @@ -10285,14 +10176,11 @@ Closures __vwsnc213_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10306,17 +10194,11 @@ Closures __vwsnc214_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::ToolstripButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10340,48 +10222,12 @@ Closures bool Close() override; }; - class __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; - - __vwsnc216_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::ToolstripButtonTemplate* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::ToolstripButtonTemplateConstructor* __vwsnthis_0; - - __vwsnc217_DarkSkin_darkskin_ToolstripButtonTemplateConstructor___vwsn_darkskin_ToolstripButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripButtonTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::ToolstripButtonTemplate* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc216_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_0 = nullptr; ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_1 = nullptr; @@ -10397,12 +10243,12 @@ Closures bool Close() override; }; - class __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc217_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_0 = nullptr; ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_1 = nullptr; @@ -10421,6 +10267,42 @@ Closures bool Close() override; }; + class __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + + __vwsnc218_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::ToolstripDropdownButtonTemplate* __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; + 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); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + + __vwsnc219_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::ToolstripDropdownButtonTemplate* __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; + 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); + bool Open() override; + bool Update() override; + bool Close() override; + }; + class __vwsnc21_DarkSkin_darkskin_RadioButtonTemplateConstructor___vwsn_darkskin_RadioButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: @@ -10465,11 +10347,17 @@ Closures __vwsnc221_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10482,24 +10370,6 @@ Closures __vwsnc222_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripDropdownButtonTemplate* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; - - __vwsnc223_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_0 = nullptr; ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_1 = nullptr; ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_2 = nullptr; @@ -10517,16 +10387,37 @@ Closures bool Close() override; }; - class __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; - __vwsnc224_DarkSkin_darkskin_ToolstripDropdownButtonTemplateConstructor___vwsn_darkskin_ToolstripDropdownButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripDropdownButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc223_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::ToolstripDropdownButtonTemplate* __vwsn_bind_cache_2 = nullptr; + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; + bool __vwsn_bind_opened_ = false; + bool __vwsn_bind_closed_ = false; + 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + bool Open() override; + bool Update() override; + bool Close() override; + }; + + class __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + { + public: + ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + + __vwsnc224_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; @@ -10549,14 +10440,11 @@ Closures __vwsnc225_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10570,17 +10458,11 @@ Closures __vwsnc226_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_2 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10612,11 +10494,14 @@ Closures __vwsnc228_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10658,35 +10543,41 @@ Closures bool Close() override; }; - class __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnc230_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc230_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_2 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_3 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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> __vwsn_bind_handler_3_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); + void __vwsn_bind_callback_3_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; }; - class __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription + class __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: - ::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnthis_0; + ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - __vwsnc231_DarkSkin_darkskin_ToolstripSplitButtonTemplateConstructor___vwsn_darkskin_ToolstripSplitButtonTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::ToolstripSplitButtonTemplateConstructor* __vwsnctorthis_0); + __vwsnc231_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - ::darkskin::ToolstripSplitButtonTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __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; @@ -10705,20 +10596,11 @@ Closures __vwsnc232_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_2 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_3 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __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> __vwsn_bind_handler_3_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_2_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - void __vwsn_bind_callback_3_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10750,11 +10632,14 @@ Closures __vwsnc234_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10786,14 +10671,11 @@ Closures __vwsnc236_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10933,11 +10815,14 @@ Closures __vwsnc243_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -10969,14 +10854,11 @@ Closures __vwsnc245_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -11008,11 +10890,14 @@ Closures __vwsnc247_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -11026,11 +10911,14 @@ Closures __vwsnc248_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; + ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; + ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -11086,14 +10974,11 @@ Closures __vwsnc250_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; bool __vwsn_bind_opened_ = false; bool __vwsn_bind_closed_ = false; 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); bool Open() override; bool Update() override; bool Close() override; @@ -11138,45 +11023,6 @@ Closures bool Close() override; }; - class __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnc253_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_0 = nullptr; - ::darkskin::CustomFrameWindowTemplate* __vwsn_bind_cache_1 = nullptr; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; - ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0; - bool __vwsn_bind_opened_ = false; - bool __vwsn_bind_closed_ = false; - 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_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1); - bool Open() override; - bool Update() override; - bool Close() override; - }; - - class __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription - { - public: - ::darkskin::CustomFrameWindowTemplateConstructor* __vwsnthis_0; - - __vwsnc254_DarkSkin_darkskin_CustomFrameWindowTemplateConstructor___vwsn_darkskin_CustomFrameWindowTemplate_Initialize__vl_reflection_description_IValueSubscription(::darkskin::CustomFrameWindowTemplateConstructor* __vwsnctorthis_0); - - ::darkskin::CustomFrameWindowTemplate* __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; - 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); - bool Open() override; - bool Update() override; - bool Close() override; - }; - class __vwsnc25_DarkSkin_darkskin_DocumentViewerTemplateConstructor___vwsn_darkskin_DocumentViewerTemplate_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription { public: diff --git a/Import/Skins/DarkSkin/DarkSkinReflection.cpp b/Import/Skins/DarkSkin/DarkSkinReflection.cpp index 28d51b9f..bb5cedd6 100644 --- a/Import/Skins/DarkSkin/DarkSkinReflection.cpp +++ b/Import/Skins/DarkSkin/DarkSkinReflection.cpp @@ -86,8 +86,6 @@ namespace vl IMPL_CPP_TYPE_INFO(darkskin::MenuItemButtonTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplate) IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplateConstructor) - IMPL_CPP_TYPE_INFO(darkskin::MultilineTextBoxTemplate) - IMPL_CPP_TYPE_INFO(darkskin::MultilineTextBoxTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplate) IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::RadioButtonTemplate) @@ -136,8 +134,6 @@ namespace vl IMPL_CPP_TYPE_INFO(darkskin::ScrollViewTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplate) IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplateConstructor) - IMPL_CPP_TYPE_INFO(darkskin::SinglelineTextBoxTemplate) - IMPL_CPP_TYPE_INFO(darkskin::SinglelineTextBoxTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplate) IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::TabHeaderButtonTemplate) @@ -674,23 +670,6 @@ namespace vl CLASS_MEMBER_FIELD(__vwsn_precompile_3) END_CLASS_MEMBER(::darkskin::MenuSplitterTemplateConstructor) - BEGIN_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplate) - CLASS_MEMBER_BASE(::vl::presentation::templates::GuiMultilineTextBoxTemplate) - CLASS_MEMBER_BASE(::darkskin::MultilineTextBoxTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::darkskin::MultilineTextBoxTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplate) - - BEGIN_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplateConstructor) - CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::MultilineTextBoxTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_darkskin_MultilineTextBoxTemplate_Initialize, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(look) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplateConstructor) - BEGIN_CLASS_MEMBER(::darkskin::ProgressBarTemplate) CLASS_MEMBER_BASE(::vl::presentation::templates::GuiScrollTemplate) CLASS_MEMBER_BASE(::darkskin::ProgressBarTemplateConstructor) @@ -1183,23 +1162,6 @@ namespace vl CLASS_MEMBER_FIELD(self) END_CLASS_MEMBER(::darkskin::ShortcutKeyTemplateConstructor) - BEGIN_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplate) - CLASS_MEMBER_BASE(::vl::presentation::templates::GuiSinglelineTextBoxTemplate) - CLASS_MEMBER_BASE(::darkskin::SinglelineTextBoxTemplateConstructor) - CLASS_MEMBER_CONSTRUCTOR(::darkskin::SinglelineTextBoxTemplate*(), NO_PARAMETER) - END_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplate) - - BEGIN_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplateConstructor) - CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject) - CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::SinglelineTextBoxTemplateConstructor>(), NO_PARAMETER) - CLASS_MEMBER_METHOD(__vwsn_darkskin_SinglelineTextBoxTemplate_Initialize, { L"__vwsn_this_" }) - CLASS_MEMBER_FIELD(__vwsn_precompile_0) - CLASS_MEMBER_FIELD(__vwsn_precompile_1) - CLASS_MEMBER_FIELD(__vwsn_precompile_2) - CLASS_MEMBER_FIELD(container) - CLASS_MEMBER_FIELD(self) - END_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplateConstructor) - BEGIN_CLASS_MEMBER(::darkskin::SystemFrameWindowTemplate) CLASS_MEMBER_BASE(::vl::presentation::templates::GuiWindowTemplate) CLASS_MEMBER_BASE(::darkskin::SystemFrameWindowTemplateConstructor) @@ -1660,8 +1622,6 @@ namespace vl ADD_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor) ADD_TYPE_INFO(::darkskin::MenuSplitterTemplate) ADD_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor) - ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplate) - ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor) ADD_TYPE_INFO(::darkskin::ProgressBarTemplate) ADD_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor) ADD_TYPE_INFO(::darkskin::RadioButtonTemplate) @@ -1710,8 +1670,6 @@ namespace vl ADD_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor) ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplate) ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor) - ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate) - ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor) ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplate) ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor) ADD_TYPE_INFO(::darkskin::TabHeaderButtonTemplate) diff --git a/Import/Skins/DarkSkin/DarkSkinReflection.h b/Import/Skins/DarkSkin/DarkSkinReflection.h index 270500f6..857436bc 100644 --- a/Import/Skins/DarkSkin/DarkSkinReflection.h +++ b/Import/Skins/DarkSkin/DarkSkinReflection.h @@ -99,8 +99,6 @@ namespace vl DECL_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor) DECL_TYPE_INFO(::darkskin::MenuSplitterTemplate) DECL_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor) - DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplate) - DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor) DECL_TYPE_INFO(::darkskin::ProgressBarTemplate) DECL_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor) DECL_TYPE_INFO(::darkskin::RadioButtonTemplate) @@ -149,8 +147,6 @@ namespace vl DECL_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor) DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplate) DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor) - DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate) - DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor) DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplate) DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor) DECL_TYPE_INFO(::darkskin::TabHeaderButtonTemplate) diff --git a/Import/Vlpp.Linux.cpp b/Import/Vlpp.Linux.cpp index c194c3f2..71efc0cc 100644 --- a/Import/Vlpp.Linux.cpp +++ b/Import/Vlpp.Linux.cpp @@ -80,7 +80,7 @@ namespace vl DateTime ***********************************************************************/ - class LinuxDateTimeImpl : public Object, public virtual IDateTimeImpl + class LinuxDateTimeImpl : public feature_injection::FeatureImpl { public: @@ -197,10 +197,9 @@ DateTime } }; - LinuxDateTimeImpl osDateTimeImpl; - IDateTimeImpl* GetOSDateTimeImpl() { + static LinuxDateTimeImpl osDateTimeImpl; return &osDateTimeImpl; } } diff --git a/Import/Vlpp.Windows.cpp b/Import/Vlpp.Windows.cpp index 3879761b..95bd0727 100644 --- a/Import/Vlpp.Windows.cpp +++ b/Import/Vlpp.Windows.cpp @@ -112,7 +112,7 @@ namespace vl DateTime ***********************************************************************/ - class WindowsDateTimeImpl : public Object, public virtual IDateTimeImpl + class WindowsDateTimeImpl : public feature_injection::FeatureImpl { public: @@ -234,10 +234,9 @@ DateTime } }; - WindowsDateTimeImpl osDateTimeImpl; - IDateTimeImpl* GetOSDateTimeImpl() { + static WindowsDateTimeImpl osDateTimeImpl; return &osDateTimeImpl; } } diff --git a/Import/Vlpp.cpp b/Import/Vlpp.cpp index e81f44ed..eda97eea 100644 --- a/Import/Vlpp.cpp +++ b/Import/Vlpp.cpp @@ -314,16 +314,27 @@ namespace vl { extern IDateTimeImpl* GetOSDateTimeImpl(); - IDateTimeImpl* dateTimeImpl = nullptr; - - IDateTimeImpl* GetDateTimeImpl() + feature_injection::FeatureInjection& GetDateTimeInjection() { - return dateTimeImpl ? dateTimeImpl : GetOSDateTimeImpl(); + static feature_injection::FeatureInjection injection(GetOSDateTimeImpl()); + return injection; } void InjectDateTimeImpl(IDateTimeImpl* impl) { - dateTimeImpl = impl; + GetDateTimeInjection().Inject(impl); + } + + void EjectDateTimeImpl(IDateTimeImpl* impl) + { + if (impl == nullptr) + { + GetDateTimeInjection().EjectAll(); + } + else + { + GetDateTimeInjection().Eject(impl); + } } /*********************************************************************** @@ -332,42 +343,42 @@ DateTime DateTime DateTime::LocalTime() { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalTime()); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalTime()); } DateTime DateTime::UtcTime() { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->UtcTime()); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->UtcTime()); } DateTime DateTime::FromDateTime(vint _year, vint _month, vint _day, vint _hour, vint _minute, vint _second, vint _milliseconds) { - return GetDateTimeImpl()->FromDateTime(_year, _month, _day, _hour, _minute, _second, _milliseconds); + return GetDateTimeInjection().Get()->FromDateTime(_year, _month, _day, _hour, _minute, _second, _milliseconds); } DateTime DateTime::FromOSInternal(vuint64_t _osInternal) { - return GetDateTimeImpl()->FromOSInternal(_osInternal); + return GetDateTimeInjection().Get()->FromOSInternal(_osInternal); } DateTime DateTime::ToLocalTime() { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->UtcToLocalTime(osInternal)); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->UtcToLocalTime(osInternal)); } DateTime DateTime::ToUtcTime() { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalToUtcTime(osInternal)); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalToUtcTime(osInternal)); } DateTime DateTime::Forward(vuint64_t milliseconds) { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->Forward(osInternal, milliseconds)); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->Forward(osInternal, milliseconds)); } DateTime DateTime::Backward(vuint64_t milliseconds) { - return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->Backward(osInternal, milliseconds)); + return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->Backward(osInternal, milliseconds)); } } diff --git a/Import/Vlpp.h b/Import/Vlpp.h index 113e3954..c5c2920d 100644 --- a/Import/Vlpp.h +++ b/Import/Vlpp.h @@ -311,6 +311,167 @@ Interface #endif +/*********************************************************************** +.\FEATUREINJECTION.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_FEATUREINJECTION +#define VCZH_FEATUREINJECTION + + +namespace vl +{ + namespace feature_injection + { + /// + /// Base interface for all feature injection implementations. + /// Provides lifecycle management and delegation support through linked list structure. + /// + class IFeatureImpl : public virtual Interface + { + public: + /// Get the previous implementation in the injection chain. + /// The previous implementation, or nullptr if this is the first in chain. + virtual IFeatureImpl* GetPreviousImpl() = 0; + + /// Begin injection lifecycle, called when this implementation becomes active. + /// The previously active implementation to delegate to. + virtual void BeginInjection(IFeatureImpl* previousImpl) = 0; + + /// End injection lifecycle, called when this implementation is being removed. + virtual void EndInjection() = 0; + }; + + /// + /// Default implementation template for IFeatureImpl providing type-safe delegation. + /// TImpl should be the actual feature interface that inherits from IFeatureImpl. + /// + template + requires std::is_base_of_v + class FeatureImpl : public Object, public virtual TImpl + { + private: + TImpl* _previousImpl = nullptr; + + public: + IFeatureImpl* GetPreviousImpl() override + { + return _previousImpl; + } + + void BeginInjection(IFeatureImpl* _previousImpl) override + { + TImpl* typedPrevious = nullptr; + if (_previousImpl != nullptr) + { + typedPrevious = dynamic_cast(_previousImpl); + CHECK_ERROR(typedPrevious != nullptr, L"vl::feature_injection::FeatureImpl::BeginInjection(IFeatureImpl*): Invalid previous implementation type."); + } + this->_previousImpl = typedPrevious; + BeginInjection(typedPrevious); + } + + void EndInjection() override + { + _previousImpl = nullptr; + } + + /// Type-safe injection hook for derived classes to override. + /// The type-safe previous implementation. + virtual void BeginInjection(TImpl* _previousImpl) + { + } + + protected: + /// Get the previous implementation with type safety. + /// The previous implementation, or nullptr if this is the first in chain. + TImpl* Previous() + { + return _previousImpl; // Already verified and cast during BeginInjection + } + }; + + /// + /// Template class for managing feature injection with type-safe operations. + /// Maintains a linked list of implementations and provides inject/eject functionality. + /// + template + requires std::is_base_of_v + class FeatureInjection + { + private: + IFeatureImpl* currentImpl; + + public: + /// Initialize with a default implementation. + /// The default implementation, must not be nullptr. + FeatureInjection(TImpl* defaultImpl) + : currentImpl(defaultImpl) + { + CHECK_ERROR(defaultImpl != nullptr, L"vl::feature_injection::FeatureInjection::FeatureInjection(TImpl*): Default implementation cannot be nullptr."); + } + + /// Get the current active implementation. + /// The current implementation, never nullptr after proper initialization. + TImpl* Get() + { + return dynamic_cast(currentImpl); + } + + /// Inject a new implementation, making it the current active one. + /// The implementation to inject, must not be nullptr. + void Inject(TImpl* impl) + { + CHECK_ERROR(impl != nullptr, L"vl::feature_injection::FeatureInjection::Inject(TImpl*): Implementation cannot be nullptr."); + dynamic_cast(impl)->BeginInjection(currentImpl); + currentImpl = impl; + } + + /// Eject an implementation from the chain, restoring previous implementations. + /// The implementation to eject. + void Eject(TImpl* impl) + { + CHECK_ERROR(impl != nullptr, L"vl::feature_injection::FeatureInjection::Eject(TImpl*): Implementation cannot be nullptr."); + + // Eject all implementations from currentImpl down to impl + auto toEject = currentImpl; + while (true) + { + CHECK_ERROR(toEject != nullptr, L"vl::feature_injection::FeatureInjection::Eject(TImpl*): Implementation not found in chain."); + + auto next = toEject->GetPreviousImpl(); + toEject->EndInjection(); + + if (toEject == impl) + { + currentImpl = next; + break; + } + + toEject = next; + } + } + + /// Eject all implementations, restoring the default implementation. + void EjectAll() + { + while (currentImpl->GetPreviousImpl() != nullptr) + { + auto toEject = currentImpl; + currentImpl = currentImpl->GetPreviousImpl(); + toEject->EndInjection(); + } + } + }; + } +} + +#endif + /*********************************************************************** .\COLLECTIONS\PAIR.H ***********************************************************************/ @@ -582,7 +743,7 @@ Date and Time } }; - class IDateTimeImpl : public virtual Interface + class IDateTimeImpl : public virtual feature_injection::IFeatureImpl { public: virtual DateTime FromDateTime(vint _year, vint _month, vint _day, vint _hour, vint _minute, vint _second, vint _milliseconds) = 0; @@ -596,6 +757,7 @@ Date and Time }; extern void InjectDateTimeImpl(IDateTimeImpl* impl); + extern void EjectDateTimeImpl(IDateTimeImpl* impl); } #endif diff --git a/Import/VlppOS.Linux.cpp b/Import/VlppOS.Linux.cpp index 7d2d1f82..e8194e6e 100644 --- a/Import/VlppOS.Linux.cpp +++ b/Import/VlppOS.Linux.cpp @@ -37,7 +37,7 @@ namespace vl LinuxFileSystemImpl ***********************************************************************/ - class LinuxFileSystemImpl : public Object, public virtual IFileSystemImpl + class LinuxFileSystemImpl : public feature_injection::FeatureImpl { public: // FilePath operations implementation @@ -251,10 +251,9 @@ LinuxFileSystemImpl Global FileSystem Implementation ***********************************************************************/ - LinuxFileSystemImpl osFileSystemImpl; - IFileSystemImpl* GetOSFileSystemImpl() { + static LinuxFileSystemImpl osFileSystemImpl; return &osFileSystemImpl; } } @@ -278,7 +277,8 @@ namespace vl { ILocaleImpl* GetOSLocaleImpl() { - return GetDefaultLocaleImpl(); + static EnUsLocaleImpl linuxLocaleImpl; + return &linuxLocaleImpl; } } diff --git a/Import/VlppOS.Windows.cpp b/Import/VlppOS.Windows.cpp index 3971af29..d08c6cfe 100644 --- a/Import/VlppOS.Windows.cpp +++ b/Import/VlppOS.Windows.cpp @@ -38,7 +38,7 @@ namespace vl WindowsFileSystemImpl ***********************************************************************/ - class WindowsFileSystemImpl : public Object, public virtual IFileSystemImpl + class WindowsFileSystemImpl : public feature_injection::FeatureImpl { public: void Initialize(WString& fullPath) const override @@ -267,10 +267,9 @@ WindowsFileSystemImpl } }; - WindowsFileSystemImpl osFileSystemImpl; - IFileSystemImpl* GetOSFileSystemImpl() { + static WindowsFileSystemImpl osFileSystemImpl; return &osFileSystemImpl; } } @@ -711,7 +710,7 @@ Locale Helper Functions WindowsLocaleImpl ***********************************************************************/ - class WindowsLocaleImpl : public Object, public ILocaleImpl + class WindowsLocaleImpl : public feature_injection::FeatureImpl { public: Locale Invariant() const override @@ -898,10 +897,9 @@ WindowsLocaleImpl } }; - WindowsLocaleImpl windowsLocaleImpl; - ILocaleImpl* GetOSLocaleImpl() { + static WindowsLocaleImpl windowsLocaleImpl; return &windowsLocaleImpl; } diff --git a/Import/VlppOS.cpp b/Import/VlppOS.cpp index 34387871..3b4d4bd9 100644 --- a/Import/VlppOS.cpp +++ b/Import/VlppOS.cpp @@ -443,16 +443,32 @@ namespace vl { extern IFileSystemImpl* GetOSFileSystemImpl(); - IFileSystemImpl* injectedFileSystemImpl = nullptr; + feature_injection::FeatureInjection& GetFileSystemInjection() + { + static feature_injection::FeatureInjection injection(GetOSFileSystemImpl()); + return injection; + } void InjectFileSystemImpl(IFileSystemImpl* impl) { - injectedFileSystemImpl = impl; + GetFileSystemInjection().Inject(impl); } IFileSystemImpl* GetFileSystemImpl() { - return injectedFileSystemImpl ? injectedFileSystemImpl : GetOSFileSystemImpl(); + return GetFileSystemInjection().Get(); + } + + void EjectFileSystemImpl(IFileSystemImpl* impl) + { + if (impl == nullptr) + { + GetFileSystemInjection().EjectAll(); + } + else + { + GetFileSystemInjection().Eject(impl); + } } /*********************************************************************** @@ -542,22 +558,8 @@ namespace vl { using namespace collections; - extern ILocaleImpl* GetOSLocaleImpl(); - - ILocaleImpl* localeImpl = nullptr; - - ILocaleImpl* GetLocaleImpl() - { - return localeImpl ? localeImpl : GetOSLocaleImpl(); - } - - void InjectLocaleImpl(ILocaleImpl* impl) - { - localeImpl = impl; - } - /*********************************************************************** -DefaultLocaleImpl +EnUsLocaleImpl ***********************************************************************/ #ifdef VCZH_GCC @@ -565,403 +567,421 @@ DefaultLocaleImpl #define _wcsnicmp wcsncasecmp #endif - class DefaultLocaleImpl : public Object, public ILocaleImpl + Locale EnUsLocaleImpl::Invariant() const { - public: - Locale Invariant() const override - { - return Locale(L""); - } + return Locale(L""); + } - Locale SystemDefault() const override - { - return Locale(L"en-US"); - } + Locale EnUsLocaleImpl::SystemDefault() const + { + return Locale(L"en-US"); + } - Locale UserDefault() const override - { - return Locale(L"en-US"); - } + Locale EnUsLocaleImpl::UserDefault() const + { + return Locale(L"en-US"); + } - void Enumerate(List& locales) const override - { - locales.Add(Locale(L"en-US")); - } + void EnUsLocaleImpl::Enumerate(List& locales) const + { + locales.Add(Locale(L"en-US")); + } - void GetShortDateFormats(const WString&, List& formats) const override - { - formats.Add(L"MM/dd/yyyy"); - formats.Add(L"yyyy-MM-dd"); - } + void EnUsLocaleImpl::GetShortDateFormats(const WString&, List& formats) const + { + formats.Add(L"MM/dd/yyyy"); + formats.Add(L"yyyy-MM-dd"); + } - void GetLongDateFormats(const WString&, List& formats) const override - { - formats.Add(L"dddd, dd MMMM yyyy"); - } + void EnUsLocaleImpl::GetLongDateFormats(const WString&, List& formats) const + { + formats.Add(L"dddd, dd MMMM yyyy"); + } - void GetYearMonthDateFormats(const WString&, List& formats) const override - { - formats.Add(L"yyyy MMMM"); - } + void EnUsLocaleImpl::GetYearMonthDateFormats(const WString&, List& formats) const + { + formats.Add(L"yyyy MMMM"); + } - void GetLongTimeFormats(const WString&, List& formats) const override - { - formats.Add(L"HH:mm:ss"); - } + void EnUsLocaleImpl::GetLongTimeFormats(const WString&, List& formats) const + { + formats.Add(L"HH:mm:ss"); + } - void GetShortTimeFormats(const WString&, List& formats) const override - { - formats.Add(L"HH:mm"); - formats.Add(L"hh:mm tt"); - } + void EnUsLocaleImpl::GetShortTimeFormats(const WString&, List& formats) const + { + formats.Add(L"HH:mm"); + formats.Add(L"hh:mm tt"); + } - WString FormatDate(const WString& localeName, const WString& format, DateTime date) const override - { - /* - auto df = L"yyyy,MM,MMM,MMMM,dd,ddd,dddd"; - auto ds = L"2000,01,Jan,January,02,Sun,Sunday"; - auto tf = L"hh,HH,mm,ss,tt"; - auto ts = L"01,13,02,03,PM"; - */ + WString EnUsLocaleImpl::FormatDate(const WString& localeName, const WString& format, DateTime date) const + { + /* + auto df = L"yyyy,MM,MMM,MMMM,dd,ddd,dddd"; + auto ds = L"2000,01,Jan,January,02,Sun,Sunday"; + auto tf = L"hh,HH,mm,ss,tt"; + auto ts = L"01,13,02,03,PM"; + */ - WString result; - const wchar_t* reading = format.Buffer(); - while (*reading) + WString result; + const wchar_t* reading = format.Buffer(); + while (*reading) + { + if (wcsncmp(reading, L"yyyy", 4) == 0) { - if (wcsncmp(reading, L"yyyy", 4) == 0) + WString fragment = itow(date.year); + while (fragment.Length() < 4) fragment = L"0" + fragment; + result += fragment; + reading += 4; + } + else if (wcsncmp(reading, L"MMMM", 4) == 0) + { + result += GetLongMonthName(localeName, date.month); + reading += 4; + } + else if (wcsncmp(reading, L"MMM", 3) == 0) + { + result += GetShortMonthName(localeName, date.month); + reading += 3; + } + else if (wcsncmp(reading, L"MM", 2) == 0) + { + WString fragment = itow(date.month); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"dddd", 4) == 0) + { + result += GetLongDayOfWeekName(localeName, date.dayOfWeek); + reading += 4; + } + else if (wcsncmp(reading, L"ddd", 3) == 0) + { + result += GetShortDayOfWeekName(localeName, date.dayOfWeek); + reading += 3; + } + else if (wcsncmp(reading, L"dd", 2) == 0) + { + WString fragment = itow(date.day); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"hh", 2) == 0) + { + WString fragment = itow(date.hour > 12 ? date.hour - 12 : date.hour); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"HH", 2) == 0) + { + WString fragment = itow(date.hour); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"mm", 2) == 0) + { + WString fragment = itow(date.minute); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"ss", 2) == 0) + { + WString fragment = itow(date.second); + while (fragment.Length() < 2) fragment = L"0" + fragment; + result += fragment; + reading += 2; + } + else if (wcsncmp(reading, L"tt", 2) == 0) + { + result += date.hour > 12 ? L"PM" : L"AM"; + reading += 2; + } + else + { + result += WString::FromChar(*reading); + reading++; + } + } + return result; + } + + WString EnUsLocaleImpl::FormatTime(const WString& localeName, const WString& format, DateTime time) const + { + return FormatDate(localeName, format, time); + } + + WString EnUsLocaleImpl::FormatNumber(const WString&, const WString& number) const + { + return number; + } + + WString EnUsLocaleImpl::FormatCurrency(const WString&, const WString& currency) const + { + return currency; + } + + WString EnUsLocaleImpl::GetShortDayOfWeekName(const WString&, vint dayOfWeek) const + { + switch (dayOfWeek) + { + case 0: return L"Sun"; + case 1: return L"Mon"; + case 2: return L"Tue"; + case 3: return L"Wed"; + case 4: return L"Thu"; + case 5: return L"Fri"; + case 6: return L"Sat"; + } + return L""; + } + + WString EnUsLocaleImpl::GetLongDayOfWeekName(const WString&, vint dayOfWeek) const + { + switch (dayOfWeek) + { + case 0: return L"Sunday"; + case 1: return L"Monday"; + case 2: return L"Tuesday"; + case 3: return L"Wednesday"; + case 4: return L"Thursday"; + case 5: return L"Friday"; + case 6: return L"Saturday"; + } + return L""; + } + + WString EnUsLocaleImpl::GetShortMonthName(const WString&, vint month) const + { + switch (month) + { + case 1: return L"Jan"; + case 2: return L"Feb"; + case 3: return L"Mar"; + case 4: return L"Apr"; + case 5: return L"May"; + case 6: return L"Jun"; + case 7: return L"Jul"; + case 8: return L"Aug"; + case 9: return L"Sep"; + case 10: return L"Oct"; + case 11: return L"Nov"; + case 12: return L"Dec"; + } + return L""; + } + + WString EnUsLocaleImpl::GetLongMonthName(const WString&, vint month) const + { + switch (month) + { + case 1: return L"January"; + case 2: return L"February"; + case 3: return L"March"; + case 4: return L"April"; + case 5: return L"May"; + case 6: return L"June"; + case 7: return L"July"; + case 8: return L"August"; + case 9: return L"September"; + case 10: return L"October"; + case 11: return L"November"; + case 12: return L"December"; + } + return L""; + } + + WString EnUsLocaleImpl::ToLower(const WString&, const WString& str) const + { + return wlower(str); + } + + WString EnUsLocaleImpl::ToUpper(const WString&, const WString& str) const + { + return wupper(str); + } + + WString EnUsLocaleImpl::ToLinguisticLower(const WString&, const WString& str) const + { + return wlower(str); + } + + WString EnUsLocaleImpl::ToLinguisticUpper(const WString&, const WString& str) const + { + return wupper(str); + } + + vint EnUsLocaleImpl::Compare(const WString&, const WString& s1, const WString& s2, Locale::Normalization normalization) const + { + switch (normalization) + { + case Locale::Normalization::None: + return wcscmp(s1.Buffer(), s2.Buffer()); + case Locale::Normalization::IgnoreCase: + return _wcsicmp(s1.Buffer(), s2.Buffer()); + default: + return 0; + } + } + + vint EnUsLocaleImpl::CompareOrdinal(const WString& s1, const WString& s2) const + { + return wcscmp(s1.Buffer(), s2.Buffer()); + } + + vint EnUsLocaleImpl::CompareOrdinalIgnoreCase(const WString& s1, const WString& s2) const + { + return _wcsicmp(s1.Buffer(), s2.Buffer()); + } + + Pair EnUsLocaleImpl::FindFirst(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const + { + if (text.Length() < find.Length() || find.Length() == 0) + { + return Pair(-1, 0); + } + const wchar_t* result = nullptr; + switch (normalization) + { + case Locale::Normalization::None: + { + const wchar_t* reading = text.Buffer(); + while (*reading) { - WString fragment = itow(date.year); - while (fragment.Length() < 4) fragment = L"0" + fragment; - result += fragment; - reading += 4; - } - else if (wcsncmp(reading, L"MMMM", 4) == 0) - { - result += GetLongMonthName(localeName, date.month); - reading += 4; - } - else if (wcsncmp(reading, L"MMM", 3) == 0) - { - result += GetShortMonthName(localeName, date.month); - reading += 3; - } - else if (wcsncmp(reading, L"MM", 2) == 0) - { - WString fragment = itow(date.month); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"dddd", 4) == 0) - { - result += GetLongDayOfWeekName(localeName, date.dayOfWeek); - reading += 4; - } - else if (wcsncmp(reading, L"ddd", 3) == 0) - { - result += GetShortDayOfWeekName(localeName, date.dayOfWeek); - reading += 3; - } - else if (wcsncmp(reading, L"dd", 2) == 0) - { - WString fragment = itow(date.day); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"hh", 2) == 0) - { - WString fragment = itow(date.hour > 12 ? date.hour - 12 : date.hour); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"HH", 2) == 0) - { - WString fragment = itow(date.hour); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"mm", 2) == 0) - { - WString fragment = itow(date.minute); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"ss", 2) == 0) - { - WString fragment = itow(date.second); - while (fragment.Length() < 2) fragment = L"0" + fragment; - result += fragment; - reading += 2; - } - else if (wcsncmp(reading, L"tt", 2) == 0) - { - result += date.hour > 12 ? L"PM" : L"AM"; - reading += 2; - } - else - { - result += WString::FromChar(*reading); + if (wcsncmp(reading, find.Buffer(), find.Length()) == 0) + { + result = reading; + break; + } reading++; } } - return result; - } - - WString FormatTime(const WString& localeName, const WString& format, DateTime time) const override - { - return FormatDate(localeName, format, time); - } - - WString FormatNumber(const WString&, const WString& number) const override - { - return number; - } - - WString FormatCurrency(const WString&, const WString& currency) const override - { - return currency; - } - - WString GetShortDayOfWeekName(const WString&, vint dayOfWeek) const override - { - switch (dayOfWeek) + break; + case Locale::Normalization::IgnoreCase: { - case 0: return L"Sun"; - case 1: return L"Mon"; - case 2: return L"Tue"; - case 3: return L"Wed"; - case 4: return L"Thu"; - case 5: return L"Fri"; - case 6: return L"Sat"; - } - return L""; - } - - WString GetLongDayOfWeekName(const WString&, vint dayOfWeek) const override - { - switch (dayOfWeek) - { - case 0: return L"Sunday"; - case 1: return L"Monday"; - case 2: return L"Tuesday"; - case 3: return L"Wednesday"; - case 4: return L"Thursday"; - case 5: return L"Friday"; - case 6: return L"Saturday"; - } - return L""; - } - - WString GetShortMonthName(const WString&, vint month) const override - { - switch (month) - { - case 1: return L"Jan"; - case 2: return L"Feb"; - case 3: return L"Mar"; - case 4: return L"Apr"; - case 5: return L"May"; - case 6: return L"Jun"; - case 7: return L"Jul"; - case 8: return L"Aug"; - case 9: return L"Sep"; - case 10: return L"Oct"; - case 11: return L"Nov"; - case 12: return L"Dec"; - } - return L""; - } - - WString GetLongMonthName(const WString&, vint month) const override - { - switch (month) - { - case 1: return L"January"; - case 2: return L"February"; - case 3: return L"March"; - case 4: return L"April"; - case 5: return L"May"; - case 6: return L"June"; - case 7: return L"July"; - case 8: return L"August"; - case 9: return L"September"; - case 10: return L"October"; - case 11: return L"November"; - case 12: return L"December"; - } - return L""; - } - - WString ToLower(const WString&, const WString& str) const override - { - return wlower(str); - } - - WString ToUpper(const WString&, const WString& str) const override - { - return wupper(str); - } - - WString ToLinguisticLower(const WString&, const WString& str) const override - { - return wlower(str); - } - - WString ToLinguisticUpper(const WString&, const WString& str) const override - { - return wupper(str); - } - - vint Compare(const WString&, const WString& s1, const WString& s2, Locale::Normalization normalization) const override - { - switch (normalization) - { - case Locale::Normalization::None: - return wcscmp(s1.Buffer(), s2.Buffer()); - case Locale::Normalization::IgnoreCase: - return _wcsicmp(s1.Buffer(), s2.Buffer()); - default: - return 0; - } - } - - vint CompareOrdinal(const WString& s1, const WString& s2) const override - { - return wcscmp(s1.Buffer(), s2.Buffer()); - } - - vint CompareOrdinalIgnoreCase(const WString& s1, const WString& s2) const override - { - return _wcsicmp(s1.Buffer(), s2.Buffer()); - } - - Pair FindFirst(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override - { - if (text.Length() < find.Length() || find.Length() == 0) - { - return Pair(-1, 0); - } - const wchar_t* result = nullptr; - switch (normalization) - { - case Locale::Normalization::None: + const wchar_t* reading = text.Buffer(); + while (*reading) { - const wchar_t* reading = text.Buffer(); - while (*reading) + if (_wcsnicmp(reading, find.Buffer(), find.Length()) == 0) { - if (wcsncmp(reading, find.Buffer(), find.Length()) == 0) - { - result = reading; - break; - } - reading++; + result = reading; + break; } + reading++; } - break; - case Locale::Normalization::IgnoreCase: - { - const wchar_t* reading = text.Buffer(); - while (*reading) - { - if (_wcsnicmp(reading, find.Buffer(), find.Length()) == 0) - { - result = reading; - break; - } - reading++; - } - } - break; } - return result == nullptr ? Pair(-1, 0) : Pair(result - text.Buffer(), find.Length()); + break; } + return result == nullptr ? Pair(-1, 0) : Pair(result - text.Buffer(), find.Length()); + } - Pair FindLast(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override + Pair EnUsLocaleImpl::FindLast(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const + { + if (text.Length() < find.Length() || find.Length() == 0) { - if (text.Length() < find.Length() || find.Length() == 0) - { - return Pair(-1, 0); - } - const wchar_t* result = nullptr; - switch (normalization) - { - case Locale::Normalization::None: - { - const wchar_t* reading = text.Buffer(); - while (*reading) - { - if (wcsncmp(reading, find.Buffer(), find.Length()) == 0) - { - result = reading; - } - reading++; - } - } - break; - case Locale::Normalization::IgnoreCase: - { - const wchar_t* reading = text.Buffer(); - while (*reading) - { - if (_wcsnicmp(reading, find.Buffer(), find.Length()) == 0) - { - result = reading; - } - reading++; - } - } - break; - } - return result == nullptr ? Pair(-1, 0) : Pair(result - text.Buffer(), find.Length()); + return Pair(-1, 0); } - - bool StartsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override + const wchar_t* result = nullptr; + switch (normalization) { - if (text.Length() < find.Length() || find.Length() == 0) + case Locale::Normalization::None: { - return false; + const wchar_t* reading = text.Buffer(); + while (*reading) + { + if (wcsncmp(reading, find.Buffer(), find.Length()) == 0) + { + result = reading; + } + reading++; + } } - switch (normalization) + break; + case Locale::Normalization::IgnoreCase: { - case Locale::Normalization::None: - return wcsncmp(text.Buffer(), find.Buffer(), find.Length()) == 0; - case Locale::Normalization::IgnoreCase: - return _wcsnicmp(text.Buffer(), find.Buffer(), find.Length()) == 0; + const wchar_t* reading = text.Buffer(); + while (*reading) + { + if (_wcsnicmp(reading, find.Buffer(), find.Length()) == 0) + { + result = reading; + } + reading++; + } } + break; + } + return result == nullptr ? Pair(-1, 0) : Pair(result - text.Buffer(), find.Length()); + } + + bool EnUsLocaleImpl::StartsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const + { + if (text.Length() < find.Length() || find.Length() == 0) + { return false; } - - bool EndsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override + switch (normalization) + { + case Locale::Normalization::None: + return wcsncmp(text.Buffer(), find.Buffer(), find.Length()) == 0; + case Locale::Normalization::IgnoreCase: + return _wcsnicmp(text.Buffer(), find.Buffer(), find.Length()) == 0; + } + return false; + } + + bool EnUsLocaleImpl::EndsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const + { + if (text.Length() < find.Length() || find.Length() == 0) { - if (text.Length() < find.Length() || find.Length() == 0) - { - return false; - } - switch (normalization) - { - case Locale::Normalization::None: - return wcsncmp(text.Buffer() + text.Length() - find.Length(), find.Buffer(), find.Length()) == 0; - case Locale::Normalization::IgnoreCase: - return _wcsnicmp(text.Buffer() + text.Length() - find.Length(), find.Buffer(), find.Length()) == 0; - } return false; } - }; + switch (normalization) + { + case Locale::Normalization::None: + return wcsncmp(text.Buffer() + text.Length() - find.Length(), find.Buffer(), find.Length()) == 0; + case Locale::Normalization::IgnoreCase: + return _wcsnicmp(text.Buffer() + text.Length() - find.Length(), find.Buffer(), find.Length()) == 0; + } + return false; + } #ifdef VCZH_GCC #undef _wcsicmp #undef _wcsnicmp #endif - DefaultLocaleImpl defaultLocaleImpl; +/*********************************************************************** +InjectLocaleImpl +***********************************************************************/ - ILocaleImpl* GetDefaultLocaleImpl() + extern ILocaleImpl* GetOSLocaleImpl(); + + feature_injection::FeatureInjection& GetLocaleInjection() { - return &defaultLocaleImpl; + static feature_injection::FeatureInjection injection(GetOSLocaleImpl()); + return injection; + } + + void InjectLocaleImpl(ILocaleImpl* impl) + { + GetLocaleInjection().Inject(impl); + } + + void EjectLocaleImpl(ILocaleImpl* impl) + { + if (impl == nullptr) + { + GetLocaleInjection().EjectAll(); + } + else + { + GetLocaleInjection().Eject(impl); + } } /*********************************************************************** @@ -984,22 +1004,22 @@ Locale (static) Locale Locale::Invariant() { - return GetDefaultLocaleImpl()->Invariant(); + return GetLocaleInjection().Get()->Invariant(); } Locale Locale::SystemDefault() { - return GetDefaultLocaleImpl()->SystemDefault(); + return GetLocaleInjection().Get()->SystemDefault(); } Locale Locale::UserDefault() { - return GetDefaultLocaleImpl()->UserDefault(); + return GetLocaleInjection().Get()->UserDefault(); } void Locale::Enumerate(collections::List& locales) { - GetDefaultLocaleImpl()->Enumerate(locales); + GetLocaleInjection().Get()->Enumerate(locales); } /*********************************************************************** @@ -1008,122 +1028,122 @@ Locale (ILocaleImpl redirections) void Locale::GetShortDateFormats(collections::List& formats)const { - GetDefaultLocaleImpl()->GetShortDateFormats(localeName, formats); + GetLocaleInjection().Get()->GetShortDateFormats(localeName, formats); } void Locale::GetLongDateFormats(collections::List& formats)const { - GetDefaultLocaleImpl()->GetLongDateFormats(localeName, formats); + GetLocaleInjection().Get()->GetLongDateFormats(localeName, formats); } void Locale::GetYearMonthDateFormats(collections::List& formats)const { - GetDefaultLocaleImpl()->GetYearMonthDateFormats(localeName, formats); + GetLocaleInjection().Get()->GetYearMonthDateFormats(localeName, formats); } void Locale::GetLongTimeFormats(collections::List& formats)const { - GetDefaultLocaleImpl()->GetLongTimeFormats(localeName, formats); + GetLocaleInjection().Get()->GetLongTimeFormats(localeName, formats); } void Locale::GetShortTimeFormats(collections::List& formats)const { - GetDefaultLocaleImpl()->GetShortTimeFormats(localeName, formats); + GetLocaleInjection().Get()->GetShortTimeFormats(localeName, formats); } WString Locale::FormatDate(const WString& format, DateTime date)const { - return GetDefaultLocaleImpl()->FormatDate(localeName, format, date); + return GetLocaleInjection().Get()->FormatDate(localeName, format, date); } WString Locale::FormatTime(const WString& format, DateTime time)const { - return GetDefaultLocaleImpl()->FormatTime(localeName, format, time); + return GetLocaleInjection().Get()->FormatTime(localeName, format, time); } WString Locale::FormatNumber(const WString& number)const { - return GetDefaultLocaleImpl()->FormatNumber(localeName, number); + return GetLocaleInjection().Get()->FormatNumber(localeName, number); } WString Locale::FormatCurrency(const WString& currency)const { - return GetDefaultLocaleImpl()->FormatCurrency(localeName, currency); + return GetLocaleInjection().Get()->FormatCurrency(localeName, currency); } WString Locale::GetShortDayOfWeekName(vint dayOfWeek)const { - return GetDefaultLocaleImpl()->GetShortDayOfWeekName(localeName, dayOfWeek); + return GetLocaleInjection().Get()->GetShortDayOfWeekName(localeName, dayOfWeek); } WString Locale::GetLongDayOfWeekName(vint dayOfWeek)const { - return GetDefaultLocaleImpl()->GetLongDayOfWeekName(localeName, dayOfWeek); + return GetLocaleInjection().Get()->GetLongDayOfWeekName(localeName, dayOfWeek); } WString Locale::GetShortMonthName(vint month)const { - return GetDefaultLocaleImpl()->GetShortMonthName(localeName, month); + return GetLocaleInjection().Get()->GetShortMonthName(localeName, month); } WString Locale::GetLongMonthName(vint month)const { - return GetDefaultLocaleImpl()->GetLongMonthName(localeName, month); + return GetLocaleInjection().Get()->GetLongMonthName(localeName, month); } WString Locale::ToLower(const WString& str)const { - return GetDefaultLocaleImpl()->ToLower(localeName, str); + return GetLocaleInjection().Get()->ToLower(localeName, str); } WString Locale::ToUpper(const WString& str)const { - return GetDefaultLocaleImpl()->ToUpper(localeName, str); + return GetLocaleInjection().Get()->ToUpper(localeName, str); } WString Locale::ToLinguisticLower(const WString& str)const { - return GetDefaultLocaleImpl()->ToLinguisticLower(localeName, str); + return GetLocaleInjection().Get()->ToLinguisticLower(localeName, str); } WString Locale::ToLinguisticUpper(const WString& str)const { - return GetDefaultLocaleImpl()->ToLinguisticUpper(localeName, str); + return GetLocaleInjection().Get()->ToLinguisticUpper(localeName, str); } vint Locale::Compare(const WString& s1, const WString& s2, Normalization normalization)const { - return GetDefaultLocaleImpl()->Compare(localeName, s1, s2, normalization); + return GetLocaleInjection().Get()->Compare(localeName, s1, s2, normalization); } vint Locale::CompareOrdinal(const WString& s1, const WString& s2)const { - return GetDefaultLocaleImpl()->CompareOrdinal(s1, s2); + return GetLocaleInjection().Get()->CompareOrdinal(s1, s2); } vint Locale::CompareOrdinalIgnoreCase(const WString& s1, const WString& s2)const { - return GetDefaultLocaleImpl()->CompareOrdinalIgnoreCase(s1, s2); + return GetLocaleInjection().Get()->CompareOrdinalIgnoreCase(s1, s2); } collections::Pair Locale::FindFirst(const WString& text, const WString& find, Normalization normalization)const { - return GetDefaultLocaleImpl()->FindFirst(localeName, text, find, normalization); + return GetLocaleInjection().Get()->FindFirst(localeName, text, find, normalization); } collections::Pair Locale::FindLast(const WString& text, const WString& find, Normalization normalization)const { - return GetDefaultLocaleImpl()->FindLast(localeName, text, find, normalization); + return GetLocaleInjection().Get()->FindLast(localeName, text, find, normalization); } bool Locale::StartsWith(const WString& text, const WString& find, Normalization normalization)const { - return GetDefaultLocaleImpl()->StartsWith(localeName, text, find, normalization); + return GetLocaleInjection().Get()->StartsWith(localeName, text, find, normalization); } bool Locale::EndsWith(const WString& text, const WString& find, Normalization normalization)const { - return GetDefaultLocaleImpl()->EndsWith(localeName, text, find, normalization); + return GetLocaleInjection().Get()->EndsWith(localeName, text, find, normalization); } } diff --git a/Import/VlppOS.h b/Import/VlppOS.h index 0c7ee547..4a4905a7 100644 --- a/Import/VlppOS.h +++ b/Import/VlppOS.h @@ -149,6 +149,10 @@ Licensed under https://github.com/vczh-libraries/License namespace vl { +/*********************************************************************** +Locale +***********************************************************************/ + /// Locale awared operations. Macro "INVLOC" is a shortcut to get a invariant locale. /// ///

@@ -406,8 +410,12 @@ namespace vl #define INVLOC vl::Locale::Invariant() +/*********************************************************************** +ILocaleImpl +***********************************************************************/ + ///

Platform-specific locale implementation interface. - class ILocaleImpl : public virtual Interface + class ILocaleImpl : public virtual feature_injection::IFeatureImpl { public: virtual Locale Invariant() const = 0; @@ -445,8 +453,51 @@ namespace vl virtual bool EndsWith(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const = 0; }; - extern ILocaleImpl* GetDefaultLocaleImpl(); extern void InjectLocaleImpl(ILocaleImpl* impl); + extern void EjectLocaleImpl(ILocaleImpl* impl); + +/*********************************************************************** +EnUsLocaleImpl +***********************************************************************/ + + /// A platform independent implementation that only supports en-US. + class EnUsLocaleImpl : public feature_injection::FeatureImpl + { + public: + Locale Invariant() const override; + Locale SystemDefault() const override; + Locale UserDefault() const override; + void Enumerate(collections::List& locales) const override; + + void GetShortDateFormats(const WString& localeName, collections::List& formats) const override; + void GetLongDateFormats(const WString& localeName, collections::List& formats) const override; + void GetYearMonthDateFormats(const WString& localeName, collections::List& formats) const override; + void GetLongTimeFormats(const WString& localeName, collections::List& formats) const override; + void GetShortTimeFormats(const WString& localeName, collections::List& formats) const override; + + WString FormatDate(const WString& localeName, const WString& format, DateTime date) const override; + WString FormatTime(const WString& localeName, const WString& format, DateTime time) const override; + WString FormatNumber(const WString& localeName, const WString& number) const override; + WString FormatCurrency(const WString& localeName, const WString& currency) const override; + + WString GetShortDayOfWeekName(const WString& localeName, vint dayOfWeek) const override; + WString GetLongDayOfWeekName(const WString& localeName, vint dayOfWeek) const override; + WString GetShortMonthName(const WString& localeName, vint month) const override; + WString GetLongMonthName(const WString& localeName, vint month) const override; + + WString ToLower(const WString& localeName, const WString& str) const override; + WString ToUpper(const WString& localeName, const WString& str) const override; + WString ToLinguisticLower(const WString& localeName, const WString& str) const override; + WString ToLinguisticUpper(const WString& localeName, const WString& str) const override; + + vint Compare(const WString& localeName, const WString& s1, const WString& s2, Locale::Normalization normalization) const override; + vint CompareOrdinal(const WString& s1, const WString& s2) const override; + vint CompareOrdinalIgnoreCase(const WString& s1, const WString& s2) const override; + collections::Pair FindFirst(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const override; + collections::Pair FindLast(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const override; + bool StartsWith(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const override; + bool EndsWith(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const override; + }; } #endif @@ -2620,7 +2671,7 @@ namespace vl }; /// Platform-specific file system implementation interface. - class IFileSystemImpl : public virtual Interface + class IFileSystemImpl : public virtual feature_injection::IFeatureImpl { public: // FilePath operations @@ -2646,6 +2697,7 @@ namespace vl }; extern void InjectFileSystemImpl(IFileSystemImpl* impl); + extern void EjectFileSystemImpl(IFileSystemImpl* impl); } } diff --git a/Tools/Reflection32.bin b/Tools/Reflection32.bin index ebe1ff88cabec9bbbb8103d9d54b194d97b6821b..e6fdc20cfa972f8cb42898bc693ca8cf9dd7a4f7 100644 GIT binary patch literal 956937 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

SopK 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%0A(4sFD#^x4RcYV;JxSV}O;t0qGK9 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%0A`HbkemWU8a1;T4Cg=ssAua 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�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 L{}?LZtLXm$n2@xY literal 982322 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

FYj2-x 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 ZH#x*L)&;P*y(ScHu%6F9rUuv=`hRNEwlM$z diff --git a/Tools/Reflection64.bin b/Tools/Reflection64.bin index 8de4725dcec9f46526ebef48d863c3d6e6f5201b..89a52a69c580f2b469f89e98eae4cad2e3da9de8 100644 GIT binary patch literal 956937 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

SopK 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 diff --git a/Tutorial/GacUI_Controls/UIRes/TextEditor.bin b/Tutorial/GacUI_Controls/UIRes/TextEditor.bin index f0c35cedd98536bf5d311d5f99fbe73600dbdf05..5d1e499e6b1ed69d046f23314e9c74314e31abb5 100644 GIT binary patch delta 154 zcmaDfiDl*_mJPy;T>F_Az+gYqWLZXc7KNlrg~+8fD2<8JbY}q#}Jg8>pJ_)TH9fl2j{&$p@LlC#Nx4 ch#Ff*0Li&7rvLx| delta 227 zcmbO^iRIBGmJPy;TpY{{V8FpVS(eeA$ELVI-!7>VOij*Uv=RZcO7bC8Mk+*N6{BSY zm}R4%mtSCKqn~7F17bvFW+di;C7d%-Aqfp}F(vS!s%`$uwEZs=qYN7WPUS~6 diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index c85fa530c181e8220fa08f6e2d77b1d73f1dafc0..6d96c0bef63cc821213cf90a02bbeabab3093e90 100644 GIT binary patch delta 745 zcmah`O=uHA7^L@L%%+{CLs}%tS zVMrO=vAqWI`rI(S@6?d?=~(oiM9H@wPko2b^rf)s8wq7SrOSAHFo^{*n&|gFx;%5E z)~wZAPHVbR&*dhkZ`Y9Yr?DiODEcp z;3=>j`^yz< zCle|b-v?twR4tBEj)soG@vE#NQa*}~$strV3|kuNRgQ;cmHF_l8tYYWs1lJeM)9Gd zLaAi_t8;xnRoXrOhLM6Qam-C+Fy^Q@V(1vKR5y=Y-Hds9Nv`^lDsEhcXzG|XZlXcD z66rgJiW8<%xBHh4Iz8j<>dox;=pno6pfu u*K8f8&GEy|V}sf+IVn6K>$?;_OFT;K8Z9_F{h+)-t=pW1Fhje)=ea*j%;0kX delta 712 zcma)3O=uHQ5boREyv$2td9h-4F~)5K*@H<_FG?%bgVj@O4pK98@YJq@+pCh zL{0rv(j zvdkHA&&UqdS$h~ZjolBaT!s+V~Z z7r7IJ7d+8lwmbE*=*3!n8tWm!l{{ZqMlIC%7`k}HZ$HC>ypRh)hB-VuVf?Gy#T?@g Uu#WH^G+aDY5htO@_P^NBA7aqsh5!Hn diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 index 93f15f8efbf33fc0601e723ec232243cd376d1e8..d8615172340efb95cdaef4c247d8c93f76aad551 100644 GIT binary patch delta 710 zcmah`OK1~O6wS*_CU0iq%+o+8t+k!hg+)ypThtnCtzEfEun57{`DDZ*k(yBx!Gc%? zMFdgk$wm;|m7*YmAh-}JbmOAxG7C2@+=;kUH}y`M7IzN3`{A5(&z<*LYpk`#UX>)= zv^ZWQY!nk^Je9lgS>8Wt#x}nw*B9!IxyyyZR2a_B1+`QMit-jz4yzaNN6z*b9WcsU z;F-p?YV9IIxd-18X*`trP?9Fll1A`c8d7r|Ne*8Laphgmb`=$p_gE`05D7C3P>w zZgqg-af$}ssAZ%~j^)k-gH&BOpk>H=g4us*;W`v=h65JGzbAdX^ocDjVO3V_LCZf6)&Y5xSftd3PUreSx@>A?d1Pq2_Qr zm=R3g?%q--5%UDp+5CT5!}u`!1b4j*dOeQEE{73tES<~a2>sVl*Csy>hYoqdRyaOZ z1fCJE;H;yfGXhQ8Ytg;lt~ck|bnoMyMK?C-_LGmG_sEckz%c3i&U4%%uTPFZ z%Fp1tH%2}-)nnUOv`f=JOE0&Pv`9%?R;Iuefm(&bqq9Qwqsj`s))m)6DHz0kn!iZ% S|Mhtp*u1<5Owoe? delta 750 zcma)2OH30{6yI+;rvzw`TBc}`7z+(Xz$Qi6u>ca4K)}vSM;Wz7+e+)F3l$SJ zF{Ti6R&I1-Vl>9oU`R~dXjot(am&K3OI>S1qIb%mE`7=Uy!+0*=iIls#x~bjeNw=> zcLXoIF${}+a!=Ft>A|R&5XOpSJQkC3(yb<`8beKN!42*k|npyKu&ys+R143vl8NV7i!}Z+7cW+^L_eEaVI467EX^ zbs>tS!2q5K2}}yTq$7zR;uw=KDixU@uO%G^TR7T%tIUfH-x1^_jxCcT;}4*lcVfy= zF~LJjMU5XKZ}KE-!h7C_hn`jlavSrYBzHG_JD$q{$~xo$^5gPeCSp~d#+J_~W?i&%}bRX8E6J6)Jh_V%{nT!IV8Lh%P0JlGMtsH+&Vh6%C6@ zoDEPG_x$qUxD;Obq8y$;QRgHxrSC`7RN=`+a5KlTNXvcBaumq!&#JhZQ~%uG&Z;CV zr5}Ynm-=sXKR(Vq!W|=msKK#JtTG;)8p5EZVo2ABog+);D0oAtCpt$uyFt5feFi^C z!#>h?OTW^{x94cghl~-XFFdAq(R>wN>Ri@U^iy~2G{-yRJWbUQFo)f{!&@^=){JlF sWke(u1=`mjTcTa>Lncxqoelk#8;Mvr=dur>$`Q~H&D~q%m4rY diff --git a/Tutorial/GacUI_Layout/UIRes/RichTextEmbedding.bin b/Tutorial/GacUI_Layout/UIRes/RichTextEmbedding.bin index 3a26cfa14a3e15951268c79e5a250349d8ceb89a..a2076f556e78da9e65bcb61443c82a91058c6a33 100644 GIT binary patch delta 634 zcmZuvO=}b}7e~F;iLO})ZzDbw12L}d*H_!WgWsd%qXTQrY_llMA;97phgZQY}S;bDbPjyW- zq((e0#%nOW!+}se&z_6w-AlyNVxxuh5OA_;5a=+VHdWt|4kNs6$Pom;ozQbkNQB;z zPlVzMY}Yu@q3EolAs<-b#MBAfpb`vJa;gywLPLn(m$q)^uZji8#h**-@l}cC3&7`c z<2raPo|O7=CfFy?WfCuIc61@m&>Eut(E9)xJiPowqxh?Mu)9qO>R~3VC;bqW(ZLzz z|3k{|u22SJhETFiI`QM+*4lO-g3)&$Za&qO&vG-1t*+@x1b R!ri4`Lg*IX?ku-|{sAnr*)0G7 delta 1031 zcmaKqO^XyU5Qgpfa6m7D9#$4a1QA4L5xuM|vIyhHVezsGo}{)rGl`QpT`C4DHiZ?I(>&+8%SCdWLX^2IZReJk#tu%!Yo#DA|!$wm}Mk&Vih zO)X5E@@`)WFW92I)?|*^F&7jYFOV(6AZb6vV+$;Cv`e+q;ttaB-;t+D>N%w~4HQ(xr zAE1=zOC3~|W#HiMg}fnyhEVmU2@p|5$P&~$F-^tr_Q@mhHwC#RFl#=5jOx^@w?{7+_dbCa#EJ7>b+{PSoJ<8o{p_H`{&`IF;LWO*T9r!<%s2{^U5A5!uq#P8kmQ^&q2M0Ro?3_VPP6sb cpt;Vjgr7H>i$vS@9ANvB3@U$pe}4Jv50qhL#{d8T diff --git a/Tutorial/GacUI_Xml/UIRes/Binding_Uri.bin b/Tutorial/GacUI_Xml/UIRes/Binding_Uri.bin index 787a16e616c1cd13f30723e5ae6e1df801f5c83b..01d0dcb5d4d6cfe50d1acf9d3cfca6f81f16ccac 100644 GIT binary patch delta 37 pcmdn-f_cpg<_(;ToOz54V30Rih_Q}Cp(J0SBqLQ}^Ag4>p8(Ij3uyoV delta 49 ucmZ4Uf_cXa<_(;ToK=hrU{Ez#h_Oz@rno@gt|T8qWu$`X%`+IMd;$P&JP*YH