This commit is contained in:
Zihan Chen
2017-01-24 22:51:12 -08:00
parent a4f458c4f6
commit 7aba6bbb17
5 changed files with 37 additions and 15 deletions

View File

@@ -16047,6 +16047,20 @@ Expression Helpers
return;
}
}
else
{
if ((fromType->GetTypeDescriptor() == tdVe && fromType->GetElementType()->GetDecorator() == ITypeInfo::Generic)
|| fromType->GetHint() == TypeInfoHint::NativeCollectionReference
)
{
writer.WriteString(L"::vl::__vwsn::UnboxCollection<");
writer.WriteString(config->ConvertType(tdVe));
writer.WriteString(L">(");
writeExpression();
writer.WriteString(L")");
return;
}
}
}
switch (fromType->GetDecorator())

View File

@@ -53,7 +53,7 @@
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
@@ -69,7 +69,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
@@ -91,8 +91,8 @@
<ClInclude Include="UI\Source\DemoPartialClasses.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Lib\GacUILite\GacUILite.vcxproj">
<Project>{96c559ca-9718-4bec-a053-28a0ab6a8ca2}</Project>
<ProjectReference Include="..\..\Lib\GacUI\GacUI.vcxproj">
<Project>{8018d622-66ba-4e65-9d03-bdac37ea9a54}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@@ -4,7 +4,7 @@
<Folder name="Cpp">
<Text name="SourceFolder">Source</Text>
<Text name="Resource">..\..\UIRes\ColorPicker.bin</Text>
<Text name="NormalInclude">GacUI.h</Text>
<Text name="NormalInclude">GacUIReflection.h</Text>
<Text name="Name">Demo</Text>
</Folder>
</Folder>

View File

@@ -325,6 +325,7 @@ Closure Definitions
return ::vl::__vwsn::Ensure(static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_));
}
}
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
}
//-------------------------------------------------------------------
@@ -743,6 +744,7 @@ Closure Definitions
return ::vl::__vwsn::Ensure(static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_));
}
}
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
}
/***********************************************************************
@@ -1020,7 +1022,7 @@ Class (::demo::MainWindowConstructor)
::vl::__vwsn::This(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->GetContainerComposition())->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(this)->__vwsn_precompile_1)));
}
{
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetItemSource(::vl::__vwsn::Ensure(::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(::vl::__vwsn::This(this)->ViewModel.Obj())->GetColorItems())));
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetItemSource(::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(::vl::__vwsn::This(this)->ViewModel.Obj())->GetColorItems()));
}
{
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetSelectedIndex(0);
@@ -1079,17 +1081,18 @@ namespace vl
namespace description
{
#ifndef VCZH_DEBUG_NO_REFLECTION
IMPL_CPP_TYPE_INFO(::demo::ColorBomboItemTemplate)
IMPL_CPP_TYPE_INFO(::demo::ColorBomboItemTemplateConstructor)
IMPL_CPP_TYPE_INFO(::demo::ColorListItemTemplate)
IMPL_CPP_TYPE_INFO(::demo::ColorListItemTemplateConstructor)
IMPL_CPP_TYPE_INFO(::demo::IColorItem)
IMPL_CPP_TYPE_INFO(::demo::IViewModel)
IMPL_CPP_TYPE_INFO(::demo::MainWindow)
IMPL_CPP_TYPE_INFO(::demo::MainWindowConstructor)
IMPL_CPP_TYPE_INFO(demo::ColorBomboItemTemplate)
IMPL_CPP_TYPE_INFO(demo::ColorBomboItemTemplateConstructor)
IMPL_CPP_TYPE_INFO(demo::ColorListItemTemplate)
IMPL_CPP_TYPE_INFO(demo::ColorListItemTemplateConstructor)
IMPL_CPP_TYPE_INFO(demo::IColorItem)
IMPL_CPP_TYPE_INFO(demo::IViewModel)
IMPL_CPP_TYPE_INFO(demo::MainWindow)
IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor)
#define _ ,
BEGIN_CLASS_MEMBER(::demo::ColorBomboItemTemplate)
CLASS_MEMBER_CONSTRUCTOR(::demo::ColorBomboItemTemplate*(::vl::Ptr<::demo::IColorItem>), { L"__vwsn_ctor_parameter_ViewModel" })
CLASS_MEMBER_METHOD(GetTextColor, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
CLASS_MEMBER_METHOD(SetTextColor, { L"value" })
@@ -1101,6 +1104,7 @@ namespace vl
END_CLASS_MEMBER(::demo::ColorBomboItemTemplate)
BEGIN_CLASS_MEMBER(::demo::ColorBomboItemTemplateConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::ColorBomboItemTemplateConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
@@ -1112,12 +1116,14 @@ namespace vl
END_CLASS_MEMBER(::demo::ColorBomboItemTemplateConstructor)
BEGIN_CLASS_MEMBER(::demo::ColorListItemTemplate)
CLASS_MEMBER_CONSTRUCTOR(::demo::ColorListItemTemplate*(::vl::Ptr<::demo::IColorItem>), { L"__vwsn_ctor_parameter_ViewModel" })
CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
END_CLASS_MEMBER(::demo::ColorListItemTemplate)
BEGIN_CLASS_MEMBER(::demo::ColorListItemTemplateConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::ColorListItemTemplateConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(ViewModel)
@@ -1137,12 +1143,14 @@ namespace vl
END_INTERFACE_MEMBER(::demo::IViewModel)
BEGIN_CLASS_MEMBER(::demo::MainWindow)
CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(::vl::Ptr<::demo::IViewModel>), { L"__vwsn_ctor_parameter_ViewModel" })
CLASS_MEMBER_METHOD(GetViewModel, NO_PARAMETER)
CLASS_MEMBER_FIELD(__vwsn_parameter_ViewModel)
CLASS_MEMBER_PROPERTY_READONLY(ViewModel, GetViewModel)
END_CLASS_MEMBER(::demo::MainWindow)
BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER)
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" })
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
CLASS_MEMBER_FIELD(__vwsn_precompile_1)

View File

@@ -10,7 +10,7 @@ https://github.com/vczh-libraries
#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES
#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMOPARTIALCLASSES
#include "GacUI.h"
#include "GacUIReflection.h"
#if defined( _MSC_VER)
#pragma warning(push)