mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-09-24 08:44:19 +08:00
Update release
This commit is contained in:
+82
-20
@@ -613,9 +613,35 @@ GuiDefaultInstanceLoader
|
||||
}
|
||||
}
|
||||
break;
|
||||
case GuiInstancePropertyInfo::SupportAssign:
|
||||
case GuiInstancePropertyInfo::SupportArray:
|
||||
{
|
||||
{
|
||||
auto refArray = MakePtr<WfConstructorExpression>();
|
||||
FOREACH(ArgumentInfo, item, arguments.GetByIndex(index))
|
||||
{
|
||||
auto argument = MakePtr<WfConstructorArgument>();
|
||||
argument->key = item.expression;
|
||||
refArray->arguments.Add(argument);
|
||||
}
|
||||
|
||||
auto refValue = MakePtr<WfReferenceExpression>();
|
||||
refValue->name.value = variableName.ToString();
|
||||
|
||||
auto refProp = MakePtr<WfMemberExpression>();
|
||||
refProp->parent = refValue;
|
||||
refProp->name.value = prop.ToString();
|
||||
|
||||
auto assign = MakePtr<WfBinaryExpression>();
|
||||
assign->op = WfBinaryOperator::Assign;
|
||||
assign->first = refProp;
|
||||
assign->second = refArray;
|
||||
|
||||
auto stat = MakePtr<WfExpressionStatement>();
|
||||
stat->expression = assign;
|
||||
block->statements.Add(stat);
|
||||
}
|
||||
break;
|
||||
case GuiInstancePropertyInfo::SupportAssign:
|
||||
{
|
||||
auto refValue = MakePtr<WfReferenceExpression>();
|
||||
refValue->name.value = variableName.ToString();
|
||||
|
||||
@@ -3275,6 +3301,7 @@ GuiDocumentViewerInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -3318,7 +3345,7 @@ GuiDocumentViewerInstanceLoader
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -3339,6 +3366,7 @@ GuiDocumentLabelInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -3382,7 +3410,7 @@ GuiDocumentLabelInstanceLoader
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -3674,6 +3702,7 @@ GuiListViewInstanceLoader
|
||||
propertyNames.Add(_View);
|
||||
propertyNames.Add(_IconSize);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const typename BASE_TYPE::PropertyInfo& propertyInfo)override
|
||||
@@ -3690,7 +3719,7 @@ GuiListViewInstanceLoader
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
return info;
|
||||
}
|
||||
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -3721,11 +3750,11 @@ GuiListViewInstanceLoader
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
if (typeInfo.typeName == GetTypeName())
|
||||
{
|
||||
propertyNames.Add(_ItemSource);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -3808,6 +3837,7 @@ GuiTreeViewInstanceLoader
|
||||
{
|
||||
propertyNames.Add(_Nodes);
|
||||
}
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
void GetConstructorParameters(const typename BASE_TYPE::TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
@@ -3817,6 +3847,7 @@ GuiTreeViewInstanceLoader
|
||||
propertyNames.Add(_Nodes);
|
||||
propertyNames.Add(_IconSize);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const typename BASE_TYPE::PropertyInfo& propertyInfo)override
|
||||
@@ -3834,7 +3865,7 @@ GuiTreeViewInstanceLoader
|
||||
info->scope = GuiInstancePropertyInfo::Constructor;
|
||||
return info;
|
||||
}
|
||||
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const typename BASE_TYPE::TypeInfo& typeInfo, GlobalStringKey variableName, typename BASE_TYPE::ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
@@ -3874,7 +3905,7 @@ GuiTreeViewInstanceLoader
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -3905,11 +3936,11 @@ GuiTreeViewInstanceLoader
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
if (typeInfo.typeName == GetTypeName())
|
||||
{
|
||||
propertyNames.Add(_ItemSource);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -3966,6 +3997,7 @@ GuiBindableTextListInstanceLoader
|
||||
{
|
||||
propertyNames.Add(_ItemSource);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -3977,7 +4009,7 @@ GuiBindableTextListInstanceLoader
|
||||
info->required = true;
|
||||
return info;
|
||||
}
|
||||
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -4187,6 +4219,7 @@ GuiBindableDataGridInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(_Columns);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
@@ -4196,6 +4229,7 @@ GuiBindableDataGridInstanceLoader
|
||||
propertyNames.Add(_ItemSource);
|
||||
propertyNames.Add(_ViewModelContext);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -4219,7 +4253,7 @@ GuiBindableDataGridInstanceLoader
|
||||
info->bindable = true;
|
||||
return info;
|
||||
}
|
||||
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
@@ -4251,7 +4285,7 @@ GuiBindableDataGridInstanceLoader
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -4641,12 +4675,13 @@ GuiComboBoxInstanceLoader
|
||||
_ListControl = GlobalStringKey::Get(L"ListControl");
|
||||
}
|
||||
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
if (typeInfo.typeName == GetTypeName())
|
||||
{
|
||||
propertyNames.Add(_ListControl);
|
||||
}
|
||||
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -4658,7 +4693,7 @@ GuiComboBoxInstanceLoader
|
||||
info->required = true;
|
||||
return info;
|
||||
}
|
||||
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
|
||||
return BASE_TYPE::GetPropertyType(propertyInfo);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -4866,6 +4901,7 @@ GuiTabInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -4923,7 +4959,7 @@ GuiTabInstanceLoader
|
||||
{
|
||||
return block;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -5122,6 +5158,7 @@ GuiToolstripMenuInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -5135,7 +5172,14 @@ GuiToolstripMenuInstanceLoader
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
{
|
||||
return AddControlToToolstrip(variableName, arguments, errors);
|
||||
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
|
||||
{
|
||||
return statement;
|
||||
}
|
||||
else
|
||||
{
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -5156,6 +5200,7 @@ GuiToolstripMenuBarInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -5169,7 +5214,14 @@ GuiToolstripMenuBarInstanceLoader
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
{
|
||||
return AddControlToToolstrip(variableName, arguments, errors);
|
||||
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
|
||||
{
|
||||
return statement;
|
||||
}
|
||||
else
|
||||
{
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -5190,6 +5242,7 @@ GuiToolstripToolBarInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(GlobalStringKey::Empty);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -5203,7 +5256,14 @@ GuiToolstripToolBarInstanceLoader
|
||||
|
||||
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
|
||||
{
|
||||
return AddControlToToolstrip(variableName, arguments, errors);
|
||||
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
|
||||
{
|
||||
return statement;
|
||||
}
|
||||
else
|
||||
{
|
||||
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
|
||||
}
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -5228,6 +5288,7 @@ GuiToolstripButtonInstanceLoader
|
||||
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
|
||||
{
|
||||
propertyNames.Add(_SubMenu);
|
||||
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
|
||||
}
|
||||
|
||||
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
|
||||
@@ -5255,7 +5316,7 @@ GuiToolstripButtonInstanceLoader
|
||||
|
||||
return call;
|
||||
}
|
||||
return nullptr;
|
||||
return BASE_TYPE::GetParameter(propertyInfo, variableName, errors);
|
||||
}
|
||||
};
|
||||
#undef BASE_TYPE
|
||||
@@ -10274,6 +10335,7 @@ Workflow_PrecompileInstanceContext
|
||||
|
||||
Ptr<workflow::runtime::WfAssembly> Workflow_PrecompileInstanceContext(Ptr<GuiInstanceContext> context, types::ErrorList& errors)
|
||||
{
|
||||
vint previousErrorCount = errors.Count();
|
||||
ITypeDescriptor* rootTypeDescriptor = 0;
|
||||
if (context->className == L"")
|
||||
{
|
||||
@@ -10289,7 +10351,7 @@ Workflow_PrecompileInstanceContext
|
||||
types::ResolvingResult resolvingResult;
|
||||
rootTypeDescriptor = Workflow_CollectReferences(context, resolvingResult, errors);
|
||||
|
||||
if (errors.Count() == 0)
|
||||
if (errors.Count() == previousErrorCount)
|
||||
{
|
||||
auto statements = MakePtr<WfBlockStatement>();
|
||||
Workflow_GenerateCreating(context, resolvingResult, rootTypeDescriptor, statements, errors);
|
||||
|
||||
Reference in New Issue
Block a user