Update release

This commit is contained in:
Zihan Chen
2017-04-16 07:39:13 -07:00
parent 2f469fa2bd
commit 2e4d55ea1f
12 changed files with 17590 additions and 18131 deletions
+197 -224
View File
File diff suppressed because it is too large Load Diff
+186 -187
View File
File diff suppressed because it is too large Load Diff
+706 -661
View File
File diff suppressed because it is too large Load Diff
+36 -290
View File
@@ -483,18 +483,28 @@ Instance Loader
SupportSet,
};
enum PropertyScope
enum PropertyUsage
{
ViewModel, // <ref.Parameter/>
Constructor, // constructor parameter that is not ViewModel
Property, // property of the class
ConstructorArgument,
Property,
};
enum PropertyBindability
{
Bindable,
NotBindable,
};
enum PropertyMergability
{
MergeWithParent,
NotMerge,
};
Support support = NotSupport;
bool tryParent = false;
bool required = false; // only apply to constructor
bool bindable = false; // only apply to constructor
PropertyScope scope = Property;
PropertyUsage usage = Property;
PropertyBindability bindability = NotBindable;
PropertyMergability mergability = NotMerge;
TypeInfoList acceptableTypes;
static Ptr<GuiInstancePropertyInfo> Unsupported();
@@ -565,8 +575,8 @@ Instance Loader
virtual GlobalStringKey GetTypeName() = 0;
virtual void ClearReflectionCache();
virtual void GetRequiredPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
virtual void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
virtual void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
virtual void GetPairedProperties(const PropertyInfo& propertyInfo, collections::List<GlobalStringKey>& propertyNames);
virtual Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo);
@@ -1006,10 +1016,6 @@ GuiVrtualTypeInstanceLoader
ArgumentFunctionType argumentFunction;
InitFunctionType initFunction;
virtual void PrepareAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr<WfBlockStatement> block)
{
}
virtual void AddAdditionalArguments(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceError::List& errors, Ptr<WfNewClassExpression> createControl)
{
}
@@ -1071,247 +1077,6 @@ GuiVrtualTypeInstanceLoader
}
}
static Ptr<WfExpression> CreateTemplateFactory(types::ResolvingResult& resolvingResult, List<ITypeDescriptor*>& controlTemplateTds, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
{
auto templateType = TypeInfoRetriver<TTemplate*>::CreateTypeInfo();
auto factoryType = TypeInfoRetriver<Ptr<GuiTemplate::IFactory>>::CreateTypeInfo();
auto refFactory = MakePtr<WfNewInterfaceExpression>();
refFactory->type = GetTypeFromTypeInfo(factoryType.Obj());
{
auto funcCreateTemplate = MakePtr<WfFunctionDeclaration>();
funcCreateTemplate->anonymity = WfFunctionAnonymity::Named;
funcCreateTemplate->name.value = L"CreateTemplate";
funcCreateTemplate->returnType = GetTypeFromTypeInfo(TypeInfoRetriver<GuiTemplate*>::CreateTypeInfo().Obj());
auto argViewModel = MakePtr<WfFunctionArgument>();
argViewModel->type = GetTypeFromTypeInfo(TypeInfoRetriver<Value>::CreateTypeInfo().Obj());
argViewModel->name.value = L"<viewModel>";
funcCreateTemplate->arguments.Add(argViewModel);
auto block = MakePtr<WfBlockStatement>();
funcCreateTemplate->statement = block;
ITypeDescriptor* stopControlTemplateTd = nullptr;
FOREACH(ITypeDescriptor*, controlTemplateTd, controlTemplateTds)
{
if (stopControlTemplateTd)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: Type \"" +
controlTemplateTd->GetTypeName() +
L"\" will never be tried, because \"" +
stopControlTemplateTd->GetTypeName() +
L"\", which is listed before, has a default constructor. So whatever the view model is, it will be the last choice."));
continue;
}
ITypeInfo* viewModelType = nullptr;
{
auto ctors = controlTemplateTd->GetConstructorGroup();
if (ctors->GetMethodCount() != 1)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: To use type \"" +
controlTemplateTd->GetTypeName() +
L"\" as a control template or item template, it should have exactly one constructor."));
continue;
}
auto ctor = ctors->GetMethod(0);
if (ctor->GetParameterCount() > 1)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: To use type \"" +
controlTemplateTd->GetTypeName() +
L"\" as a control template or item template, its constructor cannot have more than one parameter."));
continue;
}
if (ctor->GetParameterCount() != 0)
{
viewModelType = ctor->GetParameter(0)->GetType();
}
}
if (!viewModelType)
{
stopControlTemplateTd = controlTemplateTd;
}
auto subBlock = MakePtr<WfBlockStatement>();
block->statements.Add(subBlock);
Ptr<ITypeInfo> controlTemplateType;
{
auto elementType = MakePtr<TypeDescriptorTypeInfo>(controlTemplateTd, TypeInfoHint::Normal);
auto pointerType = MakePtr<RawPtrTypeInfo>(elementType);
controlTemplateType = pointerType;
}
Ptr<WfBlockStatement> returnStatBlock;
if (viewModelType)
{
auto refViewModel = MakePtr<WfReferenceExpression>();
refViewModel->name.value = L"<viewModel>";
auto condition = MakePtr<WfTypeTestingExpression>();
condition->test = WfTypeTesting::IsType;
condition->expression = refViewModel;
condition->type = GetTypeFromTypeInfo(viewModelType);
auto ifStat = MakePtr<WfIfStatement>();
subBlock->statements.Add(ifStat);
ifStat->expression = condition;
returnStatBlock = MakePtr<WfBlockStatement>();
ifStat->trueBranch = returnStatBlock;
}
else
{
returnStatBlock = subBlock;
}
{
auto createControlTemplate = MakePtr<WfNewClassExpression>();
createControlTemplate->type = GetTypeFromTypeInfo(controlTemplateType.Obj());
if (viewModelType)
{
auto refViewModel = MakePtr<WfReferenceExpression>();
refViewModel->name.value = L"<viewModel>";
auto cast = MakePtr<WfTypeCastingExpression>();
cast->strategy = WfTypeCastingStrategy::Strong;
cast->expression = refViewModel;
cast->type = GetTypeFromTypeInfo(viewModelType);
createControlTemplate->arguments.Add(cast);
}
auto varTemplate = MakePtr<WfVariableDeclaration>();
varTemplate->type = GetTypeFromTypeInfo(templateType.Obj());
varTemplate->name.value = L"<template>";
varTemplate->expression = createControlTemplate;
auto varStat = MakePtr<WfVariableStatement>();
varStat->variable = varTemplate;
returnStatBlock->statements.Add(varStat);
}
{
auto refTemplate = MakePtr<WfReferenceExpression>();
refTemplate->name.value = L"<template>";
auto returnStat = MakePtr<WfReturnStatement>();
returnStat->expression = refTemplate;
returnStatBlock->statements.Add(returnStat);
}
}
if (!stopControlTemplateTd)
{
auto value = MakePtr<WfStringExpression>();
value->value.value = L"Cannot find a matched control template to create.";
auto raiseStat = MakePtr<WfRaiseExceptionStatement>();
raiseStat->expression = value;
block->statements.Add(raiseStat);
}
funcCreateTemplate->classMember = MakePtr<WfClassMember>();
funcCreateTemplate->classMember->kind = WfClassMemberKind::Override;
refFactory->declarations.Add(funcCreateTemplate);
}
return refFactory;
}
static Ptr<WfExpression> CreateTemplateFactory(types::ResolvingResult& resolvingResult, ITypeDescriptor* controlTemplateTd, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
{
List<ITypeDescriptor*> controlTemplateTds;
controlTemplateTds.Add(controlTemplateTd);
return CreateTemplateFactory(resolvingResult, controlTemplateTds, attPosition, errors);
}
static ITypeDescriptor* GetControlTemplateType(types::ResolvingResult& resolvingResult, Ptr<WfExpression> argument, const TypeInfo& controlTypeInfo, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
{
auto controlTemplateNameExpr = argument.Cast<WfStringExpression>();
if (!controlTemplateNameExpr)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"[INTERNAL ERROR] Precompile: The value of contructor parameter \"" +
GlobalStringKey::_ControlTemplate.ToString() +
L"\" of type \"" +
controlTypeInfo.typeName.ToString() +
L"\" should be a constant representing the control template type name."));
return nullptr;
}
auto controlTemplateName = controlTemplateNameExpr->value.value;
if (wcschr(controlTemplateName.Buffer(), L';') != nullptr)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: \"" +
controlTemplateNameExpr->value.value +
L"\", which is assigned to contructor parameter \"" +
GlobalStringKey::_ControlTemplate.ToString() +
L" of type \"" +
controlTypeInfo.typeName.ToString() +
L"\", is illegal because control template should not have multiple choices."));
return nullptr;
}
auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName);
if (!controlTemplateTd)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: Type \"" +
controlTemplateNameExpr->value.value +
L"\", which is assigned to contructor parameter \"" +
GlobalStringKey::_ControlTemplate.ToString() +
L" of type \"" +
controlTypeInfo.typeName.ToString() +
L"\", does not exist."));
return nullptr;
}
return controlTemplateTd;
}
static void GetItemTemplateType(types::ResolvingResult& resolvingResult, Ptr<WfExpression> argument, List<ITypeDescriptor*>& tds, const TypeInfo& controlTypeInfo, const WString& propertyName, GuiResourceTextPos attPosition, GuiResourceError::List& errors)
{
auto controlTemplateNameExpr = argument.Cast<WfStringExpression>();
if (!controlTemplateNameExpr)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: The value of contructor parameter \"" +
propertyName + L"\" of type \"" +
controlTypeInfo.typeName.ToString() +
L"\" should be a constant representing control template type names."));
return;
}
List<WString> typeNames;
SplitBySemicolon(controlTemplateNameExpr->value.value, typeNames);
FOREACH(WString, controlTemplateName, typeNames)
{
auto controlTemplateTd = description::GetTypeDescriptor(controlTemplateName);
if (!controlTemplateTd)
{
errors.Add(GuiResourceError({ resolvingResult.resource }, attPosition,
L"Precompile: Type \"" +
controlTemplateNameExpr->value.value +
L"\", which is assigned to contructor parameter \"" + propertyName +
L" of type \"" +
controlTypeInfo.typeName.ToString() +
L"\", does not exist."));
continue;
}
tds.Add(controlTemplateTd);
}
}
public:
GuiTemplateControlInstanceLoader(const WString& _typeName, const WString& _styleMethod)
:typeName(GlobalStringKey::Get(_typeName))
@@ -1345,17 +1110,20 @@ GuiVrtualTypeInstanceLoader
return typeName;
}
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::_ControlTemplate);
if (CanCreate(typeInfo))
{
propertyNames.Add(GlobalStringKey::_ControlTemplate);
}
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
{
if (propertyInfo.propertyName == GlobalStringKey::_ControlTemplate)
{
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<WString>::CreateTypeInfo());
info->scope = GuiInstancePropertyInfo::Constructor;
auto info = GuiInstancePropertyInfo::Assign(TypeInfoRetriver<TemplateProperty<TTemplate>>::CreateTypeInfo());
info->usage = GuiInstancePropertyInfo::ConstructorArgument;
return info;
}
return 0;
@@ -1368,40 +1136,18 @@ GuiVrtualTypeInstanceLoader
Ptr<workflow::WfExpression> CreateInstance_ControlTemplate(types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)
{
Ptr<WfExpression> controlTemplate;
GuiResourceTextPos attPosition;
auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
if (index != -1)
{
auto index = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
if (index != -1)
{
auto argument = arguments.GetByIndex(index)[0];
controlTemplate = argument.expression;
attPosition = argument.attPosition;
}
}
auto argument = arguments.GetByIndex(index)[0];
if (controlTemplate)
{
if (auto controlTemplateTd = GetControlTemplateType(resolvingResult, controlTemplate, typeInfo, attPosition, errors))
{
auto styleType = TypeInfoRetriver<TControlStyle*>::CreateTypeInfo();
auto createStyle = MakePtr<WfNewClassExpression>();
createStyle->type = GetTypeFromTypeInfo(TypeInfoRetriver<TControlStyle*>::CreateTypeInfo().Obj());
createStyle->arguments.Add(argument.expression);
auto refFactory = CreateTemplateFactory(resolvingResult, controlTemplateTd, attPosition, errors);
auto createStyle = MakePtr<WfNewClassExpression>();
createStyle->type = GetTypeFromTypeInfo(styleType.Obj());
createStyle->arguments.Add(refFactory);
return createStyle;
}
else
{
return nullptr;
}
}
else
{
return CreateIThemeCall(styleMethod);
return createStyle;
}
return CreateIThemeCall(styleMethod);
}
Ptr<workflow::WfBaseConstructorCall> CreateRootInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, ArgumentMap& arguments, GuiResourceError::List& errors)override
@@ -1418,7 +1164,7 @@ GuiVrtualTypeInstanceLoader
Ptr<workflow::WfStatement> CreateInstance(GuiResourcePrecompileContext& precompileContext, types::ResolvingResult& resolvingResult, const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, GuiResourceTextPos tagPosition, GuiResourceError::List& errors)override
{
CHECK_ERROR(typeName == typeInfo.typeName, L"GuiTemplateControlInstanceLoader::CreateInstance# Wrong type info is provided.");
CHECK_ERROR(CanCreate(typeInfo), L"GuiTemplateControlInstanceLoader::CreateInstance# Wrong type info is provided.");
vint indexControlTemplate = arguments.Keys().IndexOf(GlobalStringKey::_ControlTemplate);
auto createStyleExpr = CreateInstance_ControlTemplate(resolvingResult, typeInfo, arguments, errors);
@@ -1437,7 +1183,7 @@ GuiVrtualTypeInstanceLoader
varStat->variable = varTemplate;
block->statements.Add(varStat);
}
PrepareAdditionalArguments(resolvingResult, typeInfo, variableName, arguments, errors, block);
{
auto controlType = TypeInfoRetriver<TControl*>::CreateTypeInfo();
+31 -33
View File
@@ -2648,7 +2648,7 @@ Type Declaration
BEGIN_INTERFACE_MEMBER(IDataVisualizerFactory)
CLASS_MEMBER_BASE(IDescriptable)
CLASS_MEMBER_METHOD(CreateVisualizer, {L"font" _ L"styleProvider"})
CLASS_MEMBER_METHOD(CreateVisualizer, {L"font" _ L"styleProvider" _ L"viewModelContext"})
END_INTERFACE_MEMBER(IDataVisualizerFactory)
BEGIN_INTERFACE_MEMBER(IDataVisualizer)
@@ -2671,7 +2671,7 @@ Type Declaration
BEGIN_INTERFACE_MEMBER(IDataEditorFactory)
CLASS_MEMBER_BASE(IDescriptable)
CLASS_MEMBER_METHOD(CreateEditor, {L"callback"})
CLASS_MEMBER_METHOD(CreateEditor, {L"callback" _ L"viewModelContext"})
END_INTERFACE_MEMBER(IDataEditorFactory)
BEGIN_INTERFACE_MEMBER(IDataEditor)
@@ -2695,6 +2695,7 @@ Type Declaration
CLASS_MEMBER_BASE(IDescriptable)
INTERFACE_IDENTIFIER(IDataProvider)
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
@@ -2757,6 +2758,7 @@ Type Declaration
BEGIN_INTERFACE_MEMBER(IStructuredDataProvider)
CLASS_MEMBER_BASE(IDescriptable)
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext)
CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount)
@@ -3615,10 +3617,6 @@ Type Declaration
GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION)
END_CLASS_MEMBER(GuiTemplate)
BEGIN_INTERFACE_MEMBER(GuiTemplate::IFactory)
CLASS_MEMBER_METHOD(CreateTemplate, NO_PARAMETER)
END_INTERFACE_MEMBER(GuiTemplate::IFactory)
BEGIN_CLASS_MEMBER(GuiControlTemplate)
CLASS_MEMBER_BASE(GuiTemplate)
@@ -3804,103 +3802,103 @@ Type Declaration
CLASS_MEMBER_BASE(GuiControl::IStyleController)
CLASS_MEMBER_BASE(GuiControl::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(TemplateProperty<GuiControlTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiControlTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiLabel::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(TemplateProperty<GuiLabelTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiLabelTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiSinglelineTextBox::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(TemplateProperty<GuiSinglelineTextBoxTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiDocumentLabel::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(TemplateProperty<GuiDocumentLabelTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(TemplateProperty<GuiMultilineTextBoxTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiDocumentViewer::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(TemplateProperty<GuiDocumentViewerTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(TemplateProperty<GuiMenuTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiMenuTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiWindow::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(TemplateProperty<GuiWindowTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiWindowTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiButton::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(TemplateProperty<GuiButtonTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiButtonTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(TemplateProperty<GuiSelectableButtonTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiMenuButton::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(TemplateProperty<GuiToolstripButtonTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiListViewColumnHeader::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(TemplateProperty<GuiListViewColumnHeaderTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(TemplateProperty<GuiComboBoxTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiDatePicker::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(TemplateProperty<GuiDatePickerTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiComboBoxTemplate_StyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(TemplateProperty<GuiDateComboBoxTemplate>), { L"factory" })
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider)
@@ -3908,21 +3906,21 @@ Type Declaration
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScroll::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(TemplateProperty<GuiScrollTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiScrollTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(TemplateProperty<GuiScrollViewTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiVirtualTextList::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(TemplateProperty<GuiTextListTemplate>), { L"factory" })
CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER)
END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider)
@@ -3930,40 +3928,40 @@ Type Declaration
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiListViewBase::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(TemplateProperty<GuiListViewTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiListViewTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiVirtualTreeView::IStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(TemplateProperty<GuiTreeViewTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider)
CLASS_MEMBER_BASE(GuiTab::IStyleController)
CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(TemplateProperty<GuiTabTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiTabTemplate_StyleProvider)
BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
CLASS_MEMBER_BASE(GuiComboBoxListControl::IItemStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiControlTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiControlTemplate_ItemStyleProvider>(TemplateProperty<GuiControlTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider)
BEGIN_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTextListItemTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTextListItemTemplate_ItemStyleProvider>(TemplateProperty<GuiTextListItemTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider)
BEGIN_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
CLASS_MEMBER_BASE(tree::INodeItemStyleProvider)
CLASS_MEMBER_BASE(tree::INodeProviderCallback)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTreeItemTemplate_ItemStyleProvider>(Ptr<GuiTemplate::IFactory>), { L"factory" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiTreeItemTemplate_ItemStyleProvider>(TemplateProperty<GuiTreeItemTemplate>), { L"factory" })
END_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider)
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer)
@@ -3972,11 +3970,11 @@ Type Declaration
END_CLASS_MEMBER(GuiBindableDataVisualizer)
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::Factory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::Factory>(TemplateProperty<GuiGridVisualizerTemplate>), { L"templateFactory"})
END_CLASS_MEMBER(GuiBindableDataVisualizer::Factory)
BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::DecoratedFactory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*, Ptr<list::IDataVisualizerFactory>), { L"templateFactory" _ L"ownerColumn" _ L"decoratedFactory" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataVisualizer::DecoratedFactory>(TemplateProperty<GuiGridVisualizerTemplate>, Ptr<list::IDataVisualizerFactory>), { L"templateFactory" _ L"decoratedFactory" })
END_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory)
BEGIN_CLASS_MEMBER(GuiBindableDataEditor)
@@ -3984,7 +3982,7 @@ Type Declaration
END_CLASS_MEMBER(GuiBindableDataEditor)
BEGIN_CLASS_MEMBER(GuiBindableDataEditor::Factory)
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataEditor::Factory>(Ptr<GuiTemplate::IFactory>, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" })
CLASS_MEMBER_CONSTRUCTOR(Ptr<GuiBindableDataEditor::Factory>(TemplateProperty<GuiGridEditorTemplate>), { L"templateFactory" })
END_CLASS_MEMBER(GuiBindableDataEditor::Factory)
#undef INTERFACE_EXTERNALCTOR
+14 -16
View File
@@ -1543,9 +1543,9 @@ Interface Proxy
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataVisualizerFactory)
Ptr<presentation::controls::list::IDataVisualizer> CreateVisualizer(const presentation::FontProperties& font, presentation::controls::GuiListViewBase::IStyleProvider* styleProvider)override
Ptr<presentation::controls::list::IDataVisualizer> CreateVisualizer(const presentation::FontProperties& font, presentation::controls::GuiListViewBase::IStyleProvider* styleProvider, const description::Value& viewModelContext)override
{
INVOKEGET_INTERFACE_PROXY(CreateVisualizer, font, styleProvider);
INVOKEGET_INTERFACE_PROXY(CreateVisualizer, font, styleProvider, viewModelContext);
}
END_INTERFACE_PROXY(presentation::controls::list::IDataVisualizerFactory)
@@ -1579,9 +1579,9 @@ Interface Proxy
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::controls::list::IDataEditorFactory)
Ptr<presentation::controls::list::IDataEditor> CreateEditor(presentation::controls::list::IDataEditorCallback* callback)
Ptr<presentation::controls::list::IDataEditor> CreateEditor(presentation::controls::list::IDataEditorCallback* callback, const description::Value& viewModelContext)
{
INVOKEGET_INTERFACE_PROXY(CreateEditor, callback);
INVOKEGET_INTERFACE_PROXY(CreateEditor, callback, viewModelContext);
}
END_INTERFACE_PROXY(presentation::controls::list::IDataEditorFactory)
@@ -1615,6 +1615,11 @@ Interface Proxy
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
}
description::Value GetViewModelContext()override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
}
vint GetColumnCount()override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
@@ -1812,6 +1817,11 @@ Interface Proxy
INVOKE_INTERFACE_PROXY(SetCommandExecutor, value);
}
description::Value GetViewModelContext()override
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetViewModelContext);
}
vint GetColumnCount()
{
INVOKEGET_INTERFACE_PROXY_NOPARAMS(GetColumnCount);
@@ -1943,7 +1953,6 @@ Type List
#define GUIREFLECTIONTEMPLATES_TYPELIST(F)\
F(presentation::templates::BoolOption)\
F(presentation::templates::GuiTemplate)\
F(presentation::templates::GuiTemplate::IFactory)\
F(presentation::templates::GuiControlTemplate)\
F(presentation::templates::GuiLabelTemplate)\
F(presentation::templates::GuiSinglelineTextBoxTemplate)\
@@ -2002,17 +2011,6 @@ Type List
GUIREFLECTIONTEMPLATES_TYPELIST(DECL_TYPE_INFO)
/***********************************************************************
Interface Proxy
***********************************************************************/
BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(presentation::templates::GuiTemplate::IFactory)
presentation::templates::GuiTemplate* CreateTemplate(const Value& viewModel)override
{
INVOKEGET_INTERFACE_PROXY(CreateTemplate, viewModel);
}
END_INTERFACE_PROXY(presentation::templates::GuiTemplate::IFactory)
/***********************************************************************
Type Loader
***********************************************************************/
BIN
View File
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
/***********************************************************************
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
@@ -137,18 +137,35 @@ Closures
//-------------------------------------------------------------------
__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0)
__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(__vwsnctorthis_0)
{
}
::vl::presentation::templates::GuiTemplate* __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_)
::vl::presentation::templates::GuiTextListItemTemplate* __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const
{
{
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
{
auto __vwsn_template_ = static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::demo::ColorBomboItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
return static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_);
return static_cast<::vl::presentation::templates::GuiTextListItemTemplate*>(new ::demo::ColorListItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
}
}
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
}
//-------------------------------------------------------------------
__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(__vwsnctorthis_0)
{
}
::vl::presentation::templates::GuiControlTemplate* __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const
{
{
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
{
return static_cast<::vl::presentation::templates::GuiControlTemplate*>(new ::demo::ColorBomboItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
}
}
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
@@ -578,25 +595,6 @@ Closures
return false;
}
//-------------------------------------------------------------------
__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0)
:__vwsnthis_0(__vwsnctorthis_0)
{
}
::vl::presentation::templates::GuiTemplate* __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory::CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_)
{
{
if ([&](){ auto __vwsn_temp__ = __vwsn_viewModel_; return __vwsn_temp__.GetSharedPtr() && ::vl::__vwsn::RawPtrCast<::demo::IColorItem>(__vwsn_temp__.GetRawPtr()) != nullptr; }())
{
auto __vwsn_template_ = static_cast<::vl::presentation::templates::GuiTextListItemTemplate*>(new ::demo::ColorListItemTemplate(::vl::__vwsn::Unbox<::vl::Ptr<::demo::IColorItem>>(__vwsn_viewModel_)));
return static_cast<::vl::presentation::templates::GuiTemplate*>(__vwsn_template_);
}
}
throw ::vl::Exception(::vl::WString(L"Cannot find a matched control template to create.", false));
}
}
/***********************************************************************
@@ -840,7 +838,7 @@ Class (::demo::MainWindowConstructor)
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetHorizontalAlwaysVisible(::vl::__vwsn::Parse<bool>(::vl::WString(L"false", false)));
}
{
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider(::vl::Ptr<::vl::presentation::templates::GuiTemplate::IFactory>(new ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(this))))));
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_6)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiTextListItemTemplate_ItemStyleProvider(LAMBDA(::vl_workflow_global::__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))))));
}
{
auto __vwsn_controlStyle_ = ::vl::__vwsn::This(::vl::presentation::theme::GetCurrentTheme())->CreateComboBoxStyle();
@@ -851,7 +849,7 @@ Class (::demo::MainWindowConstructor)
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_7)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiComboBoxListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider(::vl::Ptr<::vl::presentation::templates::GuiTemplate::IFactory>(new ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(this))))));
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->SetStyleProvider(::vl::Ptr<::vl::presentation::controls::GuiComboBoxListControl::IItemStyleProvider>(::vl::Ptr<::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider>(new ::vl::presentation::templates::GuiControlTemplate_ItemStyleProvider(LAMBDA(::vl_workflow_global::__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(this))))));
}
{
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_4)->AddChild(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_5)->GetBoundsComposition()));
@@ -1,4 +1,4 @@
/***********************************************************************
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
@@ -33,7 +33,8 @@ namespace vl_workflow_global
struct __vwsnf3_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
struct __vwsnf4_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__;
struct __vwsnf5_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__;
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
class __vwsnc2_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
class __vwsnc3_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
@@ -42,7 +43,6 @@ namespace vl_workflow_global
class __vwsnc6_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
class __vwsnc7_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
class __vwsnc8_Demo_demo_ColorListItemTemplateConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
}
namespace demo
@@ -144,9 +144,9 @@ namespace demo
class MainWindowConstructor : public ::vl::Object, public ::vl::reflection::Description<MainWindowConstructor>
{
friend class ::vl_workflow_global::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
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__;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindowConstructor>;
#endif
@@ -169,9 +169,9 @@ 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::__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
friend class ::vl_workflow_global::__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory;
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__;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<MainWindow>;
#endif
@@ -264,14 +264,22 @@ Closures
::vl::WString operator()(const ::vl::reflection::description::Value& __vwsn_item_) const;
};
class __vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory : public ::vl::Object, public virtual ::vl::presentation::templates::GuiTemplate::IFactory
struct __vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
{
public:
::demo::MainWindowConstructor* __vwsnthis_0;
__vwsnc10_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0);
__vwsnf6_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
::vl::presentation::templates::GuiTemplate* CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_) override;
::vl::presentation::templates::GuiTextListItemTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const;
};
struct __vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__
{
::demo::MainWindowConstructor* __vwsnthis_0;
__vwsnf7_Demo_demo_MainWindowConstructor___vwsn_initialize_instance__(::demo::MainWindowConstructor* __vwsnctorthis_0);
::vl::presentation::templates::GuiControlTemplate* operator()(const ::vl::reflection::description::Value& __vwsn_viewModel_) const;
};
class __vwsnc1_Demo_demo_ColorBomboItemTemplateConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
@@ -413,16 +421,6 @@ Closures
bool GetStopped() override;
bool StopListening() override;
};
class __vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory : public ::vl::Object, public virtual ::vl::presentation::templates::GuiTemplate::IFactory
{
public:
::demo::MainWindowConstructor* __vwsnthis_0;
__vwsnc9_Demo_demo_MainWindowConstructor___vwsn_initialize_instance___vl_presentation_templates_GuiTemplate_IFactory(::demo::MainWindowConstructor* __vwsnctorthis_0);
::vl::presentation::templates::GuiTemplate* CreateTemplate(const ::vl::reflection::description::Value& __vwsn_viewModel_) override;
};
}
#if defined( _MSC_VER)
Binary file not shown.