22 std::unique_ptr<ModelView::ItemFactory> DefaultItemFactory()
51 return std::make_unique<SessionItem>();
Interface class for all factories capable of producing SessionItem's.
Manages item creation/registration for SessionModel.
void registerInPool(SessionItem *item)
void unregisterFromPool(SessionItem *item)
void setItemPool(std::shared_ptr< ItemPool > pool)
identifier_type findIdentifier(const SessionItem *item) const
const ItemFactoryInterface * factory() const
std::unique_ptr< SessionItem > createItem(const model_type &modelType={}) const
SessionItem * findItem(const identifier_type &id) const
void setItemFactory(std::unique_ptr< ItemFactoryInterface > factory)
std::shared_ptr< ItemPool > m_item_pool
std::unique_ptr< SessionItem > createRootItem() const
std::unique_ptr< ItemFactoryInterface > m_item_factory
const ItemPool * itemPool() const
Provides registration of SessionItem pointers and their unique identifiers in global memory pool.
The main object representing an editable/displayable/serializable entity.
std::string identifier() const
Returns unique identifier.
materialitems.h Collection of materials to populate MaterialModel.
std::string identifier_type
MVVM_MODEL_EXPORT std::unique_ptr< ItemCatalogue > CreateStandardItemCatalogue()
Creates a catalog of items supported by SessionModel out-of-the-box.