Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCompositeOpListModel Class Reference

#include <kis_composite_ops_model.h>

+ Inheritance diagram for KisCompositeOpListModel:

Public Member Functions

virtual QString categoryToString (const KoID &val) const
 
QVariant data (const QModelIndex &idx, int role=Qt::DisplayRole) const override
 
virtual QString entryToString (const KoID &val) const
 
void initialize ()
 
void initializeForLayerStyles ()
 
void readFavoriteCompositeOpsFromConfig ()
 
bool setData (const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
 
void validate (const KoColorSpace *cs)
 
void writeFavoriteCompositeOpsToConfig () const
 
- Public Member Functions inherited from KisCategorizedListModel< TEntry, TEntryToQStringConverter >
SpecificCategoriesMappercategoriesMapper ()
 
const SpecificCategoriesMappercategoriesMapper () const
 
QVariant data (const QModelIndex &idx, int role=Qt::DisplayRole) const override
 
bool entryAt (TEntry &entry, QModelIndex index) const
 
Qt::ItemFlags flags (const QModelIndex &idx) const override
 
QModelIndex indexOf (const TEntry &entry) const
 
 KisCategorizedListModel (QObject *parent=0)
 
int rowCount (const QModelIndex &parent) const override
 
bool setData (const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
 
- Public Member Functions inherited from __CategorizedListModelBase
 __CategorizedListModelBase (QObject *parent)
 
 ~__CategorizedListModelBase () override
 

Static Public Member Functions

static KoID favoriteCategory ()
 
static KisCompositeOpListModelsharedInstance ()
 

Private Member Functions

void addFavoriteEntry (const KoID &entry)
 
void removeFavoriteEntry (const KoID &entry)
 

Additional Inherited Members

- Public Types inherited from KisCategorizedListModel< TEntry, TEntryToQStringConverter >
typedef SpecificCategoriesMapper::DataItem DataItem
 
typedef TEntry Entry_Type
 
typedef KisCategoriesMapper< TEntry, TEntryToQStringConverter > SpecificCategoriesMapper
 
- Public Types inherited from __CategorizedListModelBase
enum  AdditionalRoles {
  IsHeaderRole = Qt::UserRole + 1 , ExpandCategoryRole = Qt::UserRole + 2 , SortRole = Qt::UserRole + 3 , isLockedRole = Qt::UserRole + 4 ,
  isLockableRole = Qt::UserRole + 5 , isToggledRole = Qt::UserRole + 6
}
 

Detailed Description

Definition at line 24 of file kis_composite_ops_model.h.

Member Function Documentation

◆ addFavoriteEntry()

void KisCompositeOpListModel::addFavoriteEntry ( const KoID & entry)
private

◆ categoryToString()

virtual QString KisCompositeOpListModel::categoryToString ( const KoID & val) const
inlinevirtual

Definition at line 29 of file kis_composite_ops_model.h.

29{ return val.name(); }
QString name() const
Definition KoID.cpp:68

References KoID::name().

◆ data()

QVariant KisCompositeOpListModel::data ( const QModelIndex & idx,
int role = Qt::DisplayRole ) const
override

Definition at line 116 of file kis_composite_ops_model.cc.

117{
118 if (!idx.isValid()) return QVariant();
119
120 if(role == Qt::DecorationRole) {
121 DataItem *item = categoriesMapper()->itemFromRow(idx.row());
122 Q_ASSERT(item);
123
124 if (!item->isCategory() && !item->isEnabled()) {
125 QStyle *style = QApplication::style();
126 QStyleOptionButton so;
127 QSize size = style->sizeFromContents(QStyle::CT_CheckBox, &so, QSize(), 0);
128 const QPixmap pixmap = KisIconUtils::loadIcon("warning").pixmap(size);
129 return pixmap;
130 }
131 }
132
133 return BaseKoIDCategorizedListModel::data(idx, role);
134}
DataItem * itemFromRow(int row) const
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override
int size(const Forest< T > &forest)
Definition KisForest.h:1232
QIcon loadIcon(const QString &name)

References KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::data(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isCategory(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isEnabled(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::itemFromRow(), and KisIconUtils::loadIcon().

◆ entryToString()

virtual QString KisCompositeOpListModel::entryToString ( const KoID & val) const
inlinevirtual

Definition at line 30 of file kis_composite_ops_model.h.

30{ return val.name(); }

References KoID::name().

◆ favoriteCategory()

KoID KisCompositeOpListModel::favoriteCategory ( )
static

Definition at line 21 of file kis_composite_ops_model.cc.

21 {
22 static KoID category("favorites", ki18n("Favorites"));
23 return category;
24}
Definition KoID.h:30

◆ initialize()

void KisCompositeOpListModel::initialize ( )

Definition at line 26 of file kis_composite_ops_model.cc.

27{
29#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
30 QMapIterator<KoID, KoID> it(ops);
31#else
32 QMultiMapIterator<KoID, KoID> it(ops);
33#endif
34
35
36 while (it.hasNext()) {
37 KoID op = *it.next();
38 KoID category = it.key();
40 item->setCheckable(true);
41 }
42
44 item->setExpanded(true);
45
47}
DataItem * addCategory(const QString &category)
static const KoCompositeOpRegistry & instance()

References KisCategoriesMapper< TEntry, TEntryToQStringConverter >::addCategory(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::addEntry(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), favoriteCategory(), KoCompositeOpRegistry::getCompositeOps(), KoCompositeOpRegistry::instance(), KoID::name(), readFavoriteCompositeOpsFromConfig(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setCheckable(), and KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setExpanded().

◆ initializeForLayerStyles()

void KisCompositeOpListModel::initializeForLayerStyles ( )

◆ readFavoriteCompositeOpsFromConfig()

void KisCompositeOpListModel::readFavoriteCompositeOpsFromConfig ( )

◆ removeFavoriteEntry()

void KisCompositeOpListModel::removeFavoriteEntry ( const KoID & entry)
private

◆ setData()

bool KisCompositeOpListModel::setData ( const QModelIndex & idx,
const QVariant & value,
int role = Qt::EditRole )
override

Definition at line 93 of file kis_composite_ops_model.cc.

94{
95 if (!idx.isValid()) return false;
96
97 bool result = BaseKoIDCategorizedListModel::setData(idx, value, role);
98
99 DataItem *item = categoriesMapper()->itemFromRow(idx.row());
100 Q_ASSERT(item);
101
102
103 if(role == Qt::CheckStateRole) {
104 if (item->isChecked()) {
105 addFavoriteEntry(*item->data());
106 } else {
107 removeFavoriteEntry(*item->data());
108 }
109
111 }
112
113 return result;
114}
float value(const T *src, size_t ch)
bool setData(const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
void removeFavoriteEntry(const KoID &entry)

References addFavoriteEntry(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::data(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isChecked(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::itemFromRow(), removeFavoriteEntry(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::setData(), value(), and writeFavoriteCompositeOpsToConfig().

◆ sharedInstance()

KisCompositeOpListModel * KisCompositeOpListModel::sharedInstance ( )
static

Definition at line 69 of file kis_composite_ops_model.cc.

70{
71 static KisCompositeOpListModel *model = 0;
72
73 if (!model) {
74 model = new KisCompositeOpListModel();
75 model->initialize();
76 }
77
78 return model;
79}

References initialize().

◆ validate()

◆ writeFavoriteCompositeOpsToConfig()

void KisCompositeOpListModel::writeFavoriteCompositeOpsToConfig ( ) const

Definition at line 162 of file kis_composite_ops_model.cc.

163{
164 QStringList list;
165 QVector<DataItem*> filteredItems =
167
168 Q_FOREACH (DataItem *item, filteredItems) {
169 list.append(item->data()->id());
170 }
171
172 KisConfig config(false);
173 config.setFavoriteCompositeOps(list);
174}
QVector< DataItem * > itemsForCategory(const QString &category) const

References KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::data(), favoriteCategory(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::itemsForCategory(), and KisConfig::setFavoriteCompositeOps().


The documentation for this class was generated from the following files: