Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_composite_ops_model.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#ifndef _KIS_COMPOSITE_OPS_MODEL_H_
9#define _KIS_COMPOSITE_OPS_MODEL_H_
10
11#include <KoID.h>
13
14class KoColorSpace;
15
17 QString operator() (const KoID &id) {
18 return id.name();
19 }
20};
21
23
25{
26public:
27 static KisCompositeOpListModel* sharedInstance();
28
29 virtual QString categoryToString(const KoID& val) const { return val.name(); }
30 virtual QString entryToString (const KoID& val) const { return val.name(); }
31 bool setData (const QModelIndex& idx, const QVariant& value, int role=Qt::EditRole) override;
32 QVariant data (const QModelIndex& idx, int role=Qt::DisplayRole) const override;
33
34 void validate(const KoColorSpace *cs);
35 void readFavoriteCompositeOpsFromConfig();
36 void writeFavoriteCompositeOpsToConfig() const;
37
38 static KoID favoriteCategory();
39
40 void initialize();
41 void initializeForLayerStyles();
42
43private:
44 void addFavoriteEntry(const KoID &entry);
45 void removeFavoriteEntry(const KoID &entry);
46};
47
54class KRITAUI_EXPORT KisSortedCompositeOpListModel : public KisSortedCategorizedListModel<KisCompositeOpListModel>
55{
56public:
57 KisSortedCompositeOpListModel(bool limitToLayerStyles, QObject *parent)
59 {
60 if (limitToLayerStyles) {
62 } else {
63 m_model.initialize();
64 }
65
66 initializeModel(&m_model);
67 }
68
69 void validate(const KoColorSpace *cs) {
70 m_model.validate(cs);
71 }
72
73protected:
74 bool lessThan(const QModelIndex &left, const QModelIndex &right) const override {
75 return lessThanPriority(left, right, KisCompositeOpListModel::favoriteCategory().name());
76 }
77private:
79};
80
81#endif
float value(const T *src, size_t ch)
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override
bool setData(const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
virtual QString entryToString(const KoID &val) const
virtual QString categoryToString(const KoID &val) const
The KisSortedCompositeOpListModel class provides a model for the composite op combobox.
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
KisSortedCompositeOpListModel(bool limitToLayerStyles, QObject *parent)
void validate(const KoColorSpace *cs)
Definition KoID.h:30
QString name() const
Definition KoID.cpp:68
KisCategorizedListModel< KoID, KoIDToQStringConverter > BaseKoIDCategorizedListModel
QString operator()(const KoID &id)