38 lines
883 B
C++
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
|