15 #ifndef BORNAGAIN_MVVM_MODEL_MVVM_MODEL_ITEMMANAGER_H
16 #define BORNAGAIN_MVVM_MODEL_MVVM_MODEL_ITEMMANAGER_H
19 #include "mvvm/model_export.h"
26 class ItemFactoryInterface;
35 void setItemFactory(std::unique_ptr<ItemFactoryInterface> factory);
36 void setItemPool(std::shared_ptr<ItemPool> pool);
38 std::unique_ptr<SessionItem> createItem(
const model_type& modelType = {})
const;
40 std::unique_ptr<SessionItem> createRootItem()
const;
Interface class for all factories capable of producing SessionItem's.
Manages item creation/registration for SessionModel.
std::shared_ptr< ItemPool > m_item_pool
std::unique_ptr< ItemFactoryInterface > m_item_factory
Provides registration of SessionItem pointers and their unique identifiers in global memory pool.
The main object representing an editable/displayable/serializable entity.
materialitems.h Collection of materials to populate MaterialModel.
std::string identifier_type