#pragma once #include "global.h" namespace Psc { struct Base_Info { virtual ~Base_Info() = default; int len; QString content{}; bool hide = false; QColor background_color; explicit Base_Info(int len, QString content); [[nodiscard]] QString to_string() const { return QString("w:%1, content:%2").arg(len).arg(content); } virtual void paint(QPainter* painter, QRect rect); }; struct Row_Info : Base_Info { explicit Row_Info(int h, const QString& content) : Base_Info(h, content) { } int h() { return len; } QString to_string() { return QString("h:%1, content:%2").arg(len).arg(content); } }; struct Col_Info : Base_Info { explicit Col_Info(int w, const QString& content) : Base_Info(w, content) { } int w() { return len; } }; } // namespace Psc