Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_paint_ops_model.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#ifndef _KIS_PAINTOP_LIST_MODEL_H_
10#define _KIS_PAINTOP_LIST_MODEL_H_
11
12#include <QAbstractListModel>
13#include <QPixmap>
14#include <kritaui_export.h>
17
19
20struct KRITAUI_EXPORT KisPaintOpInfo
21{
23 KisPaintOpInfo(const QString& _id, const QString& _name, const QString& _category, const QIcon& _icon, qint32 _priority):
24 id(_id), name(_name), category(_category), icon(_icon), priority(_priority) { }
25
26 KisPaintOpInfo(const QString& _id):
27 id(_id) { }
28
29 bool operator==(const KisPaintOpInfo info) const{
30 return (info.id == id);
31 }
32
33 QString id;
34 QString name;
35 QString category;
36 QIcon icon;
37 qint32 priority {0};
38};
39
41 QString operator() (const KisPaintOpInfo &info) {
42 return info.name;
43 }
44};
45
47
49{
50public:
51 KisPaintOpListModel(QObject *parent);
52 QVariant data(const QModelIndex& idx, int role = Qt::DisplayRole) const override;
53 void fill(const QList<KisPaintOpFactory*>& list);
54};
55
56class KRITAUI_EXPORT KisSortedPaintOpListModel : public KisSortedCategorizedListModel<KisPaintOpListModel>
57{
58public:
61 m_model(new KisPaintOpListModel(this))
62 {
63 initializeModel(m_model);
64 }
65
66 void fill(const QList<KisPaintOpFactory*> &list) {
67 m_model->fill(list);
68 }
69
70protected:
71 bool lessThan(const QModelIndex &left, const QModelIndex &right) const override {
72 return lessThanPriority(left, right, KisPaintOpFactory::categoryStable());
73 }
74
75private:
77};
78
79#endif //_KIS_PAINTOP_LIST_MODEL_H_
static QString categoryStable()
KisPaintOpListModel * m_model
void fill(const QList< KisPaintOpFactory * > &list)
KisSortedPaintOpListModel(QObject *parent)
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
KisCategorizedListModel< KisPaintOpInfo, PaintOpInfoToQStringConverter > BasePaintOpCategorizedListModel
KisPaintOpInfo(const QString &_id, const QString &_name, const QString &_category, const QIcon &_icon, qint32 _priority)
bool operator==(const KisPaintOpInfo info) const
KisPaintOpInfo(const QString &_id)
QString operator()(const KisPaintOpInfo &info)