Update import

This commit is contained in:
vczh
2025-09-22 06:23:15 -07:00
parent 17d9a1b18b
commit 2f7b3389e0
29 changed files with 5175 additions and 5346 deletions
+24 -277
View File
@@ -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 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_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetText();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_); 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)) :__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_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetStrings();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>>(__vwsn_value_); 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) __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)
:__vwsnthis_0(::vl::__vwsn::This(__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_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>();
this->__vwsn_bind_opened_ = false; this->__vwsn_bind_opened_ = false;
this->__vwsn_bind_closed_ = 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_() 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_)); ::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_(); this->__vwsn_bind_activator_();
} }
@@ -1019,8 +984,8 @@ Closures
if ((! __vwsn_bind_opened_)) if ((! __vwsn_bind_opened_))
{ {
(__vwsn_bind_opened_ = true); (__vwsn_bind_opened_ = true);
(__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); (__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)->SelectionChanged, ::vl::Func<void(::vl::presentation::compositions::GuiGraphicsComposition*, ::vl::presentation::compositions::GuiEventArgs*)>(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_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->StringsChanged, ::vl::Func<void()>(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 true;
} }
return false; return false;
@@ -1043,10 +1008,10 @@ Closures
(__vwsn_bind_closed_ = true); (__vwsn_bind_closed_ = true);
if (static_cast<bool>(__vwsn_bind_handler_0_0)) if (static_cast<bool>(__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_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>()); (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>());
return true; 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) __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)) :__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_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>();
this->__vwsn_bind_opened_ = false; this->__vwsn_bind_opened_ = false;
this->__vwsn_bind_closed_ = 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_() 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_)); ::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_(); this->__vwsn_bind_activator_();
} }
@@ -1080,8 +1045,8 @@ Closures
if ((! __vwsn_bind_opened_)) if ((! __vwsn_bind_opened_))
{ {
(__vwsn_bind_opened_ = true); (__vwsn_bind_opened_ = true);
(__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }()); (__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)->SelectionChanged, ::vl::Func<void(::vl::presentation::compositions::GuiGraphicsComposition*, ::vl::presentation::compositions::GuiEventArgs*)>(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_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->LocaleChanged, ::vl::Func<void()>(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 true;
} }
return false; return false;
@@ -1098,129 +1063,6 @@ Closures
} }
bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close() 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<bool>(__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<void()>(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<bool>(__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<void()>(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_)) 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"); 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) ::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) 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__; }()); ::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()); (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()); 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)); ::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()); (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__; }()); ::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_); ::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::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_); ::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::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_); ::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() UnitTestSnapshotViewerWindowConstructor::UnitTestSnapshotViewerWindowConstructor()
@@ -1792,17 +1566,11 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
, __vwsn_precompile_29(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) , __vwsn_precompile_29(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr))
, __vwsn_precompile_30(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr)) , __vwsn_precompile_30(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr))
, __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) , __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, __vwsn_precompile_32(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr)) , __vwsn_precompile_32(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, __vwsn_precompile_33(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr))
, __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, treeViewFileNodes(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr)) , treeViewFileNodes(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr))
, textListFrames(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr)) , textListFrames(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr))
, scRendering(static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr)) , scRendering(static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr))
, treeViewDom(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(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_RenderingTrace& trace;
UnitTest_RenderingFrame frame; UnitTest_RenderingFrame frame;
Ptr<UnitTestSnapshotDomNode> domRoot; Ptr<UnitTestSnapshotDomNode> domRoot;
WString elements;
WString commands;
WString dom;
public: public:
UnitTestSnapshotFrame(vint _index, UnitTest_RenderingTrace& _trace, UnitTest_RenderingFrame _frame) 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<IUnitTestSnapshotDomNode> GetDom() override Ptr<IUnitTestSnapshotDomNode> GetDom() override
{ {
if (!domRoot) if (!domRoot)
+8 -82
View File
@@ -41,8 +41,6 @@ namespace vl_workflow_global
struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_; struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf11_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 __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 __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf2_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_; 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 __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 __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 __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 __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
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;
} }
namespace __vwsn_enums namespace __vwsn_enums
@@ -120,8 +116,6 @@ namespace gaclib_controls
#endif #endif
public: public:
virtual ::vl::WString GetName() = 0; virtual ::vl::WString GetName() = 0;
virtual ::vl::WString GetElementsAsJsonText() = 0;
virtual ::vl::WString GetDomAsJsonText() = 0;
virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 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<UnitTestSnapshotViewerStrings> class UnitTestSnapshotViewerStrings : public ::vl::Object, public ::vl::reflection::Description<UnitTestSnapshotViewerStrings>
{ {
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 #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>; friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>;
#endif #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::__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::__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::__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::__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::__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::__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::__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::__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_; 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::GuiTabPage* __vwsn_precompile_29;
::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_30; ::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_30;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31;
::vl::presentation::controls::GuiTabPage* __vwsn_precompile_32; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_32;
::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_33;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34;
::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes; ::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes;
::vl::presentation::controls::GuiBindableTextList* textListFrames; ::vl::presentation::controls::GuiBindableTextList* textListFrames;
::vl::presentation::controls::GuiScrollContainer* scRendering; ::vl::presentation::controls::GuiScrollContainer* scRendering;
::vl::presentation::controls::GuiBindableTreeView* treeViewDom; ::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_); void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_);
public: public:
UnitTestSnapshotViewerWindowConstructor(); 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::__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::__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::__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::__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::__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::__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::__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::__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_; 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; 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_ struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{ {
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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 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: public:
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_; ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_;
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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; ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -552,12 +478,12 @@ Closures
bool Close() override; 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: public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -570,10 +496,10 @@ Closures
bool Close() override; 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: 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; ::vl::WString WindowTitle() override;
}; };
-10
View File
@@ -80,12 +80,8 @@ namespace vl
BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
CLASS_MEMBER_BASE(::vl::reflection::IDescriptable) CLASS_MEMBER_BASE(::vl::reflection::IDescriptable)
CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER) 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_METHOD(GetName, NO_PARAMETER)
CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom) CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom)
CLASS_MEMBER_PROPERTY_READONLY(DomAsJsonText, GetDomAsJsonText)
CLASS_MEMBER_PROPERTY_READONLY(ElementsAsJsonText, GetElementsAsJsonText)
CLASS_MEMBER_PROPERTY_READONLY(Name, GetName) CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
@@ -161,12 +157,6 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_30) CLASS_MEMBER_FIELD(__vwsn_precompile_30)
CLASS_MEMBER_FIELD(__vwsn_precompile_31) CLASS_MEMBER_FIELD(__vwsn_precompile_31)
CLASS_MEMBER_FIELD(__vwsn_precompile_32) 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_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5) CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6) CLASS_MEMBER_FIELD(__vwsn_precompile_6)
-8
View File
@@ -114,14 +114,6 @@ namespace vl
{ {
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDom); 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 ::vl::WString GetName() override
{ {
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName); INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
+64 -27
View File
@@ -1089,7 +1089,7 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
vint textWidth = 0; vint textWidth = 0;
vint textHeight = 0; vint textHeight = 0;
collections::List<vint> lines; collections::List<WString> lines;
{ {
collections::List<Ptr<regex::RegexMatch>> matches; collections::List<Ptr<regex::RegexMatch>> matches;
regexCrLf.Split(text, true, matches); regexCrLf.Split(text, true, matches);
@@ -1097,30 +1097,32 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
if (matches.Count() == 0) if (matches.Count() == 0)
{ {
// when there is no text, measure a space // 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 else
{ {
auto normalizedLines = lines.Add(stream::GenerateToStream([&](stream::TextWriter& writer)
From(matches)
.Select([](auto&& match) { return match->Result().Length(); })
.Select([](vint length) { return length ? length : 1; })
;
if (arguments.multiline)
{ {
// calculate text as multiple lines for (auto [match, index] : indexed(matches))
CopyFrom( {
lines, if (index > 0) writer.WriteChar(L' ');
normalizedLines auto line = match->Result().Value();
); writer.WriteString(line);
} }
else }));
if(lines[0].Length() == 0)
{ {
// calculate text as single line, insert a space between each line // when there is no text, measure a space
lines.Add( lines[0] = WString::Unmanaged(L" ");
normalizedLines
.template Aggregate<vint>(-1, [](auto a, auto b) { return a + b + 1; })
);
} }
} }
} }
@@ -1129,24 +1131,59 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
{ {
// width of the text is 0 // width of the text is 0
// insert a line break when there is no space horizontally // insert a line break when there is no space horizontally
textHeight = 4 + size * From(lines) vint totalLines = 0;
.Select([columns = width / size](vint length) for (auto&& line : lines)
{ {
if (columns == 0) if (line.Length() == 0)
{ {
return length; 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)
{
if (accumulatedWidth == 0)
{
totalLines++;
} }
else else
{ {
return (length + columns - 1) / columns; totalLines++;
accumulatedWidth = w;
} }
}) }
.template Aggregate<vint>(0, [](auto a, auto b) { return a + b; }); else
{
accumulatedWidth += w;
}
}
if (accumulatedWidth > 0)
{
totalLines++;
}
}
textHeight = 4 + size * totalLines;
} }
else else
{ {
// width of the text is width of the longest line // 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(); textHeight = 4 + size * lines.Count();
} }
+22 -9
View File
@@ -3485,11 +3485,11 @@ WindowsDirect2DParagraph (Formatting)
void SetMaxWidth(vint value)override void SetMaxWidth(vint value)override
{ {
if(maxWidth!=value) if (maxWidth != value)
{ {
maxWidth=value; maxWidth = value;
textLayout->SetMaxWidth(value==-1?65536:(FLOAT)value); textLayout->SetMaxWidth(value == -1 ? 65536 : (FLOAT)value);
formatDataAvailable=false; formatDataAvailable = false;
} }
} }
@@ -3510,8 +3510,10 @@ WindowsDirect2DParagraph (Formatting)
void SetParagraphAlignment(Alignment value)override void SetParagraphAlignment(Alignment value)override
{ {
formatDataAvailable=false; if (GetParagraphAlignment() != value)
switch(value) {
formatDataAvailable = false;
switch (value)
{ {
case Alignment::Left: case Alignment::Left:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING); textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING);
@@ -3524,6 +3526,7 @@ WindowsDirect2DParagraph (Formatting)
break; break;
} }
} }
}
bool SetFont(vint start, vint length, const WString& value)override bool SetFont(vint start, vint length, const WString& value)override
{ {
@@ -8503,10 +8506,13 @@ WindowsGDIParagraph
} }
void SetWrapLine(bool value)override void SetWrapLine(bool value)override
{
if (paragraph->lastWrapLine != value)
{ {
paragraph->BuildUniscribeData(renderTarget->GetDC()); paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment); paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment);
} }
}
vint GetMaxWidth()override vint GetMaxWidth()override
{ {
@@ -8514,10 +8520,13 @@ WindowsGDIParagraph
} }
void SetMaxWidth(vint value)override void SetMaxWidth(vint value)override
{
if (paragraph->lastAvailableWidth != value)
{ {
paragraph->BuildUniscribeData(renderTarget->GetDC()); paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment); paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment);
} }
}
Alignment GetParagraphAlignment()override Alignment GetParagraphAlignment()override
{ {
@@ -8525,10 +8534,13 @@ WindowsGDIParagraph
} }
void SetParagraphAlignment(Alignment value)override void SetParagraphAlignment(Alignment value)override
{
if (paragraph->paragraphAlignment != value)
{ {
paragraph->BuildUniscribeData(renderTarget->GetDC()); paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value); paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value);
} }
}
bool SetFont(vint start, vint length, const WString& value)override bool SetFont(vint start, vint length, const WString& value)override
{ {
@@ -8667,6 +8679,7 @@ WindowsGDIParagraph
bool IsCaretBoundsFromTextRun(vint caret, bool caretFrontSide) 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; if (!paragraph->IsValidCaret(caret)) return false;
vint frontLine = 0; vint frontLine = 0;
@@ -10784,9 +10797,9 @@ UniscribeLine
if (scriptRuns.Count() == 0) if (scriptRuns.Count() == 0)
{ {
// if this line doesn't contains any run, skip and render a blank line // if this line doesn't contains any run, skip and render a blank line
vint height = (vint)(documentFragments[0]->fontStyle.size * 1.5); vint minHeight = documentFragments[0]->fontStyle.size;
bounds = Rect(Point(cx, cy), Size(0, height)); bounds = Rect(Point(cx, cy), Size(0, minHeight));
cy += height; cy += minHeight;
} }
else else
{ {
+859 -547
View File
File diff suppressed because it is too large Load Diff
+956 -792
View File
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -2976,9 +2976,9 @@ Type Declaration (Class)
CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"}) CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"})
CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"}) CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"})
CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"}) CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"})
CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"}) 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"}) 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"}) 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(EditStyle, {L"begin" _ L"end" _ L"style"})
CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"}) 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"}) 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(SetParagraphAlignments, { L"begin" _ L"end" _ L"alignments" })
CLASS_MEMBER_METHOD(SetParagraphAlignment, { L"begin" _ L"end" _ L"alignment" }) CLASS_MEMBER_METHOD(SetParagraphAlignment, { L"begin" _ L"end" _ L"alignment" })
CLASS_MEMBER_METHOD(SummarizeParagraphAlignment, { L"begin" _ L"end" }) 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(SelectAll, NO_PARAMETER)
CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER)
CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER)
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -86,8 +86,6 @@ namespace vl
IMPL_CPP_TYPE_INFO(darkskin::MenuItemButtonTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::MenuItemButtonTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplate) IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplate)
IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplateConstructor) 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::ProgressBarTemplate)
IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::RadioButtonTemplate) IMPL_CPP_TYPE_INFO(darkskin::RadioButtonTemplate)
@@ -136,8 +134,6 @@ namespace vl
IMPL_CPP_TYPE_INFO(darkskin::ScrollViewTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::ScrollViewTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplate) IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplate)
IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplateConstructor) 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::SystemFrameWindowTemplate)
IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplateConstructor) IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::TabHeaderButtonTemplate) IMPL_CPP_TYPE_INFO(darkskin::TabHeaderButtonTemplate)
@@ -674,23 +670,6 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_3) CLASS_MEMBER_FIELD(__vwsn_precompile_3)
END_CLASS_MEMBER(::darkskin::MenuSplitterTemplateConstructor) 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) BEGIN_CLASS_MEMBER(::darkskin::ProgressBarTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiScrollTemplate) CLASS_MEMBER_BASE(::vl::presentation::templates::GuiScrollTemplate)
CLASS_MEMBER_BASE(::darkskin::ProgressBarTemplateConstructor) CLASS_MEMBER_BASE(::darkskin::ProgressBarTemplateConstructor)
@@ -1183,23 +1162,6 @@ namespace vl
CLASS_MEMBER_FIELD(self) CLASS_MEMBER_FIELD(self)
END_CLASS_MEMBER(::darkskin::ShortcutKeyTemplateConstructor) 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) BEGIN_CLASS_MEMBER(::darkskin::SystemFrameWindowTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiWindowTemplate) CLASS_MEMBER_BASE(::vl::presentation::templates::GuiWindowTemplate)
CLASS_MEMBER_BASE(::darkskin::SystemFrameWindowTemplateConstructor) CLASS_MEMBER_BASE(::darkskin::SystemFrameWindowTemplateConstructor)
@@ -1660,8 +1622,6 @@ namespace vl
ADD_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor) ADD_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor)
ADD_TYPE_INFO(::darkskin::MenuSplitterTemplate) ADD_TYPE_INFO(::darkskin::MenuSplitterTemplate)
ADD_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor) ADD_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor)
ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplate)
ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor)
ADD_TYPE_INFO(::darkskin::ProgressBarTemplate) ADD_TYPE_INFO(::darkskin::ProgressBarTemplate)
ADD_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor) ADD_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor)
ADD_TYPE_INFO(::darkskin::RadioButtonTemplate) ADD_TYPE_INFO(::darkskin::RadioButtonTemplate)
@@ -1710,8 +1670,6 @@ namespace vl
ADD_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor) ADD_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor)
ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplate) ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplate)
ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor) ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor)
ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate)
ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor)
ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplate) ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplate)
ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor) ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor)
ADD_TYPE_INFO(::darkskin::TabHeaderButtonTemplate) ADD_TYPE_INFO(::darkskin::TabHeaderButtonTemplate)
@@ -99,8 +99,6 @@ namespace vl
DECL_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor) DECL_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor)
DECL_TYPE_INFO(::darkskin::MenuSplitterTemplate) DECL_TYPE_INFO(::darkskin::MenuSplitterTemplate)
DECL_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor) DECL_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor)
DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplate)
DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor)
DECL_TYPE_INFO(::darkskin::ProgressBarTemplate) DECL_TYPE_INFO(::darkskin::ProgressBarTemplate)
DECL_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor) DECL_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor)
DECL_TYPE_INFO(::darkskin::RadioButtonTemplate) DECL_TYPE_INFO(::darkskin::RadioButtonTemplate)
@@ -149,8 +147,6 @@ namespace vl
DECL_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor) DECL_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor)
DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplate) DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplate)
DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor) DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor)
DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate)
DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor)
DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplate) DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplate)
DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor) DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor)
DECL_TYPE_INFO(::darkskin::TabHeaderButtonTemplate) DECL_TYPE_INFO(::darkskin::TabHeaderButtonTemplate)
+2 -3
View File
@@ -80,7 +80,7 @@ namespace vl
DateTime DateTime
***********************************************************************/ ***********************************************************************/
class LinuxDateTimeImpl : public Object, public virtual IDateTimeImpl class LinuxDateTimeImpl : public feature_injection::FeatureImpl<IDateTimeImpl>
{ {
public: public:
@@ -197,10 +197,9 @@ DateTime
} }
}; };
LinuxDateTimeImpl osDateTimeImpl;
IDateTimeImpl* GetOSDateTimeImpl() IDateTimeImpl* GetOSDateTimeImpl()
{ {
static LinuxDateTimeImpl osDateTimeImpl;
return &osDateTimeImpl; return &osDateTimeImpl;
} }
} }
+2 -3
View File
@@ -112,7 +112,7 @@ namespace vl
DateTime DateTime
***********************************************************************/ ***********************************************************************/
class WindowsDateTimeImpl : public Object, public virtual IDateTimeImpl class WindowsDateTimeImpl : public feature_injection::FeatureImpl<IDateTimeImpl>
{ {
public: public:
@@ -234,10 +234,9 @@ DateTime
} }
}; };
WindowsDateTimeImpl osDateTimeImpl;
IDateTimeImpl* GetOSDateTimeImpl() IDateTimeImpl* GetOSDateTimeImpl()
{ {
static WindowsDateTimeImpl osDateTimeImpl;
return &osDateTimeImpl; return &osDateTimeImpl;
} }
} }
+24 -13
View File
@@ -314,16 +314,27 @@ namespace vl
{ {
extern IDateTimeImpl* GetOSDateTimeImpl(); extern IDateTimeImpl* GetOSDateTimeImpl();
IDateTimeImpl* dateTimeImpl = nullptr; feature_injection::FeatureInjection<IDateTimeImpl>& GetDateTimeInjection()
IDateTimeImpl* GetDateTimeImpl()
{ {
return dateTimeImpl ? dateTimeImpl : GetOSDateTimeImpl(); static feature_injection::FeatureInjection<IDateTimeImpl> injection(GetOSDateTimeImpl());
return injection;
} }
void InjectDateTimeImpl(IDateTimeImpl* impl) 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() DateTime DateTime::LocalTime()
{ {
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalTime()); return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalTime());
} }
DateTime DateTime::UtcTime() 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) 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) DateTime DateTime::FromOSInternal(vuint64_t _osInternal)
{ {
return GetDateTimeImpl()->FromOSInternal(_osInternal); return GetDateTimeInjection().Get()->FromOSInternal(_osInternal);
} }
DateTime DateTime::ToLocalTime() DateTime DateTime::ToLocalTime()
{ {
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->UtcToLocalTime(osInternal)); return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->UtcToLocalTime(osInternal));
} }
DateTime DateTime::ToUtcTime() DateTime DateTime::ToUtcTime()
{ {
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalToUtcTime(osInternal)); return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalToUtcTime(osInternal));
} }
DateTime DateTime::Forward(vuint64_t milliseconds) 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) DateTime DateTime::Backward(vuint64_t milliseconds)
{ {
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->Backward(osInternal, milliseconds)); return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->Backward(osInternal, milliseconds));
} }
} }
+163 -1
View File
@@ -311,6 +311,167 @@ Interface
#endif #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
{
/// <summary>
/// Base interface for all feature injection implementations.
/// Provides lifecycle management and delegation support through linked list structure.
/// </summary>
class IFeatureImpl : public virtual Interface
{
public:
/// <summary>Get the previous implementation in the injection chain.</summary>
/// <returns>The previous implementation, or nullptr if this is the first in chain.</returns>
virtual IFeatureImpl* GetPreviousImpl() = 0;
/// <summary>Begin injection lifecycle, called when this implementation becomes active.</summary>
/// <param name="previousImpl">The previously active implementation to delegate to.</param>
virtual void BeginInjection(IFeatureImpl* previousImpl) = 0;
/// <summary>End injection lifecycle, called when this implementation is being removed.</summary>
virtual void EndInjection() = 0;
};
/// <summary>
/// Default implementation template for IFeatureImpl providing type-safe delegation.
/// TImpl should be the actual feature interface that inherits from IFeatureImpl.
/// </summary>
template<typename TImpl>
requires std::is_base_of_v<IFeatureImpl, TImpl>
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<TImpl*>(_previousImpl);
CHECK_ERROR(typedPrevious != nullptr, L"vl::feature_injection::FeatureImpl<TImpl>::BeginInjection(IFeatureImpl*): Invalid previous implementation type.");
}
this->_previousImpl = typedPrevious;
BeginInjection(typedPrevious);
}
void EndInjection() override
{
_previousImpl = nullptr;
}
/// <summary>Type-safe injection hook for derived classes to override.</summary>
/// <param name="_previousImpl">The type-safe previous implementation.</param>
virtual void BeginInjection(TImpl* _previousImpl)
{
}
protected:
/// <summary>Get the previous implementation with type safety.</summary>
/// <returns>The previous implementation, or nullptr if this is the first in chain.</returns>
TImpl* Previous()
{
return _previousImpl; // Already verified and cast during BeginInjection
}
};
/// <summary>
/// Template class for managing feature injection with type-safe operations.
/// Maintains a linked list of implementations and provides inject/eject functionality.
/// </summary>
template<typename TImpl>
requires std::is_base_of_v<IFeatureImpl, TImpl>
class FeatureInjection
{
private:
IFeatureImpl* currentImpl;
public:
/// <summary>Initialize with a default implementation.</summary>
/// <param name="defaultImpl">The default implementation, must not be nullptr.</param>
FeatureInjection(TImpl* defaultImpl)
: currentImpl(defaultImpl)
{
CHECK_ERROR(defaultImpl != nullptr, L"vl::feature_injection::FeatureInjection<TImpl>::FeatureInjection(TImpl*): Default implementation cannot be nullptr.");
}
/// <summary>Get the current active implementation.</summary>
/// <returns>The current implementation, never nullptr after proper initialization.</returns>
TImpl* Get()
{
return dynamic_cast<TImpl*>(currentImpl);
}
/// <summary>Inject a new implementation, making it the current active one.</summary>
/// <param name="impl">The implementation to inject, must not be nullptr.</param>
void Inject(TImpl* impl)
{
CHECK_ERROR(impl != nullptr, L"vl::feature_injection::FeatureInjection<TImpl>::Inject(TImpl*): Implementation cannot be nullptr.");
dynamic_cast<IFeatureImpl*>(impl)->BeginInjection(currentImpl);
currentImpl = impl;
}
/// <summary>Eject an implementation from the chain, restoring previous implementations.</summary>
/// <param name="impl">The implementation to eject.</param>
void Eject(TImpl* impl)
{
CHECK_ERROR(impl != nullptr, L"vl::feature_injection::FeatureInjection<TImpl>::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<TImpl>::Eject(TImpl*): Implementation not found in chain.");
auto next = toEject->GetPreviousImpl();
toEject->EndInjection();
if (toEject == impl)
{
currentImpl = next;
break;
}
toEject = next;
}
}
/// <summary>Eject all implementations, restoring the default implementation.</summary>
void EjectAll()
{
while (currentImpl->GetPreviousImpl() != nullptr)
{
auto toEject = currentImpl;
currentImpl = currentImpl->GetPreviousImpl();
toEject->EndInjection();
}
}
};
}
}
#endif
/*********************************************************************** /***********************************************************************
.\COLLECTIONS\PAIR.H .\COLLECTIONS\PAIR.H
***********************************************************************/ ***********************************************************************/
@@ -582,7 +743,7 @@ Date and Time
} }
}; };
class IDateTimeImpl : public virtual Interface class IDateTimeImpl : public virtual feature_injection::IFeatureImpl
{ {
public: public:
virtual DateTime FromDateTime(vint _year, vint _month, vint _day, vint _hour, vint _minute, vint _second, vint _milliseconds) = 0; 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 InjectDateTimeImpl(IDateTimeImpl* impl);
extern void EjectDateTimeImpl(IDateTimeImpl* impl);
} }
#endif #endif
+4 -4
View File
@@ -37,7 +37,7 @@ namespace vl
LinuxFileSystemImpl LinuxFileSystemImpl
***********************************************************************/ ***********************************************************************/
class LinuxFileSystemImpl : public Object, public virtual IFileSystemImpl class LinuxFileSystemImpl : public feature_injection::FeatureImpl<IFileSystemImpl>
{ {
public: public:
// FilePath operations implementation // FilePath operations implementation
@@ -251,10 +251,9 @@ LinuxFileSystemImpl
Global FileSystem Implementation Global FileSystem Implementation
***********************************************************************/ ***********************************************************************/
LinuxFileSystemImpl osFileSystemImpl;
IFileSystemImpl* GetOSFileSystemImpl() IFileSystemImpl* GetOSFileSystemImpl()
{ {
static LinuxFileSystemImpl osFileSystemImpl;
return &osFileSystemImpl; return &osFileSystemImpl;
} }
} }
@@ -278,7 +277,8 @@ namespace vl
{ {
ILocaleImpl* GetOSLocaleImpl() ILocaleImpl* GetOSLocaleImpl()
{ {
return GetDefaultLocaleImpl(); static EnUsLocaleImpl linuxLocaleImpl;
return &linuxLocaleImpl;
} }
} }
+4 -6
View File
@@ -38,7 +38,7 @@ namespace vl
WindowsFileSystemImpl WindowsFileSystemImpl
***********************************************************************/ ***********************************************************************/
class WindowsFileSystemImpl : public Object, public virtual IFileSystemImpl class WindowsFileSystemImpl : public feature_injection::FeatureImpl<IFileSystemImpl>
{ {
public: public:
void Initialize(WString& fullPath) const override void Initialize(WString& fullPath) const override
@@ -267,10 +267,9 @@ WindowsFileSystemImpl
} }
}; };
WindowsFileSystemImpl osFileSystemImpl;
IFileSystemImpl* GetOSFileSystemImpl() IFileSystemImpl* GetOSFileSystemImpl()
{ {
static WindowsFileSystemImpl osFileSystemImpl;
return &osFileSystemImpl; return &osFileSystemImpl;
} }
} }
@@ -711,7 +710,7 @@ Locale Helper Functions
WindowsLocaleImpl WindowsLocaleImpl
***********************************************************************/ ***********************************************************************/
class WindowsLocaleImpl : public Object, public ILocaleImpl class WindowsLocaleImpl : public feature_injection::FeatureImpl<ILocaleImpl>
{ {
public: public:
Locale Invariant() const override Locale Invariant() const override
@@ -898,10 +897,9 @@ WindowsLocaleImpl
} }
}; };
WindowsLocaleImpl windowsLocaleImpl;
ILocaleImpl* GetOSLocaleImpl() ILocaleImpl* GetOSLocaleImpl()
{ {
static WindowsLocaleImpl windowsLocaleImpl;
return &windowsLocaleImpl; return &windowsLocaleImpl;
} }
+101 -81
View File
@@ -443,16 +443,32 @@ namespace vl
{ {
extern IFileSystemImpl* GetOSFileSystemImpl(); extern IFileSystemImpl* GetOSFileSystemImpl();
IFileSystemImpl* injectedFileSystemImpl = nullptr; feature_injection::FeatureInjection<IFileSystemImpl>& GetFileSystemInjection()
{
static feature_injection::FeatureInjection<IFileSystemImpl> injection(GetOSFileSystemImpl());
return injection;
}
void InjectFileSystemImpl(IFileSystemImpl* impl) void InjectFileSystemImpl(IFileSystemImpl* impl)
{ {
injectedFileSystemImpl = impl; GetFileSystemInjection().Inject(impl);
} }
IFileSystemImpl* GetFileSystemImpl() 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; 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 #ifdef VCZH_GCC
@@ -565,57 +567,54 @@ DefaultLocaleImpl
#define _wcsnicmp wcsncasecmp #define _wcsnicmp wcsncasecmp
#endif #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 Locale EnUsLocaleImpl::SystemDefault() const
{ {
return Locale(L"en-US"); return Locale(L"en-US");
} }
Locale UserDefault() const override Locale EnUsLocaleImpl::UserDefault() const
{ {
return Locale(L"en-US"); return Locale(L"en-US");
} }
void Enumerate(List<Locale>& locales) const override void EnUsLocaleImpl::Enumerate(List<Locale>& locales) const
{ {
locales.Add(Locale(L"en-US")); locales.Add(Locale(L"en-US"));
} }
void GetShortDateFormats(const WString&, List<WString>& formats) const override void EnUsLocaleImpl::GetShortDateFormats(const WString&, List<WString>& formats) const
{ {
formats.Add(L"MM/dd/yyyy"); formats.Add(L"MM/dd/yyyy");
formats.Add(L"yyyy-MM-dd"); formats.Add(L"yyyy-MM-dd");
} }
void GetLongDateFormats(const WString&, List<WString>& formats) const override void EnUsLocaleImpl::GetLongDateFormats(const WString&, List<WString>& formats) const
{ {
formats.Add(L"dddd, dd MMMM yyyy"); formats.Add(L"dddd, dd MMMM yyyy");
} }
void GetYearMonthDateFormats(const WString&, List<WString>& formats) const override void EnUsLocaleImpl::GetYearMonthDateFormats(const WString&, List<WString>& formats) const
{ {
formats.Add(L"yyyy MMMM"); formats.Add(L"yyyy MMMM");
} }
void GetLongTimeFormats(const WString&, List<WString>& formats) const override void EnUsLocaleImpl::GetLongTimeFormats(const WString&, List<WString>& formats) const
{ {
formats.Add(L"HH:mm:ss"); formats.Add(L"HH:mm:ss");
} }
void GetShortTimeFormats(const WString&, List<WString>& formats) const override void EnUsLocaleImpl::GetShortTimeFormats(const WString&, List<WString>& formats) const
{ {
formats.Add(L"HH:mm"); formats.Add(L"HH:mm");
formats.Add(L"hh:mm tt"); formats.Add(L"hh:mm tt");
} }
WString FormatDate(const WString& localeName, const WString& format, DateTime date) const override WString EnUsLocaleImpl::FormatDate(const WString& localeName, const WString& format, DateTime date) const
{ {
/* /*
auto df = L"yyyy,MM,MMM,MMMM,dd,ddd,dddd"; auto df = L"yyyy,MM,MMM,MMMM,dd,ddd,dddd";
@@ -711,22 +710,22 @@ DefaultLocaleImpl
return result; return result;
} }
WString FormatTime(const WString& localeName, const WString& format, DateTime time) const override WString EnUsLocaleImpl::FormatTime(const WString& localeName, const WString& format, DateTime time) const
{ {
return FormatDate(localeName, format, time); return FormatDate(localeName, format, time);
} }
WString FormatNumber(const WString&, const WString& number) const override WString EnUsLocaleImpl::FormatNumber(const WString&, const WString& number) const
{ {
return number; return number;
} }
WString FormatCurrency(const WString&, const WString& currency) const override WString EnUsLocaleImpl::FormatCurrency(const WString&, const WString& currency) const
{ {
return currency; return currency;
} }
WString GetShortDayOfWeekName(const WString&, vint dayOfWeek) const override WString EnUsLocaleImpl::GetShortDayOfWeekName(const WString&, vint dayOfWeek) const
{ {
switch (dayOfWeek) switch (dayOfWeek)
{ {
@@ -741,7 +740,7 @@ DefaultLocaleImpl
return L""; return L"";
} }
WString GetLongDayOfWeekName(const WString&, vint dayOfWeek) const override WString EnUsLocaleImpl::GetLongDayOfWeekName(const WString&, vint dayOfWeek) const
{ {
switch (dayOfWeek) switch (dayOfWeek)
{ {
@@ -756,7 +755,7 @@ DefaultLocaleImpl
return L""; return L"";
} }
WString GetShortMonthName(const WString&, vint month) const override WString EnUsLocaleImpl::GetShortMonthName(const WString&, vint month) const
{ {
switch (month) switch (month)
{ {
@@ -776,7 +775,7 @@ DefaultLocaleImpl
return L""; return L"";
} }
WString GetLongMonthName(const WString&, vint month) const override WString EnUsLocaleImpl::GetLongMonthName(const WString&, vint month) const
{ {
switch (month) switch (month)
{ {
@@ -796,27 +795,27 @@ DefaultLocaleImpl
return L""; return L"";
} }
WString ToLower(const WString&, const WString& str) const override WString EnUsLocaleImpl::ToLower(const WString&, const WString& str) const
{ {
return wlower(str); return wlower(str);
} }
WString ToUpper(const WString&, const WString& str) const override WString EnUsLocaleImpl::ToUpper(const WString&, const WString& str) const
{ {
return wupper(str); return wupper(str);
} }
WString ToLinguisticLower(const WString&, const WString& str) const override WString EnUsLocaleImpl::ToLinguisticLower(const WString&, const WString& str) const
{ {
return wlower(str); return wlower(str);
} }
WString ToLinguisticUpper(const WString&, const WString& str) const override WString EnUsLocaleImpl::ToLinguisticUpper(const WString&, const WString& str) const
{ {
return wupper(str); return wupper(str);
} }
vint Compare(const WString&, const WString& s1, const WString& s2, Locale::Normalization normalization) const override vint EnUsLocaleImpl::Compare(const WString&, const WString& s1, const WString& s2, Locale::Normalization normalization) const
{ {
switch (normalization) switch (normalization)
{ {
@@ -829,17 +828,17 @@ DefaultLocaleImpl
} }
} }
vint CompareOrdinal(const WString& s1, const WString& s2) const override vint EnUsLocaleImpl::CompareOrdinal(const WString& s1, const WString& s2) const
{ {
return wcscmp(s1.Buffer(), s2.Buffer()); return wcscmp(s1.Buffer(), s2.Buffer());
} }
vint CompareOrdinalIgnoreCase(const WString& s1, const WString& s2) const override vint EnUsLocaleImpl::CompareOrdinalIgnoreCase(const WString& s1, const WString& s2) const
{ {
return _wcsicmp(s1.Buffer(), s2.Buffer()); return _wcsicmp(s1.Buffer(), s2.Buffer());
} }
Pair<vint, vint> FindFirst(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override Pair<vint, vint> EnUsLocaleImpl::FindFirst(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)
{ {
@@ -880,7 +879,7 @@ DefaultLocaleImpl
return result == nullptr ? Pair<vint, vint>(-1, 0) : Pair<vint, vint>(result - text.Buffer(), find.Length()); return result == nullptr ? Pair<vint, vint>(-1, 0) : Pair<vint, vint>(result - text.Buffer(), find.Length());
} }
Pair<vint, vint> FindLast(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override Pair<vint, vint> 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)
{ {
@@ -919,7 +918,7 @@ DefaultLocaleImpl
return result == nullptr ? Pair<vint, vint>(-1, 0) : Pair<vint, vint>(result - text.Buffer(), find.Length()); return result == nullptr ? Pair<vint, vint>(-1, 0) : Pair<vint, vint>(result - text.Buffer(), find.Length());
} }
bool StartsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override bool EnUsLocaleImpl::StartsWith(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)
{ {
@@ -935,7 +934,7 @@ DefaultLocaleImpl
return false; return false;
} }
bool EndsWith(const WString&, const WString& text, const WString& find, Locale::Normalization normalization) const override 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)
{ {
@@ -950,18 +949,39 @@ DefaultLocaleImpl
} }
return false; return false;
} }
};
#ifdef VCZH_GCC #ifdef VCZH_GCC
#undef _wcsicmp #undef _wcsicmp
#undef _wcsnicmp #undef _wcsnicmp
#endif #endif
DefaultLocaleImpl defaultLocaleImpl; /***********************************************************************
InjectLocaleImpl
***********************************************************************/
ILocaleImpl* GetDefaultLocaleImpl() extern ILocaleImpl* GetOSLocaleImpl();
feature_injection::FeatureInjection<ILocaleImpl>& GetLocaleInjection()
{ {
return &defaultLocaleImpl; static feature_injection::FeatureInjection<ILocaleImpl> 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() Locale Locale::Invariant()
{ {
return GetDefaultLocaleImpl()->Invariant(); return GetLocaleInjection().Get()->Invariant();
} }
Locale Locale::SystemDefault() Locale Locale::SystemDefault()
{ {
return GetDefaultLocaleImpl()->SystemDefault(); return GetLocaleInjection().Get()->SystemDefault();
} }
Locale Locale::UserDefault() Locale Locale::UserDefault()
{ {
return GetDefaultLocaleImpl()->UserDefault(); return GetLocaleInjection().Get()->UserDefault();
} }
void Locale::Enumerate(collections::List<Locale>& locales) void Locale::Enumerate(collections::List<Locale>& locales)
{ {
GetDefaultLocaleImpl()->Enumerate(locales); GetLocaleInjection().Get()->Enumerate(locales);
} }
/*********************************************************************** /***********************************************************************
@@ -1008,122 +1028,122 @@ Locale (ILocaleImpl redirections)
void Locale::GetShortDateFormats(collections::List<WString>& formats)const void Locale::GetShortDateFormats(collections::List<WString>& formats)const
{ {
GetDefaultLocaleImpl()->GetShortDateFormats(localeName, formats); GetLocaleInjection().Get()->GetShortDateFormats(localeName, formats);
} }
void Locale::GetLongDateFormats(collections::List<WString>& formats)const void Locale::GetLongDateFormats(collections::List<WString>& formats)const
{ {
GetDefaultLocaleImpl()->GetLongDateFormats(localeName, formats); GetLocaleInjection().Get()->GetLongDateFormats(localeName, formats);
} }
void Locale::GetYearMonthDateFormats(collections::List<WString>& formats)const void Locale::GetYearMonthDateFormats(collections::List<WString>& formats)const
{ {
GetDefaultLocaleImpl()->GetYearMonthDateFormats(localeName, formats); GetLocaleInjection().Get()->GetYearMonthDateFormats(localeName, formats);
} }
void Locale::GetLongTimeFormats(collections::List<WString>& formats)const void Locale::GetLongTimeFormats(collections::List<WString>& formats)const
{ {
GetDefaultLocaleImpl()->GetLongTimeFormats(localeName, formats); GetLocaleInjection().Get()->GetLongTimeFormats(localeName, formats);
} }
void Locale::GetShortTimeFormats(collections::List<WString>& formats)const void Locale::GetShortTimeFormats(collections::List<WString>& formats)const
{ {
GetDefaultLocaleImpl()->GetShortTimeFormats(localeName, formats); GetLocaleInjection().Get()->GetShortTimeFormats(localeName, formats);
} }
WString Locale::FormatDate(const WString& format, DateTime date)const 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 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 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 WString Locale::FormatCurrency(const WString& currency)const
{ {
return GetDefaultLocaleImpl()->FormatCurrency(localeName, currency); return GetLocaleInjection().Get()->FormatCurrency(localeName, currency);
} }
WString Locale::GetShortDayOfWeekName(vint dayOfWeek)const WString Locale::GetShortDayOfWeekName(vint dayOfWeek)const
{ {
return GetDefaultLocaleImpl()->GetShortDayOfWeekName(localeName, dayOfWeek); return GetLocaleInjection().Get()->GetShortDayOfWeekName(localeName, dayOfWeek);
} }
WString Locale::GetLongDayOfWeekName(vint dayOfWeek)const WString Locale::GetLongDayOfWeekName(vint dayOfWeek)const
{ {
return GetDefaultLocaleImpl()->GetLongDayOfWeekName(localeName, dayOfWeek); return GetLocaleInjection().Get()->GetLongDayOfWeekName(localeName, dayOfWeek);
} }
WString Locale::GetShortMonthName(vint month)const WString Locale::GetShortMonthName(vint month)const
{ {
return GetDefaultLocaleImpl()->GetShortMonthName(localeName, month); return GetLocaleInjection().Get()->GetShortMonthName(localeName, month);
} }
WString Locale::GetLongMonthName(vint month)const WString Locale::GetLongMonthName(vint month)const
{ {
return GetDefaultLocaleImpl()->GetLongMonthName(localeName, month); return GetLocaleInjection().Get()->GetLongMonthName(localeName, month);
} }
WString Locale::ToLower(const WString& str)const 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 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 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 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 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 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 vint Locale::CompareOrdinalIgnoreCase(const WString& s1, const WString& s2)const
{ {
return GetDefaultLocaleImpl()->CompareOrdinalIgnoreCase(s1, s2); return GetLocaleInjection().Get()->CompareOrdinalIgnoreCase(s1, s2);
} }
collections::Pair<vint, vint> Locale::FindFirst(const WString& text, const WString& find, Normalization normalization)const collections::Pair<vint, vint> 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<vint, vint> Locale::FindLast(const WString& text, const WString& find, Normalization normalization)const collections::Pair<vint, vint> 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 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 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);
} }
} }
+55 -3
View File
@@ -149,6 +149,10 @@ Licensed under https://github.com/vczh-libraries/License
namespace vl namespace vl
{ {
/***********************************************************************
Locale
***********************************************************************/
/// <summary>Locale awared operations. Macro "INVLOC" is a shortcut to get a invariant locale.</summary> /// <summary>Locale awared operations. Macro "INVLOC" is a shortcut to get a invariant locale.</summary>
/// <remarks> /// <remarks>
/// <p> /// <p>
@@ -406,8 +410,12 @@ namespace vl
#define INVLOC vl::Locale::Invariant() #define INVLOC vl::Locale::Invariant()
/***********************************************************************
ILocaleImpl
***********************************************************************/
/// <summary>Platform-specific locale implementation interface.</summary> /// <summary>Platform-specific locale implementation interface.</summary>
class ILocaleImpl : public virtual Interface class ILocaleImpl : public virtual feature_injection::IFeatureImpl
{ {
public: public:
virtual Locale Invariant() const = 0; 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; 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 InjectLocaleImpl(ILocaleImpl* impl);
extern void EjectLocaleImpl(ILocaleImpl* impl);
/***********************************************************************
EnUsLocaleImpl
***********************************************************************/
/// <summary>A platform independent implementation that only supports en-US.</summary>
class EnUsLocaleImpl : public feature_injection::FeatureImpl<ILocaleImpl>
{
public:
Locale Invariant() const override;
Locale SystemDefault() const override;
Locale UserDefault() const override;
void Enumerate(collections::List<Locale>& locales) const override;
void GetShortDateFormats(const WString& localeName, collections::List<WString>& formats) const override;
void GetLongDateFormats(const WString& localeName, collections::List<WString>& formats) const override;
void GetYearMonthDateFormats(const WString& localeName, collections::List<WString>& formats) const override;
void GetLongTimeFormats(const WString& localeName, collections::List<WString>& formats) const override;
void GetShortTimeFormats(const WString& localeName, collections::List<WString>& 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<vint, vint> FindFirst(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const override;
collections::Pair<vint, vint> 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 #endif
@@ -2620,7 +2671,7 @@ namespace vl
}; };
/// <summary>Platform-specific file system implementation interface.</summary> /// <summary>Platform-specific file system implementation interface.</summary>
class IFileSystemImpl : public virtual Interface class IFileSystemImpl : public virtual feature_injection::IFeatureImpl
{ {
public: public:
// FilePath operations // FilePath operations
@@ -2646,6 +2697,7 @@ namespace vl
}; };
extern void InjectFileSystemImpl(IFileSystemImpl* impl); extern void InjectFileSystemImpl(IFileSystemImpl* impl);
extern void EjectFileSystemImpl(IFileSystemImpl* impl);
} }
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.