#pragma once #include "../Base/Layout.h" #include "../Base/global.h" #include "global.h" namespace Psc { class Icon2; class Table_View; struct Table_Edit_Able { QString content; }; struct Base_Table_Data { virtual ~Base_Table_Data() = default; Base_Table_Data* parent{}; Base_Table_Data(); virtual void update(bool show, Table_View* view, QPainter* painter, QRect rect) {}; }; struct Table_Paint_Data : Base_Table_Data, Table_Edit_Able { QColor background_color; Table_Paint_Data(QIcon icon, QString text); Table_Paint_Data(QString text); std::optional icon; Text text; Layout layout; void update(bool show, Table_View* view, QPainter* painter, QRect rect) override; }; struct Widget_Data : Base_Table_Data { QWidget* widget{}; void update(bool show, Table_View* view, QPainter* painter, QRect rect) override; }; } // namespace Psc