#ifndef SPECS_MODEL_H #define SPECS_MODEL_H #include #include #include "gtl_scr_spec.h" #include "script_global.h" namespace gtl { namespace scr { class SCRIPT_EXPORT specs_model : public QAbstractListModel { Q_OBJECT public: explicit specs_model(QObject *parent = nullptr); // Basic functionality: int rowCount(const QModelIndex &parent = QModelIndex()) const override; virtual Qt::ItemFlags flags(const QModelIndex &index) const override; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; private: std::vector _specs; public slots: void add_spec(gtl::scr::spec*); private slots: void deleting_spec(); void visibility_spec_chagned(); signals: void show_spec(gtl::scr::spec*); void hide_spec(gtl::scr::spec*); }; } } #endif // SPECS_MODEL_H