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
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->GetText();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_);
if ((__vwsn_old_ == __vwsn_new_))
{
return;
}
::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_33)->SetText(__vwsn_new_);
}
//-------------------------------------------------------------------
__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
void __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->GetText();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_);
if ((__vwsn_old_ == __vwsn_new_))
{
return;
}
::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_36)->SetText(__vwsn_new_);
}
//-------------------------------------------------------------------
__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
void __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetText();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_);
@@ -601,12 +565,12 @@ Closures
//-------------------------------------------------------------------
__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
}
void __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
void __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
{
auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->self)->GetStrings();
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>>(__vwsn_value_);
@@ -994,10 +958,11 @@ Closures
//-------------------------------------------------------------------
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsn_this_(__vwsnctor___vwsn_this_)
, __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr);
this->__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr);
this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>();
this->__vwsn_bind_opened_ = false;
this->__vwsn_bind_closed_ = false;
@@ -1005,11 +970,11 @@ Closures
void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_()
{
auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetDomAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }();
auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetStrings().Obj())->WindowTitle();
::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
}
void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1)
void __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0()
{
this->__vwsn_bind_activator_();
}
@@ -1019,8 +984,8 @@ Closures
if ((! __vwsn_bind_opened_))
{
(__vwsn_bind_opened_ = true);
(__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }());
(__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func<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_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, &__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }());
return true;
}
return false;
@@ -1043,10 +1008,10 @@ Closures
(__vwsn_bind_closed_ = true);
if (static_cast<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_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr));
(__vwsn_bind_cache_0 = static_cast<::gaclib_controls::UnitTestSnapshotViewerWindow*>(nullptr));
(__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>());
return true;
}
@@ -1058,7 +1023,7 @@ Closures
__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
{
this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr);
this->__vwsn_bind_cache_0 = static_cast<::vl::presentation::controls::GuiApplication*>(nullptr);
this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>();
this->__vwsn_bind_opened_ = false;
this->__vwsn_bind_closed_ = false;
@@ -1066,11 +1031,11 @@ Closures
void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_activator_()
{
auto __vwsn_bind_activator_result_ = [&](){ try{ return ::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame>>(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetSelectedItem()).Obj())->GetElementsAsJsonText(); } catch(...){ return ::vl::WString::Unmanaged(L""); } }();
auto __vwsn_bind_activator_result_ = ::gaclib_controls::UnitTestSnapshotViewerStrings::Get(::vl::__vwsn::This(__vwsn_bind_cache_0)->GetLocale());
::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
}
void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1)
void __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0()
{
this->__vwsn_bind_activator_();
}
@@ -1080,8 +1045,8 @@ Closures
if ((! __vwsn_bind_opened_))
{
(__vwsn_bind_opened_ = true);
(__vwsn_bind_cache_0 = [&](){ try{ return __vwsnthis_0->textListFrames; } catch(...){ return static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr); } }());
(__vwsn_bind_handler_0_0 = [&](){ try{ return ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0)->SelectionChanged, ::vl::Func<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_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, &__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)); } catch(...){ return ::vl::Ptr<::vl::reflection::description::IEventHandler>(); } }());
return true;
}
return false;
@@ -1098,129 +1063,6 @@ Closures
}
bool __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription::Close()
{
if ((! __vwsn_bind_closed_))
{
(__vwsn_bind_closed_ = true);
if (static_cast<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_))
{
@@ -1239,11 +1081,11 @@ Closures
//-------------------------------------------------------------------
__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()
__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings()
{
}
::vl::WString __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle()
::vl::WString __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings::WindowTitle()
{
return ::vl::WString::Unmanaged(L"Unit Test Snapshot Viewer");
}
@@ -1278,7 +1120,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerStrings)
::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> UnitTestSnapshotViewerStrings::__vwsn_ls_en_US_BuildStrings(::vl::Locale __vwsn_ls_locale)
{
return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings());
return ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings>(new ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings());
}
void UnitTestSnapshotViewerStrings::Install(::vl::Locale __vwsn_ls_locale, ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotViewerStringsStrings> __vwsn_ls_impl)
@@ -1314,9 +1156,9 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
{
::vl::__vwsn::This(this->self)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1920); __vwsn_temp__.y = static_cast<::vl::vint>(1080); return __vwsn_temp__; }());
}
(this->__vwsn_precompile_38 = ::vl::__vwsn::This(this->self)->GetBoundsComposition());
(this->__vwsn_precompile_32 = ::vl::__vwsn::This(this->self)->GetBoundsComposition());
{
::vl::__vwsn::This(this->__vwsn_precompile_38)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(800); __vwsn_temp__.y = static_cast<::vl::vint>(600); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_32)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(800); __vwsn_temp__.y = static_cast<::vl::vint>(600); return __vwsn_temp__; }());
}
(this->__vwsn_precompile_0 = new ::vl::presentation::compositions::GuiTableComposition());
{
@@ -1638,64 +1480,6 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages());
::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_13));
}
{
(this->__vwsn_precompile_32 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_32)->SetText(::vl::WString::Unmanaged(L"DOM"));
}
{
(this->__vwsn_precompile_33 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_33)->SetHorizontalAlwaysVisible(false);
}
{
::vl::__vwsn::This(this->__vwsn_precompile_33)->SetVerticalAlwaysVisible(false);
}
{
::vl::__vwsn::This(this->__vwsn_precompile_33)->SetEditMode(::vl::presentation::controls::GuiDocumentEditMode::Selectable);
}
(this->__vwsn_precompile_34 = ::vl::__vwsn::This(this->__vwsn_precompile_33)->GetBoundsComposition());
{
::vl::__vwsn::This(this->__vwsn_precompile_34)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_32)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_33));
}
{
auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages());
::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_32));
}
{
(this->__vwsn_precompile_35 = new ::vl::presentation::controls::GuiTabPage(::vl::presentation::theme::ThemeName::CustomControl));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_35)->SetText(::vl::WString::Unmanaged(L"Elements"));
}
{
(this->__vwsn_precompile_36 = new ::vl::presentation::controls::GuiMultilineTextBox(::vl::presentation::theme::ThemeName::MultilineTextBox));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_36)->SetHorizontalAlwaysVisible(false);
}
{
::vl::__vwsn::This(this->__vwsn_precompile_36)->SetVerticalAlwaysVisible(false);
}
{
::vl::__vwsn::This(this->__vwsn_precompile_36)->SetEditMode(::vl::presentation::controls::GuiDocumentEditMode::Selectable);
}
(this->__vwsn_precompile_37 = ::vl::__vwsn::This(this->__vwsn_precompile_36)->GetBoundsComposition());
{
::vl::__vwsn::This(this->__vwsn_precompile_37)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(5); __vwsn_temp__.top = static_cast<::vl::vint>(5); __vwsn_temp__.right = static_cast<::vl::vint>(5); __vwsn_temp__.bottom = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_35)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(this->__vwsn_precompile_36));
}
{
auto __vwsn_collection_ = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueObservableList>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetPages());
::vl::__vwsn::This(__vwsn_collection_.Obj())->Add(::vl::__vwsn::Box(this->__vwsn_precompile_35));
}
(this->__vwsn_precompile_12 = ::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition());
{
::vl::__vwsn::This(this->__vwsn_precompile_12)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = static_cast<::vl::vint>(0); __vwsn_temp__.top = static_cast<::vl::vint>(0); __vwsn_temp__.right = static_cast<::vl::vint>(0); __vwsn_temp__.bottom = static_cast<::vl::vint>(0); return __vwsn_temp__; }());
@@ -1736,7 +1520,7 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this));
auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
@@ -1745,16 +1529,6 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(__vwsn_this_, this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
{
auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(this));
::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, vl::Func(::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(this)));
::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
}
}
UnitTestSnapshotViewerWindowConstructor::UnitTestSnapshotViewerWindowConstructor()
@@ -1792,17 +1566,11 @@ Class (::gaclib_controls::UnitTestSnapshotViewerWindowConstructor)
, __vwsn_precompile_29(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr))
, __vwsn_precompile_30(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr))
, __vwsn_precompile_31(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, __vwsn_precompile_32(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr))
, __vwsn_precompile_33(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr))
, __vwsn_precompile_34(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, __vwsn_precompile_32(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, treeViewFileNodes(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr))
, textListFrames(static_cast<::vl::presentation::controls::GuiBindableTextList*>(nullptr))
, scRendering(static_cast<::vl::presentation::controls::GuiScrollContainer*>(nullptr))
, treeViewDom(static_cast<::vl::presentation::controls::GuiBindableTreeView*>(nullptr))
, __vwsn_precompile_35(static_cast<::vl::presentation::controls::GuiTabPage*>(nullptr))
, __vwsn_precompile_36(static_cast<::vl::presentation::controls::GuiMultilineTextBox*>(nullptr))
, __vwsn_precompile_37(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
, __vwsn_precompile_38(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr))
{
}
@@ -2093,9 +1861,6 @@ UnitTestSnapshotFrame
UnitTest_RenderingTrace& trace;
UnitTest_RenderingFrame frame;
Ptr<UnitTestSnapshotDomNode> domRoot;
WString elements;
WString commands;
WString dom;
public:
UnitTestSnapshotFrame(vint _index, UnitTest_RenderingTrace& _trace, UnitTest_RenderingFrame _frame)
@@ -2117,24 +1882,6 @@ UnitTestSnapshotFrame
}
}
WString GetElementsAsJsonText() override
{
if (elements == L"")
{
elements = JsonToString(ConvertCustomTypeToJson(frame.elements), GetJsonFormatting());
}
return elements;
}
WString GetDomAsJsonText() override
{
if (dom == L"")
{
dom = JsonToString(ConvertCustomTypeToJson(frame.root), GetJsonFormatting());
}
return dom;
}
Ptr<IUnitTestSnapshotDomNode> GetDom() override
{
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 __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -58,9 +56,7 @@ namespace vl_workflow_global
class __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
}
namespace __vwsn_enums
@@ -120,8 +116,6 @@ namespace gaclib_controls
#endif
public:
virtual ::vl::WString GetName() = 0;
virtual ::vl::WString GetElementsAsJsonText() = 0;
virtual ::vl::WString GetDomAsJsonText() = 0;
virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 0;
};
@@ -145,7 +139,7 @@ namespace gaclib_controls
class UnitTestSnapshotViewerStrings : public ::vl::Object, public ::vl::reflection::Description<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
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>;
#endif
@@ -164,13 +158,9 @@ namespace gaclib_controls
friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -218,17 +208,11 @@ namespace gaclib_controls
::vl::presentation::controls::GuiTabPage* __vwsn_precompile_29;
::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_30;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_31;
::vl::presentation::controls::GuiTabPage* __vwsn_precompile_32;
::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_33;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_34;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_32;
::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes;
::vl::presentation::controls::GuiBindableTextList* textListFrames;
::vl::presentation::controls::GuiScrollContainer* scRendering;
::vl::presentation::controls::GuiBindableTreeView* treeViewDom;
::vl::presentation::controls::GuiTabPage* __vwsn_precompile_35;
::vl::presentation::controls::GuiMultilineTextBox* __vwsn_precompile_36;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_37;
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_38;
void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_);
public:
UnitTestSnapshotViewerWindowConstructor();
@@ -243,13 +227,9 @@ namespace gaclib_controls
friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -326,24 +306,6 @@ Closures
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
struct __vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnf14_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
@@ -499,47 +461,11 @@ Closures
class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_();
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
bool Open() override;
bool Update() override;
bool Close() override;
};
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_();
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
bool Open() override;
bool Update() override;
bool Close() override;
};
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_;
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -552,12 +478,12 @@ Closures
bool Close() override;
};
class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -570,10 +496,10 @@ Closures
bool Close() override;
};
class __vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings
{
public:
__vwsnc9_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings();
__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings();
::vl::WString WindowTitle() override;
};
-10
View File
@@ -80,12 +80,8 @@ namespace vl
BEGIN_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
CLASS_MEMBER_BASE(::vl::reflection::IDescriptable)
CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetDomAsJsonText, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetElementsAsJsonText, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetName, NO_PARAMETER)
CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom)
CLASS_MEMBER_PROPERTY_READONLY(DomAsJsonText, GetDomAsJsonText)
CLASS_MEMBER_PROPERTY_READONLY(ElementsAsJsonText, GetElementsAsJsonText)
CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
@@ -161,12 +157,6 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_30)
CLASS_MEMBER_FIELD(__vwsn_precompile_31)
CLASS_MEMBER_FIELD(__vwsn_precompile_32)
CLASS_MEMBER_FIELD(__vwsn_precompile_33)
CLASS_MEMBER_FIELD(__vwsn_precompile_34)
CLASS_MEMBER_FIELD(__vwsn_precompile_35)
CLASS_MEMBER_FIELD(__vwsn_precompile_36)
CLASS_MEMBER_FIELD(__vwsn_precompile_37)
CLASS_MEMBER_FIELD(__vwsn_precompile_38)
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
CLASS_MEMBER_FIELD(__vwsn_precompile_6)
-8
View File
@@ -114,14 +114,6 @@ namespace vl
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDom);
}
::vl::WString GetDomAsJsonText() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetDomAsJsonText);
}
::vl::WString GetElementsAsJsonText() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetElementsAsJsonText);
}
::vl::WString GetName() override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetName);
+65 -28
View File
@@ -1089,7 +1089,7 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
vint textWidth = 0;
vint textHeight = 0;
collections::List<vint> lines;
collections::List<WString> lines;
{
collections::List<Ptr<regex::RegexMatch>> matches;
regexCrLf.Split(text, true, matches);
@@ -1097,30 +1097,32 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
if (matches.Count() == 0)
{
// when there is no text, measure a space
lines.Add(1);
lines.Add(WString::Unmanaged(L" "));
}
else if (arguments.multiline)
{
// add all lines, and if any line is empty, measure a space
for (auto match : matches)
{
auto line = match->Result().Value();
lines.Add(line.Length() ? line : WString::Unmanaged(L" "));
}
}
else
{
auto normalizedLines =
From(matches)
.Select([](auto&& match) { return match->Result().Length(); })
.Select([](vint length) { return length ? length : 1; })
;
if (arguments.multiline)
lines.Add(stream::GenerateToStream([&](stream::TextWriter& writer)
{
// calculate text as multiple lines
CopyFrom(
lines,
normalizedLines
);
}
else
for (auto [match, index] : indexed(matches))
{
if (index > 0) writer.WriteChar(L' ');
auto line = match->Result().Value();
writer.WriteString(line);
}
}));
if(lines[0].Length() == 0)
{
// calculate text as single line, insert a space between each line
lines.Add(
normalizedLines
.template Aggregate<vint>(-1, [](auto a, auto b) { return a + b + 1; })
);
// when there is no text, measure a space
lines[0] = WString::Unmanaged(L" ");
}
}
}
@@ -1129,24 +1131,59 @@ IGuiRemoteProtocolMessages (Elements - SolidLabel)
{
// width of the text is 0
// insert a line break when there is no space horizontally
textHeight = 4 + size * From(lines)
.Select([columns = width / size](vint length)
vint totalLines = 0;
for (auto&& line : lines)
{
if (line.Length() == 0)
{
if (columns == 0)
totalLines++;
continue;
}
double accumulatedWidth = 0;
for (vint i = 0; i < line.Length(); i++)
{
auto c = line[i];
auto w = (c < 128 ? 0.6 : 1) * size;
if (accumulatedWidth + w > width)
{
return length;
if (accumulatedWidth == 0)
{
totalLines++;
}
else
{
totalLines++;
accumulatedWidth = w;
}
}
else
{
return (length + columns - 1) / columns;
accumulatedWidth += w;
}
})
.template Aggregate<vint>(0, [](auto a, auto b) { return a + b; });
}
if (accumulatedWidth > 0)
{
totalLines++;
}
}
textHeight = 4 + size * totalLines;
}
else
{
// width of the text is width of the longest line
textWidth = size * From(lines).Max();
textWidth = (vint)(size * From(lines)
.Select([](const WString& line)
{
double sum = 0;
for (vint i = 0; i < line.Length(); i++)
{
auto c = line[i];
sum += (c < 128 ? 0.6 : 1);
}
return sum;
})
.Max());
textHeight = 4 + size * lines.Count();
}
+37 -24
View File
@@ -3485,11 +3485,11 @@ WindowsDirect2DParagraph (Formatting)
void SetMaxWidth(vint value)override
{
if(maxWidth!=value)
if (maxWidth != value)
{
maxWidth=value;
textLayout->SetMaxWidth(value==-1?65536:(FLOAT)value);
formatDataAvailable=false;
maxWidth = value;
textLayout->SetMaxWidth(value == -1 ? 65536 : (FLOAT)value);
formatDataAvailable = false;
}
}
@@ -3510,18 +3510,21 @@ WindowsDirect2DParagraph (Formatting)
void SetParagraphAlignment(Alignment value)override
{
formatDataAvailable=false;
switch(value)
if (GetParagraphAlignment() != value)
{
case Alignment::Left:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING);
break;
case Alignment::Center:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER);
break;
case Alignment::Right:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_TRAILING);
break;
formatDataAvailable = false;
switch (value)
{
case Alignment::Left:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING);
break;
case Alignment::Center:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER);
break;
case Alignment::Right:
textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_TRAILING);
break;
}
}
}
@@ -8504,8 +8507,11 @@ WindowsGDIParagraph
void SetWrapLine(bool value)override
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment);
if (paragraph->lastWrapLine != value)
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(value, paragraph->lastAvailableWidth, paragraph->paragraphAlignment);
}
}
vint GetMaxWidth()override
@@ -8515,8 +8521,11 @@ WindowsGDIParagraph
void SetMaxWidth(vint value)override
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment);
if (paragraph->lastAvailableWidth != value)
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, value, paragraph->paragraphAlignment);
}
}
Alignment GetParagraphAlignment()override
@@ -8526,8 +8535,11 @@ WindowsGDIParagraph
void SetParagraphAlignment(Alignment value)override
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value);
if (paragraph->paragraphAlignment != value)
{
paragraph->BuildUniscribeData(renderTarget->GetDC());
paragraph->Layout(paragraph->lastWrapLine, paragraph->lastAvailableWidth, value);
}
}
bool SetFont(vint start, vint length, const WString& value)override
@@ -8667,6 +8679,7 @@ WindowsGDIParagraph
bool IsCaretBoundsFromTextRun(vint caret, bool caretFrontSide)
{
if (paragraph->lines.Count() == 1 && paragraph->lines[0]->scriptRuns.Count() == 0) return true;
if (!paragraph->IsValidCaret(caret)) return false;
vint frontLine = 0;
@@ -10784,9 +10797,9 @@ UniscribeLine
if (scriptRuns.Count() == 0)
{
// if this line doesn't contains any run, skip and render a blank line
vint height = (vint)(documentFragments[0]->fontStyle.size * 1.5);
bounds = Rect(Point(cx, cy), Size(0, height));
cy += height;
vint minHeight = documentFragments[0]->fontStyle.size;
bounds = Rect(Point(cx, cy), Size(0, minHeight));
cy += minHeight;
}
else
{
+1020 -708
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(CalculateCaretFromPoint, {L"point"})
CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"})
CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"})
CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model" _ L"copy"})
CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text"})
CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText" _ L"skipFormatting"})
CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model" _ L"copy" _ L"skipFormatting" })
CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text" _ L"skipFormatting" })
CLASS_MEMBER_METHOD(EditStyle, {L"begin" _ L"end" _ L"style"})
CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"})
CLASS_MEMBER_METHOD(EditHyperlink, {L"paragraphIndex" _ L"begin" _ L"end" _ L"reference" _ L"normalStyleName" _ L"activeStyleName"})
@@ -2993,6 +2993,8 @@ Type Declaration (Class)
CLASS_MEMBER_METHOD(SetParagraphAlignments, { L"begin" _ L"end" _ L"alignments" })
CLASS_MEMBER_METHOD(SetParagraphAlignment, { L"begin" _ L"end" _ L"alignment" })
CLASS_MEMBER_METHOD(SummarizeParagraphAlignment, { L"begin" _ L"end" })
CLASS_MEMBER_METHOD(LoadTextAndClearUndoRedo, { L"text" })
CLASS_MEMBER_METHOD(LoadDocumentAndClearUndoRedo, { L"document" _ L"copy"})
CLASS_MEMBER_METHOD(SelectAll, NO_PARAMETER)
CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER)
CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER)
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::MenuSplitterTemplate)
IMPL_CPP_TYPE_INFO(darkskin::MenuSplitterTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::MultilineTextBoxTemplate)
IMPL_CPP_TYPE_INFO(darkskin::MultilineTextBoxTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplate)
IMPL_CPP_TYPE_INFO(darkskin::ProgressBarTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::RadioButtonTemplate)
@@ -136,8 +134,6 @@ namespace vl
IMPL_CPP_TYPE_INFO(darkskin::ScrollViewTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplate)
IMPL_CPP_TYPE_INFO(darkskin::ShortcutKeyTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::SinglelineTextBoxTemplate)
IMPL_CPP_TYPE_INFO(darkskin::SinglelineTextBoxTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplate)
IMPL_CPP_TYPE_INFO(darkskin::SystemFrameWindowTemplateConstructor)
IMPL_CPP_TYPE_INFO(darkskin::TabHeaderButtonTemplate)
@@ -674,23 +670,6 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
END_CLASS_MEMBER(::darkskin::MenuSplitterTemplateConstructor)
BEGIN_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiMultilineTextBoxTemplate)
CLASS_MEMBER_BASE(::darkskin::MultilineTextBoxTemplateConstructor)
CLASS_MEMBER_CONSTRUCTOR(::darkskin::MultilineTextBoxTemplate*(), NO_PARAMETER)
END_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplate)
BEGIN_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplateConstructor)
CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::MultilineTextBoxTemplateConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_darkskin_MultilineTextBoxTemplate_Initialize, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
CLASS_MEMBER_FIELD(look)
CLASS_MEMBER_FIELD(self)
END_CLASS_MEMBER(::darkskin::MultilineTextBoxTemplateConstructor)
BEGIN_CLASS_MEMBER(::darkskin::ProgressBarTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiScrollTemplate)
CLASS_MEMBER_BASE(::darkskin::ProgressBarTemplateConstructor)
@@ -1183,23 +1162,6 @@ namespace vl
CLASS_MEMBER_FIELD(self)
END_CLASS_MEMBER(::darkskin::ShortcutKeyTemplateConstructor)
BEGIN_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiSinglelineTextBoxTemplate)
CLASS_MEMBER_BASE(::darkskin::SinglelineTextBoxTemplateConstructor)
CLASS_MEMBER_CONSTRUCTOR(::darkskin::SinglelineTextBoxTemplate*(), NO_PARAMETER)
END_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplate)
BEGIN_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplateConstructor)
CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::darkskin::SinglelineTextBoxTemplateConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_darkskin_SinglelineTextBoxTemplate_Initialize, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
CLASS_MEMBER_FIELD(container)
CLASS_MEMBER_FIELD(self)
END_CLASS_MEMBER(::darkskin::SinglelineTextBoxTemplateConstructor)
BEGIN_CLASS_MEMBER(::darkskin::SystemFrameWindowTemplate)
CLASS_MEMBER_BASE(::vl::presentation::templates::GuiWindowTemplate)
CLASS_MEMBER_BASE(::darkskin::SystemFrameWindowTemplateConstructor)
@@ -1660,8 +1622,6 @@ namespace vl
ADD_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor)
ADD_TYPE_INFO(::darkskin::MenuSplitterTemplate)
ADD_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor)
ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplate)
ADD_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor)
ADD_TYPE_INFO(::darkskin::ProgressBarTemplate)
ADD_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor)
ADD_TYPE_INFO(::darkskin::RadioButtonTemplate)
@@ -1710,8 +1670,6 @@ namespace vl
ADD_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor)
ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplate)
ADD_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor)
ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate)
ADD_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor)
ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplate)
ADD_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor)
ADD_TYPE_INFO(::darkskin::TabHeaderButtonTemplate)
@@ -99,8 +99,6 @@ namespace vl
DECL_TYPE_INFO(::darkskin::MenuItemButtonTemplateConstructor)
DECL_TYPE_INFO(::darkskin::MenuSplitterTemplate)
DECL_TYPE_INFO(::darkskin::MenuSplitterTemplateConstructor)
DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplate)
DECL_TYPE_INFO(::darkskin::MultilineTextBoxTemplateConstructor)
DECL_TYPE_INFO(::darkskin::ProgressBarTemplate)
DECL_TYPE_INFO(::darkskin::ProgressBarTemplateConstructor)
DECL_TYPE_INFO(::darkskin::RadioButtonTemplate)
@@ -149,8 +147,6 @@ namespace vl
DECL_TYPE_INFO(::darkskin::ScrollViewTemplateConstructor)
DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplate)
DECL_TYPE_INFO(::darkskin::ShortcutKeyTemplateConstructor)
DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplate)
DECL_TYPE_INFO(::darkskin::SinglelineTextBoxTemplateConstructor)
DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplate)
DECL_TYPE_INFO(::darkskin::SystemFrameWindowTemplateConstructor)
DECL_TYPE_INFO(::darkskin::TabHeaderButtonTemplate)
+2 -3
View File
@@ -80,7 +80,7 @@ namespace vl
DateTime
***********************************************************************/
class LinuxDateTimeImpl : public Object, public virtual IDateTimeImpl
class LinuxDateTimeImpl : public feature_injection::FeatureImpl<IDateTimeImpl>
{
public:
@@ -197,10 +197,9 @@ DateTime
}
};
LinuxDateTimeImpl osDateTimeImpl;
IDateTimeImpl* GetOSDateTimeImpl()
{
static LinuxDateTimeImpl osDateTimeImpl;
return &osDateTimeImpl;
}
}
+2 -3
View File
@@ -112,7 +112,7 @@ namespace vl
DateTime
***********************************************************************/
class WindowsDateTimeImpl : public Object, public virtual IDateTimeImpl
class WindowsDateTimeImpl : public feature_injection::FeatureImpl<IDateTimeImpl>
{
public:
@@ -234,10 +234,9 @@ DateTime
}
};
WindowsDateTimeImpl osDateTimeImpl;
IDateTimeImpl* GetOSDateTimeImpl()
{
static WindowsDateTimeImpl osDateTimeImpl;
return &osDateTimeImpl;
}
}
+24 -13
View File
@@ -314,16 +314,27 @@ namespace vl
{
extern IDateTimeImpl* GetOSDateTimeImpl();
IDateTimeImpl* dateTimeImpl = nullptr;
IDateTimeImpl* GetDateTimeImpl()
feature_injection::FeatureInjection<IDateTimeImpl>& GetDateTimeInjection()
{
return dateTimeImpl ? dateTimeImpl : GetOSDateTimeImpl();
static feature_injection::FeatureInjection<IDateTimeImpl> injection(GetOSDateTimeImpl());
return injection;
}
void InjectDateTimeImpl(IDateTimeImpl* impl)
{
dateTimeImpl = impl;
GetDateTimeInjection().Inject(impl);
}
void EjectDateTimeImpl(IDateTimeImpl* impl)
{
if (impl == nullptr)
{
GetDateTimeInjection().EjectAll();
}
else
{
GetDateTimeInjection().Eject(impl);
}
}
/***********************************************************************
@@ -332,42 +343,42 @@ DateTime
DateTime DateTime::LocalTime()
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalTime());
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalTime());
}
DateTime DateTime::UtcTime()
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->UtcTime());
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->UtcTime());
}
DateTime DateTime::FromDateTime(vint _year, vint _month, vint _day, vint _hour, vint _minute, vint _second, vint _milliseconds)
{
return GetDateTimeImpl()->FromDateTime(_year, _month, _day, _hour, _minute, _second, _milliseconds);
return GetDateTimeInjection().Get()->FromDateTime(_year, _month, _day, _hour, _minute, _second, _milliseconds);
}
DateTime DateTime::FromOSInternal(vuint64_t _osInternal)
{
return GetDateTimeImpl()->FromOSInternal(_osInternal);
return GetDateTimeInjection().Get()->FromOSInternal(_osInternal);
}
DateTime DateTime::ToLocalTime()
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->UtcToLocalTime(osInternal));
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->UtcToLocalTime(osInternal));
}
DateTime DateTime::ToUtcTime()
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->LocalToUtcTime(osInternal));
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->LocalToUtcTime(osInternal));
}
DateTime DateTime::Forward(vuint64_t milliseconds)
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->Forward(osInternal, milliseconds));
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->Forward(osInternal, milliseconds));
}
DateTime DateTime::Backward(vuint64_t milliseconds)
{
return GetDateTimeImpl()->FromOSInternal(GetDateTimeImpl()->Backward(osInternal, milliseconds));
return GetDateTimeInjection().Get()->FromOSInternal(GetDateTimeInjection().Get()->Backward(osInternal, milliseconds));
}
}
+163 -1
View File
@@ -311,6 +311,167 @@ Interface
#endif
/***********************************************************************
.\FEATUREINJECTION.H
***********************************************************************/
/***********************************************************************
Author: Zihan Chen (vczh)
Licensed under https://github.com/vczh-libraries/License
***********************************************************************/
#ifndef VCZH_FEATUREINJECTION
#define VCZH_FEATUREINJECTION
namespace vl
{
namespace feature_injection
{
/// <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
***********************************************************************/
@@ -582,7 +743,7 @@ Date and Time
}
};
class IDateTimeImpl : public virtual Interface
class IDateTimeImpl : public virtual feature_injection::IFeatureImpl
{
public:
virtual DateTime FromDateTime(vint _year, vint _month, vint _day, vint _hour, vint _minute, vint _second, vint _milliseconds) = 0;
@@ -596,6 +757,7 @@ Date and Time
};
extern void InjectDateTimeImpl(IDateTimeImpl* impl);
extern void EjectDateTimeImpl(IDateTimeImpl* impl);
}
#endif
+4 -4
View File
@@ -37,7 +37,7 @@ namespace vl
LinuxFileSystemImpl
***********************************************************************/
class LinuxFileSystemImpl : public Object, public virtual IFileSystemImpl
class LinuxFileSystemImpl : public feature_injection::FeatureImpl<IFileSystemImpl>
{
public:
// FilePath operations implementation
@@ -251,10 +251,9 @@ LinuxFileSystemImpl
Global FileSystem Implementation
***********************************************************************/
LinuxFileSystemImpl osFileSystemImpl;
IFileSystemImpl* GetOSFileSystemImpl()
{
static LinuxFileSystemImpl osFileSystemImpl;
return &osFileSystemImpl;
}
}
@@ -278,7 +277,8 @@ namespace vl
{
ILocaleImpl* GetOSLocaleImpl()
{
return GetDefaultLocaleImpl();
static EnUsLocaleImpl linuxLocaleImpl;
return &linuxLocaleImpl;
}
}
+4 -6
View File
@@ -38,7 +38,7 @@ namespace vl
WindowsFileSystemImpl
***********************************************************************/
class WindowsFileSystemImpl : public Object, public virtual IFileSystemImpl
class WindowsFileSystemImpl : public feature_injection::FeatureImpl<IFileSystemImpl>
{
public:
void Initialize(WString& fullPath) const override
@@ -267,10 +267,9 @@ WindowsFileSystemImpl
}
};
WindowsFileSystemImpl osFileSystemImpl;
IFileSystemImpl* GetOSFileSystemImpl()
{
static WindowsFileSystemImpl osFileSystemImpl;
return &osFileSystemImpl;
}
}
@@ -711,7 +710,7 @@ Locale Helper Functions
WindowsLocaleImpl
***********************************************************************/
class WindowsLocaleImpl : public Object, public ILocaleImpl
class WindowsLocaleImpl : public feature_injection::FeatureImpl<ILocaleImpl>
{
public:
Locale Invariant() const override
@@ -898,10 +897,9 @@ WindowsLocaleImpl
}
};
WindowsLocaleImpl windowsLocaleImpl;
ILocaleImpl* GetOSLocaleImpl()
{
static WindowsLocaleImpl windowsLocaleImpl;
return &windowsLocaleImpl;
}
+419 -399
View File
File diff suppressed because it is too large Load Diff
+55 -3
View File
@@ -149,6 +149,10 @@ Licensed under https://github.com/vczh-libraries/License
namespace vl
{
/***********************************************************************
Locale
***********************************************************************/
/// <summary>Locale awared operations. Macro "INVLOC" is a shortcut to get a invariant locale.</summary>
/// <remarks>
/// <p>
@@ -406,8 +410,12 @@ namespace vl
#define INVLOC vl::Locale::Invariant()
/***********************************************************************
ILocaleImpl
***********************************************************************/
/// <summary>Platform-specific locale implementation interface.</summary>
class ILocaleImpl : public virtual Interface
class ILocaleImpl : public virtual feature_injection::IFeatureImpl
{
public:
virtual Locale Invariant() const = 0;
@@ -445,8 +453,51 @@ namespace vl
virtual bool EndsWith(const WString& localeName, const WString& text, const WString& find, Locale::Normalization normalization) const = 0;
};
extern ILocaleImpl* GetDefaultLocaleImpl();
extern void InjectLocaleImpl(ILocaleImpl* impl);
extern void EjectLocaleImpl(ILocaleImpl* impl);
/***********************************************************************
EnUsLocaleImpl
***********************************************************************/
/// <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
@@ -2620,7 +2671,7 @@ namespace vl
};
/// <summary>Platform-specific file system implementation interface.</summary>
class IFileSystemImpl : public virtual Interface
class IFileSystemImpl : public virtual feature_injection::IFeatureImpl
{
public:
// FilePath operations
@@ -2646,6 +2697,7 @@ namespace vl
};
extern void InjectFileSystemImpl(IFileSystemImpl* impl);
extern void EjectFileSystemImpl(IFileSystemImpl* impl);
}
}
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.