15 #ifndef BORNAGAIN_MVVM_MODEL_MVVM_INTERFACES_ITEMFACTORYINTERFACE_H
16 #define BORNAGAIN_MVVM_MODEL_MVVM_INTERFACES_ITEMFACTORYINTERFACE_H
20 #include "mvvm/model_export.h"
34 const std::string& label) = 0;
Interface class for all factories capable of producing SessionItem's.
virtual void registerItem(const std::string &modelType, item_factory_func_t func, const std::string &label)=0
virtual std::unique_ptr< SessionItem > createItem(const model_type &modelType) const =0
virtual ~ItemFactoryInterface()=default
materialitems.h Collection of materials to populate MaterialModel.
std::function< std::unique_ptr< SessionItem >()> item_factory_func_t
Definition for item factory funciton.