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
27class KisBrush;
28class QStackedWidget;
32
36class PAINTOP_EXPORT KisBrushSelectionWidget : public QWidget
37{
38 Q_OBJECT
39
40public:
41 KisBrushSelectionWidget(int maxBrushSize,
42 KisAutoBrushModel *autoBrushModel,
43 KisPredefinedBrushModel *predefinedBrushModel,
44 KisTextBrushModel *textBrushModel,
45 lager::cursor<KisBrushModel::BrushType> brushType,
46 lager::cursor<KisBrushModel::PrecisionData> precisionData,
47 KisBrushOptionWidgetFlags flags,
48 QWidget *parent = 0);
49
50 ~KisBrushSelectionWidget() override;
51
52 KisBrushSP brush() const;
53
54 void hideOptions(const QStringList &options);
55
56 lager::reader<bool> lightnessModeEnabled() const;
57
58Q_SIGNALS:
59
62
63private:
64 void setCurrentWidget(QWidget *widget);
65 void addChooser(const QString & text, QWidget *widget, int id, KoGroupButton::GroupPosition pos);
66
67private:
73
74 Ui_WdgBrushChooser uiWdgBrushChooser;
75 QGridLayout *m_layout {0};
76 QWidget *m_currentBrushWidget {0};
77 QHash<int, QWidget*> m_chooserMap;
78 QButtonGroup *m_buttonGroup {0};
80 QStackedWidget *m_stackedWidget{0};
81
82 KisAutoBrushWidget *m_autoBrushWidget {0};
83 KisPredefinedBrushChooser *m_predefinedBrushWidget {0};
84 KisTextBrushChooser *m_textBrushWidget {0};
85
86 struct Private;
87 const QScopedPointer<Private> m_d;
88};
89
90#endif
const QScopedPointer< Private > m_d
QHash< int, QWidget * > m_chooserMap