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

#include <kis_paintop_options_model.h>

+ Inheritance diagram for KisPaintOpOptionListModel:

Public Member Functions

void addPaintOpOption (KisPaintOpOption *option, int widgetIndex, const QString &label, const QString &category)
 
QVariant data (const QModelIndex &idx, int role=Qt::DisplayRole) const override
 
 KisPaintOpOptionListModel (QObject *parent)
 
bool setData (const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override
 
void signalDataChanged (const QModelIndex &index)
 
- 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 QString categoryName (KisPaintOpOption::PaintopCategory category)
 

Private Slots

void slotCheckedEnabledStateChanged (int row)
 

Private Attributes

QSignalMapper m_stateSignalsMapper
 

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

This model can be use to show a list of visible composite op in a list view.

Definition at line 48 of file kis_paintop_options_model.h.

Constructor & Destructor Documentation

◆ KisPaintOpOptionListModel()

KisPaintOpOptionListModel::KisPaintOpOptionListModel ( QObject * parent)

Definition at line 13 of file kis_paintop_options_model.cpp.

15{
16 connect(&m_stateSignalsMapper, &QSignalMapper::mappedInt,
18}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisCategorizedListModel< KisOptionInfo, OptionInfoToQStringConverter > BaseOptionCategorizedListModel

References connect(), m_stateSignalsMapper, and slotCheckedEnabledStateChanged().

Member Function Documentation

◆ addPaintOpOption()

void KisPaintOpOptionListModel::addPaintOpOption ( KisPaintOpOption * option,
int widgetIndex,
const QString & label,
const QString & category )

Definition at line 43 of file kis_paintop_options_model.cpp.

43 {
44
45 DataItem *item = categoriesMapper()->addEntry(category, KisOptionInfo(option, widgetIndex, label));
46
47 if (option->isCheckable()) {
48 item->setCheckable(true);
49 item->setChecked(option->isChecked());
51 &m_stateSignalsMapper, qOverload<>(&QSignalMapper::map));
52 }
53
54 item->setEnabled(option->isEnabled());
56 &m_stateSignalsMapper, qOverload<>(&QSignalMapper::map));
57 m_stateSignalsMapper.setMapping(option, categoriesMapper()->rowFromItem(item));
58
60}
DataItem * addEntry(const QString &category, const TEntry &entry)
SpecificCategoriesMapper::DataItem DataItem
SpecificCategoriesMapper * categoriesMapper()
void sigEnabledChanged(bool value)
virtual bool isCheckable() const
void sigCheckedChanged(bool value)
virtual bool isChecked() const

References KisCategoriesMapper< TEntry, TEntryToQStringConverter >::addEntry(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), connect(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::expandAllCategories(), KisPaintOpOption::isCheckable(), KisPaintOpOption::isChecked(), KisPaintOpOption::isEnabled(), m_stateSignalsMapper, KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setCheckable(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setChecked(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setEnabled(), KisPaintOpOption::sigCheckedChanged(), and KisPaintOpOption::sigEnabledChanged().

◆ categoryName()

QString KisPaintOpOptionListModel::categoryName ( KisPaintOpOption::PaintopCategory category)
static

Definition at line 20 of file kis_paintop_options_model.cpp.

21{
22 QString category;
23 switch(categoryType) {
25 category = i18nc("option category", "General");
26 break;
28 category = i18nc("option category", "Color");
29 break;
31 category = i18nc("option category", "Texture");
32 break;
34 category = i18nc("option category", "Filter");
35 break;
37 category = i18nc("option category", "Masked Brush");
38 break;
39 };
40 return category;
41}

References KisPaintOpOption::COLOR, KisPaintOpOption::FILTER, KisPaintOpOption::GENERAL, KisPaintOpOption::MASKING_BRUSH, and KisPaintOpOption::TEXTURE.

◆ data()

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

Definition at line 62 of file kis_paintop_options_model.cpp.

63{
65}
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override

References KisCategorizedListModel< TEntry, TEntryToQStringConverter >::data().

◆ setData()

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

Definition at line 67 of file kis_paintop_options_model.cpp.

68{
69 if (!idx.isValid()) return false;
70
71 DataItem *item = categoriesMapper()->itemFromRow(idx.row());
72 Q_ASSERT(item);
73
74 if (role == Qt::CheckStateRole && item->isCheckable()) {
75 item->data()->option->setChecked(value.toInt() == Qt::Checked);
76 }
77
79}
float value(const T *src, size_t ch)
DataItem * itemFromRow(int row) const
bool setData(const QModelIndex &idx, const QVariant &value, int role=Qt::EditRole) override

References KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::data(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isCheckable(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::itemFromRow(), KisCategorizedListModel< TEntry, TEntryToQStringConverter >::setData(), and value().

◆ signalDataChanged()

void KisPaintOpOptionListModel::signalDataChanged ( const QModelIndex & index)

Definition at line 90 of file kis_paintop_options_model.cpp.

91{
92 Q_EMIT dataChanged(index,index);
93}

◆ slotCheckedEnabledStateChanged

void KisPaintOpOptionListModel::slotCheckedEnabledStateChanged ( int row)
privateslot

Definition at line 95 of file kis_paintop_options_model.cpp.

96{
97 QModelIndex idx(index(row));
98
101
102 if (item->data()->option->isEnabled() != item->isEnabled()) {
103 item->setEnabled(item->data()->option->isEnabled());
104 }
105
106 if (item->data()->option->isChecked() != item->isChecked()) {
107 item->setChecked(item->data()->option->isChecked());
108 }
109
110 Q_EMIT dataChanged(idx, idx);
111}
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KisCategorizedListModel< TEntry, TEntryToQStringConverter >::categoriesMapper(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::data(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isChecked(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::isEnabled(), KisCategoriesMapper< TEntry, TEntryToQStringConverter >::itemFromRow(), KIS_SAFE_ASSERT_RECOVER_RETURN, KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setChecked(), and KisCategoriesMapper< TEntry, TEntryToQStringConverter >::DataItem::setEnabled().

Member Data Documentation

◆ m_stateSignalsMapper

QSignalMapper KisPaintOpOptionListModel::m_stateSignalsMapper
private

Definition at line 63 of file kis_paintop_options_model.h.


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