File indexing completed on 2024-05-19 04:29:25
0001 // SPDX-FileCopyrightText: 2023 L. E. Segovia <amy@amyspark.me> 0002 // SPDX-License-Ref: LGPL-2.0-or-later 0003 0004 #ifndef KIS_STACKED_WIDGET_H 0005 #define KIS_STACKED_WIDGET_H 0006 0007 #include <QStackedWidget> 0008 0009 #include "kritawidgets_export.h" 0010 0011 /** This class enables a @ref QStackedWidget to resize itself to its current 0012 * visible member's @ref sizeHint, instead of staying with the maximum of all 0013 * children's sizes. 0014 * This class is intended to be used in place of @ref QStackedWidget, whenever 0015 * the latter is meant to be the main widget. 0016 */ 0017 class KRITAWIDGETS_EXPORT KisStackedWidget : public QStackedWidget 0018 { 0019 public: 0020 KisStackedWidget(QWidget *parent = nullptr); 0021 0022 #if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)) 0023 Q_DISABLE_COPY_MOVE(KisStackedWidget); 0024 #else 0025 //Q_DISABLE_MOVE(KisStackedWidget); 0026 Q_DISABLE_COPY(KisStackedWidget) 0027 KisStackedWidget(KisStackedWidget&&) = delete; 0028 KisStackedWidget& operator=(KisStackedWidget &&) = delete; 0029 #endif 0030 0031 ~KisStackedWidget() override = default; 0032 0033 QSize sizeHint() const override; 0034 QSize minimumSizeHint() const override; 0035 }; 0036 0037 #endif