#pragma once #include "topic_editor_utils.h" #include "topiceditorbase_export.h" #include #include namespace Ui { class TopicPreviewWidget; } namespace TopicEditorBase { class TopicPreviewer; class TOPICEDITORBASE_EXPORT TopicPreviewWidget : public QWidget { Q_OBJECT public: explicit TopicPreviewWidget(QWidget* parent = nullptr); ~TopicPreviewWidget(); void setTopicData(const TopicData& data); void setTopicEnabled(bool enabled); QString description() const; void setDescription(const QString& description); TopicPreviewer* previewer(); private: void contextMenuEvent(QContextMenuEvent* event); signals: void startDragMe(); void stopDragMe(); void deleteMe(); private: Ui::TopicPreviewWidget* m_ui{nullptr}; }; } // namespace TopicEditorBase