File indexing completed on 2025-03-09 04:10:06
0001 /* 0002 * SPDX-FileCopyrightText: 2004 Adrian Page <adrian@pagenet.plus.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KIS_PREDEFINED_BRUSH_CHOOSER_H_ 0007 #define KIS_PREDEFINED_BRUSH_CHOOSER_H_ 0008 0009 #include <QLabel> 0010 #include <kis_brush.h> 0011 #include <QScroller> 0012 0013 #include "kritapaintop_export.h" 0014 #include "ui_wdgpredefinedbrushchooser.h" 0015 0016 #include <lager/cursor.hpp> 0017 #include <KisBrushModel.h> 0018 0019 0020 class KisDoubleSliderSpinBox; 0021 class QLabel; 0022 class QCheckBox; 0023 0024 class KisDoubleSliderSpinBox; 0025 class KisSpacingSelectionWidget; 0026 class KisCustomBrushWidget; 0027 class KisClipboardBrushWidget; 0028 class KisResourceItemChooser; 0029 class KoResource; 0030 class KisPredefinedBrushModel; 0031 0032 0033 class PAINTOP_EXPORT KisPredefinedBrushChooser : public QWidget, public Ui::WdgPredefinedBrushChooser 0034 { 0035 0036 Q_OBJECT 0037 0038 public: 0039 KisPredefinedBrushChooser(int maxBrushSize, 0040 KisPredefinedBrushModel *model, 0041 QWidget *parent = 0, const char *name = 0); 0042 ~KisPredefinedBrushChooser() override; 0043 0044 void setBrush(KisBrushSP brush); 0045 void setImage(KisImageWSP image); 0046 0047 lager::reader<bool> lightnessModeEnabled() const; 0048 0049 private Q_SLOTS: 0050 0051 void slotResetBrush(); 0052 void slotResetAdjustments(); 0053 void slotOpenStampBrush(); 0054 void slotOpenClipboardBrush(); 0055 void slotImportNewBrushResource(); 0056 void slotDeleteBrushResource(); 0057 void slotNewPredefinedBrush(KoResourceSP); 0058 void slotBrushSelected(KoResourceSP resource); 0059 void slotBrushPropertyChanged(KoResourceSignature signature); 0060 0061 private: 0062 struct Private; 0063 const QScopedPointer<Private> m_d; 0064 0065 KisBrushSP m_brush; 0066 KisResourceItemChooser* m_itemChooser; 0067 KisImageWSP m_image; 0068 KisCustomBrushWidget* m_stampBrushWidget; 0069 KisClipboardBrushWidget* m_clipboardBrushWidget; 0070 }; 0071 0072 #endif // KIS_PREDEFINED_BRUSH_CHOOSER_H_