==== //Noesis/NoesisSDK/Native/Src/Packages/Core/Kernel/Include/NsCore/Factory.h#2 (text) - //Noesis/NoesisSDK/Native/Src/Packages/Core/Kernel/Include/NsCore/Factory.h#1 (text) ==== content 13c13 < #include --- > 38,43d37 < // Set create component callback < using FallbackHandler = std::function(Symbol const name)>; < NS_CORE_KERNEL_API void SetFallbackHandler(FallbackHandler handler); < ==== //Noesis/NoesisSDK/Native/Src/Packages/Core/Kernel/Src/Factory.cpp#2 (text) - //Noesis/NoesisSDK/Native/Src/Packages/Core/Kernel/Src/Factory.cpp#1 (text) ==== content 30,32d29 < static Factory::FallbackHandler gFallbackHandler; 70,77d66 < // Call callback to create component < if (gFallbackHandler != nullptr) < { < return gFallbackHandler(name); < } < 82,88d70 < void Factory::SetFallbackHandler(FallbackHandler handler) < { < gFallbackHandler = handler; < } < //////////////////////////////////////////////////////////////////////////////////////////////////// ==== //Noesis/NoesisSDK/Native/Src/Packages/Gui/Core/Src/XamlContext.cpp#2 (text) - //Noesis/NoesisSDK/Native/Src/Packages/Gui/Core/Src/XamlContext.cpp#1 (text) ==== content 822,841c822 < const Type* type = Reflection::GetType(typeId); < Ptr instance; < < // Call the factory create component that contains a fallback. This way we can load xamls < // without having corresponding c++ classes (without registered symbols) < if (type == 0) < { < instance = Factory::CreateComponent(typeId); < < if (instance != nullptr) < { < type = Reflection::GetType(instance->GetClassType()->GetTypeId()); < NS_ASSERT(instance->GetClassType()->GetTypeId() == typeId); < < CheckTemplateOpen(instance, mAmbient); < } < } < --- > const Type* type = Reflection::GetType(typeId); 856a838,839 > Ptr instance; >