diff --git a/Tools/GacGen32.exe b/Tools/GacGen32.exe
index 23f0368b..7681b87f 100644
Binary files a/Tools/GacGen32.exe and b/Tools/GacGen32.exe differ
diff --git a/Tools/GacGen64.exe b/Tools/GacGen64.exe
index 1d9b7176..c0a20136 100644
Binary files a/Tools/GacGen64.exe and b/Tools/GacGen64.exe differ
diff --git a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Resource.xml b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Resource.xml
index 788929d6..dab231f6 100644
--- a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Resource.xml
+++ b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Resource.xml
@@ -112,7 +112,7 @@
{
case Add(): {Calculate(); op = "+";}
case Mul(): {Calculate(); op = "*";}
- case Equal(): {Calculate(); op = "=";}
+ case Equal(): {Calculate();}
case Clear():
{
valueFirst = "";
@@ -133,13 +133,88 @@
]]>
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+
+
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+ composeType:Percentage percentage:1
+
+
+ |
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
diff --git a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.cpp
index 1c0c7ea9..1e416579 100644
--- a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.cpp
+++ b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.cpp
@@ -51,6 +51,678 @@ Global Functions
{
return Getvl_workflow_global_Demo().instance;
}
+
+/***********************************************************************
+Closures
+***********************************************************************/
+
+ //-------------------------------------------------------------------
+
+ __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(9));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(0));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Dot();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Equal();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Clear();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Mul();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Add();
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
+ {
+ auto __vwsn_old_ = ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->GetText();
+ auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_);
+ if ((__vwsn_old_ == __vwsn_new_))
+ {
+ return;
+ }
+ ::vl::__vwsn::This(__vwsnthis_0->__vwsn_precompile_3.Obj())->SetText(__vwsn_new_);
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(1));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(2));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(3));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(4));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(5));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(6));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(7));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ }
+
+ void __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const
+ {
+ ::vl::__vwsn::This(__vwsnthis_0->calculator.Obj())->Digit(static_cast<::vl::vint>(8));
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0)
+ :__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ this->__vwsn_bind_cache_0 = ::vl::Ptr<::demo::Calculator>();
+ this->__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>();
+ this->__vwsn_bind_opened_ = false;
+ this->__vwsn_bind_closed_ = false;
+ }
+
+ void __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_activator_()
+ {
+ auto __vwsn_bind_activator_result_ = ::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->GetValue();
+ ::vl::__vwsn::EventInvoke(this->ValueChanged)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
+ }
+
+ void __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0()
+ {
+ this->__vwsn_bind_activator_();
+ }
+
+ bool __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Open()
+ {
+ if ((! __vwsn_bind_opened_))
+ {
+ (__vwsn_bind_opened_ = true);
+ (__vwsn_bind_cache_0 = __vwsnthis_0->calculator);
+ (__vwsn_bind_handler_0_0 = ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->ValueChanged, ::vl::Func(this, &__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::__vwsn_bind_callback_0_0)));
+ return true;
+ }
+ return false;
+ }
+
+ bool __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Update()
+ {
+ if ((__vwsn_bind_opened_ && (! __vwsn_bind_closed_)))
+ {
+ this->__vwsn_bind_activator_();
+ return true;
+ }
+ return false;
+ }
+
+ bool __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription::Close()
+ {
+ if ((! __vwsn_bind_closed_))
+ {
+ (__vwsn_bind_closed_ = true);
+ ::vl::__vwsn::EventDetach(::vl::__vwsn::This(__vwsn_bind_cache_0.Obj())->ValueChanged, __vwsn_bind_handler_0_0);
+ (__vwsn_bind_cache_0 = ::vl::Ptr<::demo::Calculator>());
+ (__vwsn_bind_handler_0_0 = ::vl::Ptr<::vl::reflection::description::IEventHandler>());
+ return true;
+ }
+ return false;
+ }
+
+ //-------------------------------------------------------------------
+
+ __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::__vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine(::vl::Ptr<::vl::reflection::description::ICoroutine> __vwsnctor___vwsn_state_previousCoroutine, ::vl::vint __vwsnctor___vwsn_state_startState, ::demo::Calculator* __vwsnctor___vwsn_state_stateMachineObject, ::demo::Calculator* __vwsnctorthis_0)
+ :__vwsn_state_previousCoroutine(__vwsnctor___vwsn_state_previousCoroutine)
+ , __vwsn_state_startState(__vwsnctor___vwsn_state_startState)
+ , __vwsn_state_stateMachineObject(__vwsnctor___vwsn_state_stateMachineObject)
+ , __vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
+ {
+ this->__vwsn_co_tempexvar0_ex = ::vl::Ptr<::vl::reflection::description::IValueException>();
+ this->__vwsn_co0_i = static_cast<::vl::vint>(0);
+ this->__vwsn_co1_switch_0 = static_cast<::vl::vint>(0);
+ this->__vwsn_co2_i = static_cast<::vl::vint>(0);
+ this->__vwsn_co3_switch_1 = static_cast<::vl::vint>(0);
+ this->__vwsn_co4_newNumber = false;
+ this->__vwsn_co5_switch_2 = static_cast<::vl::vint>(0);
+ this->__vwsn_co6_switch_4 = static_cast<::vl::vint>(0);
+ this->__vwsn_co7_state_currentState = static_cast<::vl::vint>(0);
+ this->__vwsn_co8_state_state = static_cast<::vl::vint>(0);
+ this->__vwsn_co_state_ = static_cast<::vl::vint>(0);
+ this->__vwsn_co_state_before_pause_ = (- static_cast<::vl::vint>(1));
+ this->__vwsn_prop_Failure = ::vl::Ptr<::vl::reflection::description::IValueException>();
+ this->__vwsn_prop_Status = ::vl::reflection::description::CoroutineStatus::Waiting;
+ }
+
+ ::vl::Ptr<::vl::reflection::description::IValueException> __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::GetFailure()
+ {
+ return __vwsn_prop_Failure;
+ }
+
+ void __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_)
+ {
+ (__vwsn_prop_Failure = __vwsn_value_);
+ }
+
+ ::vl::reflection::description::CoroutineStatus __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::GetStatus()
+ {
+ return __vwsn_prop_Status;
+ }
+
+ void __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::SetStatus(::vl::reflection::description::CoroutineStatus __vwsn_value_)
+ {
+ (__vwsn_prop_Status = __vwsn_value_);
+ }
+
+ void __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine::Resume(bool __vwsn_raise_exception_, ::vl::Ptr<::vl::reflection::description::CoroutineResult> __vwsn_coroutine_output_)
+ {
+ if ((this->GetStatus() != ::vl::reflection::description::CoroutineStatus::Waiting))
+ {
+ throw ::vl::Exception(::vl::WString(L"Resume should be called only when the coroutine is in the waiting status.", false));
+ }
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Executing);
+ try
+ {
+ {
+ if ((__vwsn_co_state_before_pause_ != (- static_cast<::vl::vint>(1))))
+ {
+ if ((! static_cast(__vwsn_coroutine_output_)))
+ {
+ (__vwsn_co_state_before_pause_ = (- static_cast<::vl::vint>(1)));
+ }
+ else if ((! static_cast(::vl::__vwsn::This(__vwsn_coroutine_output_.Obj())->GetFailure())))
+ {
+ (__vwsn_co_state_before_pause_ = (- static_cast<::vl::vint>(1)));
+ }
+ else
+ {
+ if (((__vwsn_co_state_before_pause_ == static_cast<::vl::vint>(0)) || [&](auto __vwsn_1){ return (static_cast<::vl::vint>(3) <= __vwsn_1 && __vwsn_1 <= static_cast<::vl::vint>(20)); }(__vwsn_co_state_before_pause_)))
+ {
+ (__vwsn_co_state_before_pause_ = (- static_cast<::vl::vint>(1)));
+ (__vwsn_co_tempexvar0_ex = ::vl::__vwsn::This(__vwsn_coroutine_output_.Obj())->GetFailure());
+ (__vwsn_co_state_ = static_cast<::vl::vint>(2));
+ }
+ else
+ {
+ (__vwsn_co_state_before_pause_ = (- static_cast<::vl::vint>(1)));
+ throw ::vl::Exception(::vl::__vwsn::This(::vl::__vwsn::This(__vwsn_coroutine_output_.Obj())->GetFailure().Obj())->GetMessage());
+ }
+ }
+ }
+ while (true)
+ {
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(1)))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Stopped);
+ return;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(2)))
+ {
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineCoroutine = this->__vwsn_state_previousCoroutine);
+ }
+ throw ::vl::Exception(::vl::__vwsn::This(__vwsn_co_tempexvar0_ex.Obj())->GetMessage());
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(21)))
+ {
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineCoroutine = this->__vwsn_state_previousCoroutine);
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(1));
+ continue;
+ }
+ try
+ {
+ {
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(0)))
+ {
+ (__vwsn_co8_state_state = __vwsn_state_startState);
+ if (true)
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(4));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(3)))
+ {
+ if (true)
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(4));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(4)))
+ {
+ (__vwsn_co7_state_currentState = __vwsn_co8_state_state);
+ (__vwsn_co8_state_state = (- static_cast<::vl::vint>(1)));
+ (__vwsn_co6_switch_4 = __vwsn_co7_state_currentState);
+ if ((__vwsn_co6_switch_4 == static_cast<::vl::vint>(1)))
+ {
+ if ((::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput == (- static_cast<::vl::vint>(1))))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(5));
+ return;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(5));
+ continue;
+ }
+ if ((__vwsn_co6_switch_4 == static_cast<::vl::vint>(2)))
+ {
+ (__vwsn_co4_newNumber = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_statesp_Integer_newNumber);
+ if ((::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput == (- static_cast<::vl::vint>(1))))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(7));
+ return;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(7));
+ continue;
+ }
+ if ((__vwsn_co6_switch_4 == static_cast<::vl::vint>(3)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_statesp_Integer_newNumber = true);
+ ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(2));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(9));
+ continue;
+ }
+ if ((__vwsn_co6_switch_4 == static_cast<::vl::vint>(4)))
+ {
+ ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(3));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(16));
+ continue;
+ }
+ if ((__vwsn_co6_switch_4 == static_cast<::vl::vint>(0)))
+ {
+ (__vwsn_co8_state_state = static_cast<::vl::vint>(4));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(20));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(5)))
+ {
+ (__vwsn_co1_switch_0 = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput);
+ if ((__vwsn_co1_switch_0 == static_cast<::vl::vint>(0)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ (__vwsn_co0_i = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_stateip_Digit_i);
+ __vwsnthis_0->SetValue((__vwsnthis_0->GetValue() + ::vl::__vwsn::ToString(__vwsn_co0_i)));
+ (__vwsn_co8_state_state = static_cast<::vl::vint>(1));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(6));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(6));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(6)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(7)))
+ {
+ (__vwsn_co3_switch_1 = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput);
+ if ((__vwsn_co3_switch_1 == static_cast<::vl::vint>(0)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ (__vwsn_co2_i = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_stateip_Digit_i);
+ if (__vwsn_co4_newNumber)
+ {
+ __vwsnthis_0->SetValue(::vl::__vwsn::ToString(__vwsn_co2_i));
+ }
+ else
+ {
+ __vwsnthis_0->SetValue((__vwsnthis_0->GetValue() + ::vl::__vwsn::ToString(__vwsn_co2_i)));
+ }
+ (__vwsn_co8_state_state = static_cast<::vl::vint>(1));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(8));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(8));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(8)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(9)))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(10));
+ return;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(10)))
+ {
+ if ((::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput == (- static_cast<::vl::vint>(1))))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(11));
+ return;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(11));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(11)))
+ {
+ (__vwsn_co5_switch_2 = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput);
+ if ((__vwsn_co5_switch_2 == static_cast<::vl::vint>(1)))
+ {
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ {
+ __vwsnthis_0->SetValue((__vwsnthis_0->GetValue() + ::vl::WString(L".", false)));
+ }
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(12));
+ continue;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(13));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(12)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_statesp_Integer_newNumber = false);
+ ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(2));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(14));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(13)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(12));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(14)))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(15));
+ return;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(15)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(16)))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(17));
+ return;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(17)))
+ {
+ if ((::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput == (- static_cast<::vl::vint>(1))))
+ {
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Waiting);
+ (__vwsn_co_state_before_pause_ = __vwsn_co_state_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(18));
+ return;
+ }
+ (__vwsn_co_state_ = static_cast<::vl::vint>(18));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(18)))
+ {
+ {
+ auto __vwsn_switch_3 = ::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput;
+ if ((__vwsn_switch_3 == static_cast<::vl::vint>(2)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ {
+ __vwsnthis_0->Calculate();
+ (__vwsnthis_0->op = ::vl::WString(L"+", false));
+ }
+ }
+ else if ((__vwsn_switch_3 == static_cast<::vl::vint>(3)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ {
+ __vwsnthis_0->Calculate();
+ (__vwsnthis_0->op = ::vl::WString(L"*", false));
+ }
+ }
+ else if ((__vwsn_switch_3 == static_cast<::vl::vint>(4)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ {
+ __vwsnthis_0->Calculate();
+ }
+ }
+ else if ((__vwsn_switch_3 == static_cast<::vl::vint>(5)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ {
+ (__vwsnthis_0->valueFirst = ::vl::WString(L"", false));
+ (__vwsnthis_0->op = ::vl::WString(L"", false));
+ __vwsnthis_0->SetValue(::vl::WString(L"0", false));
+ }
+ }
+ else if ((__vwsn_switch_3 == static_cast<::vl::vint>(0)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ throw ::vl::Exception(::vl::WString(L"Method \"Digit\" of class \"demo::Calculator\" cannot be called at this moment.", false));
+ }
+ else if ((__vwsn_switch_3 == static_cast<::vl::vint>(1)))
+ {
+ (::vl::__vwsn::This(this->__vwsn_state_stateMachineObject)->stateMachineInput = (- static_cast<::vl::vint>(1)));
+ throw ::vl::Exception(::vl::WString(L"Method \"Dot\" of class \"demo::Calculator\" cannot be called at this moment.", false));
+ }
+ }
+ (__vwsn_co8_state_state = static_cast<::vl::vint>(4));
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(19));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(19)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ if ((__vwsn_co_state_ == static_cast<::vl::vint>(20)))
+ {
+ (__vwsn_co_state_ = static_cast<::vl::vint>(21));
+ continue;
+ (__vwsn_co_state_ = static_cast<::vl::vint>(3));
+ continue;
+ }
+ }
+ }
+ catch(const ::vl::Exception& __vwsne_1)
+ {
+ auto __vwsn_co_ex_ = ::vl::reflection::description::IValueException::Create(__vwsne_1.Message());
+ {
+ (__vwsn_co_tempexvar0_ex = __vwsn_co_ex_);
+ (__vwsn_co_state_ = static_cast<::vl::vint>(2));
+ continue;
+ }
+ }
+ }
+ }
+ }
+ catch(const ::vl::Exception& __vwsne_0)
+ {
+ auto __vwsn_co_ex_ = ::vl::reflection::description::IValueException::Create(__vwsne_0.Message());
+ {
+ this->SetFailure(__vwsn_co_ex_);
+ this->SetStatus(::vl::reflection::description::CoroutineStatus::Stopped);
+ if (__vwsn_raise_exception_)
+ {
+ throw;
+ }
+ }
+ }
+ }
+
}
/***********************************************************************
@@ -62,16 +734,471 @@ namespace demo
void MainWindowConstructor::__vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_)
{
(this->__vwsn_precompile_0 = __vwsn_this_);
- (this->CalculatorAndStateMachine = ::vl::__vwsn::This(__vwsn_this_)->GetCalculatorAndStateMachine());
- (this->__vwsn_precompile_1 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition());
- {
- ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(480); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }());
- }
+ (this->calculator = ::vl::__vwsn::This(__vwsn_this_)->Getcalculator());
{
::vl::__vwsn::This(this->__vwsn_precompile_0)->SetClientSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(480); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }());
}
+ (this->__vwsn_precompile_49 = ::vl::__vwsn::This(this->__vwsn_precompile_0)->GetBoundsComposition());
{
- ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetText(::vl::WString(L"ColorPicker", false));
+ ::vl::__vwsn::This(this->__vwsn_precompile_49)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(480); __vwsn_temp__.y = static_cast<::vl::vint>(320); return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_0)->SetText(::vl::WString(L"CalculatorAndStateMachine", false));
+ }
+ (this->__vwsn_precompile_1 = new ::vl::presentation::compositions::GuiTableComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetCellPadding(::vl::__vwsn::Parse<::vl::vint>(::vl::WString(L"5", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->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_1)->SetRowsAndColumns(static_cast<::vl::vint>(5), static_cast<::vl::vint>(4));
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetRowOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetRowOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetRowOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetRowOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetRowOption(static_cast<::vl::vint>(4), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetColumnOption(static_cast<::vl::vint>(0), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetColumnOption(static_cast<::vl::vint>(1), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetColumnOption(static_cast<::vl::vint>(2), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->SetColumnOption(static_cast<::vl::vint>(3), [&](){ ::vl::presentation::compositions::GuiCellOption __vwsn_temp__; __vwsn_temp__.composeType = ::vl::presentation::compositions::GuiCellOption::ComposeType::Percentage; __vwsn_temp__.percentage = static_cast(1); return __vwsn_temp__; }());
+ }
+ (this->__vwsn_precompile_2 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetSite(static_cast<::vl::vint>(0), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(4));
+ }
+ (this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>()));
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FFFFFF", false)));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetVerticalAlignment(::vl::presentation::Alignment::Center);
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetHorizontalAlignment(::vl::presentation::Alignment::Right);
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_2)->SetOwnedElement(::vl::Ptr<::vl::presentation::elements::IGuiGraphicsElement>(this->__vwsn_precompile_3));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_2));
+ }
+ (this->__vwsn_precompile_4 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_4)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_5 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_6 = ::vl::__vwsn::This(this->__vwsn_precompile_5)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_6)->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_5)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_5)->SetText(::vl::WString(L"1", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_4)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_5)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_4));
+ }
+ (this->__vwsn_precompile_7 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_7)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_8 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_9 = ::vl::__vwsn::This(this->__vwsn_precompile_8)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_9)->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_8)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_8)->SetText(::vl::WString(L"2", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_7)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_8)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_7));
+ }
+ (this->__vwsn_precompile_10 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_11 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (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_11)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_11)->SetText(::vl::WString(L"3", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_10)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_11)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_10));
+ }
+ (this->__vwsn_precompile_13 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_14 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_15 = ::vl::__vwsn::This(this->__vwsn_precompile_14)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_15)->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_14)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_14)->SetText(::vl::WString(L"4", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_13)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_14)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_13));
+ }
+ (this->__vwsn_precompile_16 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_16)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_17 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_18 = ::vl::__vwsn::This(this->__vwsn_precompile_17)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_18)->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_17)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_17)->SetText(::vl::WString(L"5", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_16)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_17)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_16));
+ }
+ (this->__vwsn_precompile_19 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_19)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_20 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_21 = ::vl::__vwsn::This(this->__vwsn_precompile_20)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_21)->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_20)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_20)->SetText(::vl::WString(L"6", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_19)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_20)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_19));
+ }
+ (this->__vwsn_precompile_22 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_22)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_23 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_24 = ::vl::__vwsn::This(this->__vwsn_precompile_23)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_24)->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_23)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_23)->SetText(::vl::WString(L"7", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_22)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_23)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_22));
+ }
+ (this->__vwsn_precompile_25 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_25)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_26 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_27 = ::vl::__vwsn::This(this->__vwsn_precompile_26)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_27)->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_26)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_26)->SetText(::vl::WString(L"8", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_25)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_26)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_25));
+ }
+ (this->__vwsn_precompile_28 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_28)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_29 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_30 = ::vl::__vwsn::This(this->__vwsn_precompile_29)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_30)->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_29)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetText(::vl::WString(L"9", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_28)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_29)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_28));
+ }
+ (this->__vwsn_precompile_31 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_31)->SetSite(static_cast<::vl::vint>(4), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_32 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_33 = ::vl::__vwsn::This(this->__vwsn_precompile_32)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_33)->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_32)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_32)->SetText(::vl::WString(L"0", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_31)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_32)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_31));
+ }
+ (this->__vwsn_precompile_34 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_34)->SetSite(static_cast<::vl::vint>(4), static_cast<::vl::vint>(0), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_35 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_36 = ::vl::__vwsn::This(this->__vwsn_precompile_35)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_36)->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_35)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_35)->SetText(::vl::WString(L".", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_34)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_35)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_34));
+ }
+ (this->__vwsn_precompile_37 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_37)->SetSite(static_cast<::vl::vint>(4), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_38 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_39 = ::vl::__vwsn::This(this->__vwsn_precompile_38)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_39)->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_38)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_38)->SetText(::vl::WString(L"=", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_37)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_38)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_37));
+ }
+ (this->__vwsn_precompile_40 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_40)->SetSite(static_cast<::vl::vint>(1), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_41 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_42 = ::vl::__vwsn::This(this->__vwsn_precompile_41)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_42)->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_41)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_41)->SetText(::vl::WString(L"CE", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_40)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_41)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_40));
+ }
+ (this->__vwsn_precompile_43 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_43)->SetSite(static_cast<::vl::vint>(2), static_cast<::vl::vint>(3), static_cast<::vl::vint>(1), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_44 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_45 = ::vl::__vwsn::This(this->__vwsn_precompile_44)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_45)->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_44)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_44)->SetText(::vl::WString(L"*", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_43)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_44)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_43));
+ }
+ (this->__vwsn_precompile_46 = new ::vl::presentation::compositions::GuiCellComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_46)->SetSite(static_cast<::vl::vint>(3), static_cast<::vl::vint>(3), static_cast<::vl::vint>(2), static_cast<::vl::vint>(1));
+ }
+ {
+ (this->__vwsn_precompile_47 = new ::vl::presentation::controls::GuiButton(::vl::presentation::theme::ThemeName::Button));
+ }
+ (this->__vwsn_precompile_48 = ::vl::__vwsn::This(this->__vwsn_precompile_47)->GetBoundsComposition());
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_48)->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_47)->SetFont([&](){ ::vl::presentation::FontProperties __vwsn_temp__; __vwsn_temp__.fontFamily = ::vl::WString(L"Segoe UI", false); __vwsn_temp__.size = static_cast<::vl::vint>(24); __vwsn_temp__.antialias = true; return __vwsn_temp__; }());
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_47)->SetText(::vl::WString(L"+", false));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_46)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this->__vwsn_precompile_47)->GetBoundsComposition()));
+ }
+ {
+ ::vl::__vwsn::This(this->__vwsn_precompile_1)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_46));
+ }
+ {
+ ::vl::__vwsn::This(::vl::__vwsn::This(this->__vwsn_precompile_0)->GetContainerComposition())->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->__vwsn_precompile_1));
+ }
+ {
+ auto __vwsn_created_subscription_ = ::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(__vwsn_created_subscription_.Obj())->ValueChanged, LAMBDA(::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this)));
+ ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(__vwsn_created_subscription_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_5)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_8)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_11)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_14)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_17)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_20)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_23)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_26)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_29)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_32)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_35)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_38)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_41)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_44)->Clicked, __vwsn_event_handler_);
+ }
+ {
+ auto __vwsn_event_handler_ = LAMBDA(::vl_workflow_global::__vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this));
+ ::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->__vwsn_precompile_47)->Clicked, __vwsn_event_handler_);
}
}
@@ -83,15 +1210,15 @@ namespace demo
Class (::demo::MainWindow)
***********************************************************************/
- ::vl::Ptr<::demo::Calculator> MainWindow::GetCalculatorAndStateMachine()
+ ::vl::Ptr<::demo::Calculator> MainWindow::Getcalculator()
{
- return this->__vwsn_parameter_CalculatorAndStateMachine;
+ return this->__vwsn_parameter_calculator;
}
- MainWindow::MainWindow(::vl::Ptr<::demo::Calculator> __vwsn_ctor_parameter_CalculatorAndStateMachine)
+ MainWindow::MainWindow(::vl::Ptr<::demo::Calculator> __vwsn_ctor_parameter_calculator)
: ::vl::presentation::controls::GuiWindow(::vl::presentation::theme::ThemeName::Window)
{
- (this->__vwsn_parameter_CalculatorAndStateMachine = __vwsn_ctor_parameter_CalculatorAndStateMachine);
+ (this->__vwsn_parameter_calculator = __vwsn_ctor_parameter_calculator);
auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::MainWindow", false));
auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
@@ -111,6 +1238,7 @@ Class (::demo::Calculator)
{
return this->__vwsn_prop_Value;
}
+
void Calculator::SetValue(const ::vl::WString& __vwsn_value_)
{
if ((this->__vwsn_prop_Value != __vwsn_value_))
@@ -146,6 +1274,86 @@ Class (::demo::Calculator)
}
}
+ void Calculator::Digit(::vl::vint i)
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(0));
+ (::vl::__vwsn::This(this)->__vwsn_stateip_Digit_i = i);
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::Dot()
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(1));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::Add()
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(2));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::Mul()
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(3));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::Equal()
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(4));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::Clear()
+ {
+ if ((! ::vl::__vwsn::This(this)->stateMachineInitialized))
+ {
+ (::vl::__vwsn::This(this)->stateMachineInitialized = true);
+ ::vl::__vwsn::This(this)->__vwsn_state_CreateCoroutine(static_cast<::vl::vint>(0));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+ (::vl::__vwsn::This(this)->stateMachineInput = static_cast<::vl::vint>(5));
+ ::vl::__vwsn::This(this)->ResumeStateMachine();
+ }
+
+ void Calculator::__vwsn_state_CreateCoroutine(::vl::vint __vwsn_state_startState)
+ {
+ auto __vwsn_state_stateMachineObject = this;
+ auto __vwsn_state_previousCoroutine = ::vl::__vwsn::This(__vwsn_state_stateMachineObject)->stateMachineCoroutine;
+ (::vl::__vwsn::This(__vwsn_state_stateMachineObject)->stateMachineCoroutine = ::vl::Ptr<::vl::reflection::description::ICoroutine>(new ::vl_workflow_global::__vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine(__vwsn_state_previousCoroutine, __vwsn_state_startState, __vwsn_state_stateMachineObject, this)));
+ }
+
Calculator::Calculator()
{
}
diff --git a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.h b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.h
index 9203dab1..fbe665f2 100644
--- a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.h
+++ b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoPartialClasses.h
@@ -23,6 +23,28 @@ https://github.com/vczh-libraries
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
+namespace vl_workflow_global
+{
+ struct __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ struct __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
+ class __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine;
+}
+
namespace demo
{
class MainWindowConstructor;
@@ -31,13 +53,78 @@ namespace demo
class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description
{
+ friend class ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
+ friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
#endif
protected:
- ::vl::Ptr<::demo::Calculator> CalculatorAndStateMachine = ::vl::Ptr<::demo::Calculator>();
+ ::vl::Ptr<::demo::Calculator> calculator = ::vl::Ptr<::demo::Calculator>();
::demo::MainWindow* __vwsn_precompile_0 = static_cast<::demo::MainWindow*>(nullptr);
- ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiTableComposition* __vwsn_precompile_1 = static_cast<::vl::presentation::compositions::GuiTableComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_2 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement> __vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::elements::GuiSolidLabelElement>();
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_4 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_5 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_6 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_7 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_8 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_9 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_11 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_13 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_14 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_15 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_16 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_17 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_18 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_19 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_20 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_21 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_22 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_23 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_24 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_25 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_26 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_27 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_28 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_29 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_30 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_31 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_32 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_33 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_34 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_35 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_36 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_37 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_38 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_39 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_40 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_41 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_42 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_43 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_44 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_45 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_46 = static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr);
+ ::vl::presentation::controls::GuiButton* __vwsn_precompile_47 = static_cast<::vl::presentation::controls::GuiButton*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_48 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
+ ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_49 = static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr);
void __vwsn_initialize_instance_(::demo::MainWindow* __vwsn_this_);
public:
MainWindowConstructor();
@@ -46,30 +133,63 @@ namespace demo
class MainWindow : public ::vl::presentation::controls::GuiWindow, public ::demo::MainWindowConstructor, public ::vl::reflection::Description
{
friend class ::demo::MainWindowConstructor;
+ friend class ::vl_workflow_global::__vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
+ friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
+ friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
#endif
public:
- ::vl::Ptr<::demo::Calculator> __vwsn_parameter_CalculatorAndStateMachine = ::vl::Ptr<::demo::Calculator>();
- ::vl::Ptr<::demo::Calculator> GetCalculatorAndStateMachine();
- MainWindow(::vl::Ptr<::demo::Calculator> __vwsn_ctor_parameter_CalculatorAndStateMachine);
+ ::vl::Ptr<::demo::Calculator> __vwsn_parameter_calculator = ::vl::Ptr<::demo::Calculator>();
+ ::vl::Ptr<::demo::Calculator> Getcalculator();
+ MainWindow(::vl::Ptr<::demo::Calculator> __vwsn_ctor_parameter_calculator);
~MainWindow();
};
class Calculator : public ::vl::reflection::description::StateMachine, public ::vl::reflection::Description
{
+ friend class ::vl_workflow_global::__vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector;
#endif
public:
::vl::WString valueFirst = ::vl::WString(L"", false);
::vl::WString op = ::vl::WString(L"", false);
+ private:
::vl::WString __vwsn_prop_Value = ::vl::WString(L"0", false);
+ public:
::vl::WString GetValue();
void SetValue(const ::vl::WString& __vwsn_value_);
::vl::Event ValueChanged;
void Update(const ::vl::WString& value);
void Calculate();
+ private:
+ ::vl::vint __vwsn_stateip_Digit_i = static_cast<::vl::vint>(0);
+ bool __vwsn_statesp_Integer_newNumber = false;
+ public:
+ void Digit(::vl::vint i);
+ void Dot();
+ void Add();
+ void Mul();
+ void Equal();
+ void Clear();
+ private:
+ void __vwsn_state_CreateCoroutine(::vl::vint __vwsn_state_startState);
+ public:
Calculator();
};
@@ -86,6 +206,203 @@ namespace vl_workflow_global
static Demo& Instance();
};
+
+/***********************************************************************
+Closures
+***********************************************************************/
+
+ struct __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf11_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf12_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf13_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf14_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf15_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf16_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
+ };
+
+ struct __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf2_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf3_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf4_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf8_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ struct __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
+ {
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnf9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ void operator()(::vl::presentation::compositions::GuiGraphicsComposition* sender, ::vl::presentation::compositions::GuiEventArgs* arguments) const;
+ };
+
+ class __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
+ {
+ public:
+ ::demo::MainWindowConstructor* __vwsnthis_0;
+
+ __vwsnc1_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MainWindowConstructor* __vwsnctorthis_0);
+
+ ::vl::Ptr<::demo::Calculator> __vwsn_bind_cache_0;
+ ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
+ bool __vwsn_bind_opened_ = false;
+ bool __vwsn_bind_closed_ = false;
+ void __vwsn_bind_activator_();
+ void __vwsn_bind_callback_0_0();
+ bool Open() override;
+ bool Update() override;
+ bool Close() override;
+ };
+
+ class __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine : public ::vl::Object, public virtual ::vl::reflection::description::ICoroutine
+ {
+ public:
+ ::vl::Ptr<::vl::reflection::description::ICoroutine> __vwsn_state_previousCoroutine;
+ ::vl::vint __vwsn_state_startState;
+ ::demo::Calculator* __vwsn_state_stateMachineObject;
+ ::demo::Calculator* __vwsnthis_0;
+
+ __vwsnc2_Demo_demo_Calculator___vwsn_state_CreateCoroutine__vl_reflection_description_ICoroutine(::vl::Ptr<::vl::reflection::description::ICoroutine> __vwsnctor___vwsn_state_previousCoroutine, ::vl::vint __vwsnctor___vwsn_state_startState, ::demo::Calculator* __vwsnctor___vwsn_state_stateMachineObject, ::demo::Calculator* __vwsnctorthis_0);
+
+ ::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_co_tempexvar0_ex;
+ ::vl::vint __vwsn_co0_i = 0;
+ ::vl::vint __vwsn_co1_switch_0 = 0;
+ ::vl::vint __vwsn_co2_i = 0;
+ ::vl::vint __vwsn_co3_switch_1 = 0;
+ bool __vwsn_co4_newNumber = false;
+ ::vl::vint __vwsn_co5_switch_2 = 0;
+ ::vl::vint __vwsn_co6_switch_4 = 0;
+ ::vl::vint __vwsn_co7_state_currentState = 0;
+ ::vl::vint __vwsn_co8_state_state = 0;
+ ::vl::vint __vwsn_co_state_ = 0;
+ ::vl::vint __vwsn_co_state_before_pause_ = 0;
+ ::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_prop_Failure;
+ ::vl::Ptr<::vl::reflection::description::IValueException> GetFailure() override;
+ void SetFailure(::vl::Ptr<::vl::reflection::description::IValueException> __vwsn_value_);
+ ::vl::reflection::description::CoroutineStatus __vwsn_prop_Status = static_cast<::vl::reflection::description::CoroutineStatus>(0);
+ ::vl::reflection::description::CoroutineStatus GetStatus() override;
+ void SetStatus(::vl::reflection::description::CoroutineStatus __vwsn_value_);
+ void Resume(bool __vwsn_raise_exception_, ::vl::Ptr<::vl::reflection::description::CoroutineResult> __vwsn_coroutine_output_) override;
+ };
}
#if defined( _MSC_VER)
diff --git a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoReflection.cpp b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoReflection.cpp
index ecec9bdb..26950822 100644
--- a/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoReflection.cpp
+++ b/Tutorial/GacUI_Controls/CalculatorAndStateMachine/UI/Source/DemoReflection.cpp
@@ -38,22 +38,31 @@ namespace vl
#define _ ,
BEGIN_CLASS_MEMBER(::demo::Calculator)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::Calculator>(), NO_PARAMETER)
+ CLASS_MEMBER_METHOD(__vwsn_state_CreateCoroutine, { L"__vwsn_state_startState" })
+ CLASS_MEMBER_METHOD(Add, NO_PARAMETER)
CLASS_MEMBER_METHOD(Calculate, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(Clear, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(Digit, { L"i" })
+ CLASS_MEMBER_METHOD(Dot, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(Equal, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetValue, NO_PARAMETER)
+ CLASS_MEMBER_METHOD(Mul, NO_PARAMETER)
CLASS_MEMBER_METHOD(SetValue, { L"__vwsn_value_" })
CLASS_MEMBER_METHOD(Update, { L"value" })
CLASS_MEMBER_EVENT(ValueChanged)
CLASS_MEMBER_FIELD(__vwsn_prop_Value)
+ CLASS_MEMBER_FIELD(__vwsn_stateip_Digit_i)
+ CLASS_MEMBER_FIELD(__vwsn_statesp_Integer_newNumber)
CLASS_MEMBER_PROPERTY_EVENT(Value, GetValue, SetValue, ValueChanged)
CLASS_MEMBER_FIELD(op)
CLASS_MEMBER_FIELD(valueFirst)
END_CLASS_MEMBER(::demo::Calculator)
BEGIN_CLASS_MEMBER(::demo::MainWindow)
- CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(::vl::Ptr<::demo::Calculator>), { L"__vwsn_ctor_parameter_CalculatorAndStateMachine" })
- CLASS_MEMBER_METHOD(GetCalculatorAndStateMachine, NO_PARAMETER)
- CLASS_MEMBER_FIELD(__vwsn_parameter_CalculatorAndStateMachine)
- CLASS_MEMBER_PROPERTY_READONLY(CalculatorAndStateMachine, GetCalculatorAndStateMachine)
+ CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(::vl::Ptr<::demo::Calculator>), { L"__vwsn_ctor_parameter_calculator" })
+ CLASS_MEMBER_METHOD(Getcalculator, NO_PARAMETER)
+ CLASS_MEMBER_FIELD(__vwsn_parameter_calculator)
+ CLASS_MEMBER_PROPERTY_READONLY(calculator, Getcalculator)
END_CLASS_MEMBER(::demo::MainWindow)
BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
@@ -61,7 +70,55 @@ namespace vl
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
- CLASS_MEMBER_FIELD(CalculatorAndStateMachine)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_10)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_11)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_12)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_13)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_14)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_15)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_16)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_17)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_18)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_19)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_2)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_20)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_21)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_22)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_23)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_24)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_25)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_26)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_27)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_28)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_29)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_3)
+ 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_39)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_4)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_40)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_41)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_42)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_43)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_44)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_45)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_46)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_47)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_48)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_49)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_5)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_6)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_7)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_8)
+ CLASS_MEMBER_FIELD(__vwsn_precompile_9)
+ CLASS_MEMBER_FIELD(calculator)
END_CLASS_MEMBER(::demo::MainWindowConstructor)
#undef _
diff --git a/Tutorial/GacUI_Controls/UIRes/CalculatorAndStateMachine.bin b/Tutorial/GacUI_Controls/UIRes/CalculatorAndStateMachine.bin
index 56869d59..760e1210 100644
Binary files a/Tutorial/GacUI_Controls/UIRes/CalculatorAndStateMachine.bin and b/Tutorial/GacUI_Controls/UIRes/CalculatorAndStateMachine.bin differ