#pragma once #include #include #include #include "tcommon.h" #include "tmsgcore.h" #undef DVAPI #undef DVVAR #ifdef TOONZQT_EXPORTS #define DVAPI DV_EXPORT_API #define DVVAR DV_EXPORT_VAR #else #define DVAPI DV_IMPORT_API #define DVVAR DV_IMPORT_VAR #endif class MySortFilterProxyModel; class QCheckBox; class QStandardItemModel; class DVAPI TMessageRepository final : public QObject { QStandardItemModel *m_sim; Q_OBJECT public: static TMessageRepository *instance(); TMessageRepository(); QStandardItemModel *getModel() const { return m_sim; } void clear(); public slots: void messageReceived(int, const QString &); signals: void openMessageCenter(); // TMessageRepository emits this signal to indicate // that the TMessageViewer should be made visible }; //--------------------------------------------------------------------------------------- class DVAPI TMessageViewer final : public QFrame { Q_OBJECT protected: static std::vector m_tmsgViewers; MySortFilterProxyModel *m_proxyModel; void rowsInserted(const QModelIndex &parent, int start, int end); public: QCheckBox *m_redCheck, *m_greenCheck, *m_yellowCheck; TMessageViewer(QWidget *); static bool isTMsgVisible(); public slots: void onClicked(bool); void refreshFilter(int); };