#pragma once #include #include "controllers/highlights/HighlightPhrase.hpp" #include "util/SignalVectorModel.hpp" namespace chatterino { namespace controllers { namespace highlights { class HighlightController; class HighlightModel : public util::SignalVectorModel { explicit HighlightModel(QObject *parent); protected: // turn a vector item into a model row virtual HighlightPhrase getItemFromRow(std::vector &row, const HighlightPhrase &original) override; // turns a row in the model into a vector item virtual void getRowFromItem(const HighlightPhrase &item, std::vector &row) override; virtual void afterInit() override; virtual void customRowSetData(const std::vector &row, int column, const QVariant &value, int role) override; friend class HighlightController; }; } // namespace highlights } // namespace controllers } // namespace chatterino