#pragma once #include "lts_base.h" #include "lts_widgets_export.h" #include #include #include class QWidget; namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsGridLayout : public QGridLayout { Q_OBJECT public: explicit LtsGridLayout(LtsWidgets::ButtonSize buttonSize, QWidget* parent = nullptr, int maxColumn = 1); void add_widget(QWidget* widget); void setAutoSize(bool enable); void setMaxColumn(int max); private: void addWidgetInternal(QWidget* widget); public Q_SLOTS: void onParentResize(QResizeEvent* e); private Q_SLOTS: void onWidgetDestroyed(); private: LtsWidgets::ButtonSize m_buttonSize; int m_defaultMaxColumn; int m_maxColumn; int m_colSize; QVector m_widgetList; QRect m_oldGeo; QSize m_oldSize; bool m_autoSize; }; } // namespace LtsWidgets