Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_brush_selection_widget.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2014 Mohit Goyal <mohit.bits2011@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef KIS_BRUSH_SELECTION_WIDGET_H
8#define KIS_BRUSH_SELECTION_WIDGET_H
9
10#include <QWidget>
11
12#include <KoGroupButton.h>
13
15#include <kis_brush.h>
16
18#include "ui_wdgbrushchooser.h"
19
20#include <lager/cursor.hpp>
21#include <KisBrushModel.h>
23
29class KisBrush;
30class QStackedWidget;
34
38class PAINTOP_EXPORT KisBrushSelectionWidget : public QWidget
39{
40 Q_OBJECT
41
42public:
43 KisBrushSelectionWidget(int maxBrushSize,
44 KisAutoBrushModel *autoBrushModel,
45 KisPredefinedBrushModel *predefinedBrushModel,
46 KisTextBrushModel *textBrushModel,
47 lager::cursor<KisBrushModel::BrushType> brushType,
48 lager::cursor<KisBrushModel::PrecisionData> precisionData,
49 KisBrushOptionWidgetFlags flags,
50 QWidget *parent = 0);
51
52 ~KisBrushSelectionWidget() override;
53
54 KisBrushSP brush() const;
55
56 void setImage(KisImageWSP image);
57 void hideOptions(const QStringList &options);
58
59 lager::reader<bool> lightnessModeEnabled() const;
60
61Q_SIGNALS:
62
65
66private:
67 void setCurrentWidget(QWidget *widget);
68 void addChooser(const QString & text, QWidget *widget, int id, KoGroupButton::GroupPosition pos);
69
70private:
76
77 Ui_WdgBrushChooser uiWdgBrushChooser;
78 QGridLayout *m_layout {0};
79 QWidget *m_currentBrushWidget {0};
80 QHash<int, QWidget*> m_chooserMap;
81 QButtonGroup *m_buttonGroup {0};
83 QStackedWidget *m_stackedWidget{0};
84
85 KisAutoBrushWidget *m_autoBrushWidget {0};
86 KisPredefinedBrushChooser *m_predefinedBrushWidget {0};
87 KisTextBrushChooser *m_textBrushWidget {0};
88
89 struct Private;
90 const QScopedPointer<Private> m_d;
91};
92
93#endif
const QScopedPointer< Private > m_d
QHash< int, QWidget * > m_chooserMap