#include "DataModelRegistry.hpp" #include #include using QtNodes::DataModelRegistry; using QtNodes::NodeDataModel; using QtNodes::NodeDataType; using QtNodes::TypeConverter; std::unique_ptr DataModelRegistry:: create(QString const &modelName) { auto it = _registeredItemCreators.find(modelName); if (it != _registeredItemCreators.end()) { return it->second(); } return nullptr; } DataModelRegistry::RegisteredModelCreatorsMap const & DataModelRegistry:: registeredModelCreators() const { return _registeredItemCreators; } DataModelRegistry::RegisteredModelsCategoryMap const & DataModelRegistry:: registeredModelsCategoryAssociation() const { return _registeredModelsCategory; } DataModelRegistry::CategoriesSet const & DataModelRegistry:: categories() const { return _categories; } TypeConverter DataModelRegistry:: getTypeConverter(NodeDataType const & d1, NodeDataType const & d2) const { TypeConverterId converterId = std::make_pair(d1, d2); auto it = _registeredTypeConverters.find(converterId); if (it != _registeredTypeConverters.end()) { return it->second; } return TypeConverter{}; }