This commit is contained in:
Zihan Chen
2017-11-30 08:47:50 -08:00
parent 02181786ca
commit 89b00b1333
7 changed files with 1681 additions and 24 deletions
@@ -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 @@
]]>
</Workflow>
</Script>
<InstanceStyle name="Style">
<Styles>
<Style ref.Path="//Cell/Button" Font="fontFamily:'Segoe UI' size: 24 antialias:true">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
</Style>
</Styles>
</InstanceStyle>
<Folder name="MainWindow">
<Instance name="MainWindowResource">
<Instance ref.CodeBehind="false" ref.Class="demo::MainWindow">
<ref.Parameter Name="CalculatorAndStateMachine" Class="demo::Calculator"/>
<Window Text="ColorPicker" ClientSize="x:480 y:320">
<Instance ref.CodeBehind="false" ref.Class="demo::MainWindow" ref.Styles="res://Style">
<ref.Parameter Name="calculator" Class="demo::Calculator"/>
<Window Text="CalculatorAndStateMachine" ClientSize="x:480 y:320">
<att.BoundsComposition-set PreferredMinSize="x:480 y:320"/>
<Table AlignmentToParent="left:0 top:0 right:0 bottom:0" CellPadding="5">
<att.Rows>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
</att.Rows>
<att.Columns>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
<CellOption>composeType:Percentage percentage:1</CellOption>
</att.Columns>
<Cell Site="row:0 column:0 columnSpan:4">
<SolidLabel Font="fontFamily:'Segoe UI' size: 24 antialias:true" HorizontalAlignment="Right" VerticalAlignment="Center" Color="#FFFFFF" Text-bind="calculator.Value"/>
</Cell>
<Cell Site="row:1 column:0">
<Button Text="1" ev.Clicked-eval="calculator.Digit(1);"/>
</Cell>
<Cell Site="row:1 column:1">
<Button Text="2" ev.Clicked-eval="calculator.Digit(2);"/>
</Cell>
<Cell Site="row:1 column:2">
<Button Text="3" ev.Clicked-eval="calculator.Digit(3);"/>
</Cell>
<Cell Site="row:2 column:0">
<Button Text="4" ev.Clicked-eval="calculator.Digit(4);"/>
</Cell>
<Cell Site="row:2 column:1">
<Button Text="5" ev.Clicked-eval="calculator.Digit(5);"/>
</Cell>
<Cell Site="row:2 column:2">
<Button Text="6" ev.Clicked-eval="calculator.Digit(6);"/>
</Cell>
<Cell Site="row:3 column:0">
<Button Text="7" ev.Clicked-eval="calculator.Digit(7);"/>
</Cell>
<Cell Site="row:3 column:1">
<Button Text="8" ev.Clicked-eval="calculator.Digit(8);"/>
</Cell>
<Cell Site="row:3 column:2">
<Button Text="9" ev.Clicked-eval="calculator.Digit(9);"/>
</Cell>
<Cell Site="row:4 column:1">
<Button Text="0" ev.Clicked-eval="calculator.Digit(0);"/>
</Cell>
<Cell Site="row:4 column:0">
<Button Text="." ev.Clicked-eval="calculator.Dot();"/>
</Cell>
<Cell Site="row:4 column:2">
<Button Text="=" ev.Clicked-eval="calculator.Equal();"/>
</Cell>
<Cell Site="row:1 column:3">
<Button Text="CE" ev.Clicked-eval="calculator.Clear();"/>
</Cell>
<Cell Site="row:2 column:3">
<Button Text="*" ev.Clicked-eval="calculator.Mul();"/>
</Cell>
<Cell Site="row:3 column:3 rowSpan:2">
<Button Text="+" ev.Clicked-eval="calculator.Add();"/>
</Cell>
</Table>
</Window>
</Instance>
</Instance>
File diff suppressed because it is too large Load Diff
@@ -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<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<MainWindowConstructor>;
#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<MainWindow>
{
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<MainWindow>;
#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<Calculator>
{
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<Calculator>;
#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<void()> 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)
@@ -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 _