File indexing completed on 2024-05-12 16:01:29
0001 /* 0002 * kis_control_frame.h - part of Krita 0003 * 0004 * SPDX-FileCopyrightText: 1999 Matthias Elter <elter@kde.org> 0005 * SPDX-FileCopyrightText: 2003 Patrick Julien <freak@codepimps.org> 0006 * SPDX-FileCopyrightText: 2004 Sven Langkamp <sven.langkamp@gmail.com> 0007 * SPDX-FileCopyrightText: 2003-2008 Boudewijn Rempt <boud@valdyas.org> 0008 * 0009 * SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 #ifndef __kis_control_frame_h__ 0012 #define __kis_control_frame_h__ 0013 0014 #include <QMenu> 0015 #include <QObject> 0016 0017 #include <KoPattern.h> 0018 #include <KoAbstractGradient.h> 0019 #include <KoCheckerBoardPainter.h> 0020 0021 class QWidget; 0022 class QTabWidget; 0023 0024 class KisGradientChooser; 0025 class KisPatternChooser; 0026 class KisPaintopBox; 0027 class KisViewManager; 0028 class KisIconWidget; 0029 class KoDualColorButton; 0030 0031 /** 0032 * Control Frame - status display with access to 0033 * color selector, gradient, patterns, and paintop presets 0034 */ 0035 class KisControlFrame : public QObject 0036 { 0037 Q_OBJECT 0038 0039 public: 0040 0041 KisControlFrame(KisViewManager *view, QWidget *parent = 0, const char *name = 0); 0042 ~KisControlFrame() override {} 0043 void setup(QWidget *parent); 0044 0045 KisPaintopBox* paintopBox() { 0046 return m_paintopBox; 0047 } 0048 0049 private Q_SLOTS: 0050 0051 void slotSetPattern(KoPatternSP pattern); 0052 void slotSetGradient(KoAbstractGradientSP gradient); 0053 void slotUpdateDisplayRenderer(); 0054 0055 private: 0056 0057 void createPatternsChooser(KisViewManager * view); 0058 void createGradientsChooser(KisViewManager * view); 0059 0060 private: 0061 0062 KisViewManager *m_viewManager {nullptr}; 0063 0064 QTabWidget *m_gradientTab {nullptr}; 0065 QTabWidget *m_patternsTab {nullptr}; 0066 0067 KisIconWidget *m_patternWidget {nullptr}; 0068 KisIconWidget *m_gradientWidget {nullptr}; 0069 0070 QWidget *m_patternChooserPopup {nullptr}; 0071 QWidget *m_gradientChooserPopup {nullptr}; 0072 0073 KisGradientChooser *m_gradientChooser {nullptr}; 0074 KisPatternChooser *m_patternChooser {nullptr}; 0075 0076 KisPaintopBox *m_paintopBox {nullptr}; 0077 0078 KoDualColorButton *m_dual {nullptr}; 0079 KoCheckerBoardPainter m_checkersPainter; 0080 0081 }; 0082 0083 #endif 0084