#pragma once #include #include #include "item.h" #include class ItemStore: public QObject { Q_OBJECT private: std::vector< std::shared_ptr > items_; public: ItemStore(QObject *parent = nullptr); virtual ~ItemStore(){} inline std::vector< std::shared_ptr >* getItems(){ return &items_; } void clear(); signals: void itemDeleted(ItemData item); void itemAdded(std::weak_ptr Item); public slots: void removeItem(const ItemData& item); void addItem(std::shared_ptr item); void addItems(const std::vector>& itemsIn); void itemStateChanged(const ItemData& item); };