Files
hfut-bishe/client/gui/dialogs/EntityIntroPopup.h

38 lines
883 B
C++

#pragma once
#include "core/domain/EntityIntro.h"
#include <QWidget>
class QLabel;
class QTextEdit;
class QVBoxLayout;
namespace gui {
/// 预览模式下在实体附近显示的介绍浮层(非模态,可随内容伸缩)
class EntityIntroPopup final : public QWidget {
Q_OBJECT
public:
explicit EntityIntroPopup(QWidget* parent = nullptr);
void setProjectDir(const QString& absoluteProjectDir);
void setContent(const core::EntityIntroContent& content);
void showNearCanvasPoint(const QPoint& viewPos, QWidget* canvasWidget);
void clearAndHide();
protected:
void paintEvent(QPaintEvent* e) override;
private:
QString m_projectDirAbs;
QLabel* m_title = nullptr;
QTextEdit* m_body = nullptr;
QWidget* m_imagesHost = nullptr;
QVBoxLayout* m_imagesLayout = nullptr;
QLabel* m_videoHint = nullptr;
};
} // namespace gui