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

#include <compositionmodel.h>

+ Inheritance diagram for CompositionModel:

Public Member Functions

int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
KisLayerCompositionSP compositionFromIndex (const QModelIndex &index)
 
 CompositionModel (QObject *parent=0)
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
void setCompositions (QList< KisLayerCompositionSP > compositions)
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
 ~CompositionModel () override
 

Private Attributes

QList< KisLayerCompositionSPm_compositions
 

Detailed Description

Definition at line 15 of file compositionmodel.h.

Constructor & Destructor Documentation

◆ CompositionModel()

CompositionModel::CompositionModel ( QObject * parent = 0)

Definition at line 14 of file compositionmodel.cpp.

14 : QAbstractTableModel(parent)
15{
16}

◆ ~CompositionModel()

CompositionModel::~CompositionModel ( )
override

Definition at line 18 of file compositionmodel.cpp.

19{
20}

Member Function Documentation

◆ columnCount()

int CompositionModel::columnCount ( const QModelIndex & parent = QModelIndex()) const
override

Definition at line 74 of file compositionmodel.cpp.

75{
76 return 2;
77}

◆ compositionFromIndex()

KisLayerCompositionSP CompositionModel::compositionFromIndex ( const QModelIndex & index)

Definition at line 85 of file compositionmodel.cpp.

86{
87 if(index.isValid()) {
88 return m_compositions.at(index.row());
89 }
90 return KisLayerCompositionSP();
91}
QList< KisLayerCompositionSP > m_compositions
QSharedPointer< KisLayerComposition > KisLayerCompositionSP
Definition kis_types.h:315

References m_compositions.

◆ data()

QVariant CompositionModel::data ( const QModelIndex & index,
int role = Qt::DisplayRole ) const
override

Definition at line 22 of file compositionmodel.cpp.

23{
24 if (index.isValid()) {
25
26 switch (role) {
27 case Qt::DisplayRole:
28 {
29 return m_compositions.at(index.row())->name();
30 }
31 case Qt::DecorationRole:
32 {
33 return KisIconUtils::loadIcon("tools-wizard");
34 }
35 case Qt::CheckStateRole: {
36 return m_compositions.at(index.row())->isExportEnabled() ? Qt::Checked : Qt::Unchecked;
37 }
38 }
39 }
40 return QVariant();
41}
QIcon loadIcon(const QString &name)

References KisIconUtils::loadIcon(), and m_compositions.

◆ flags()

Qt::ItemFlags CompositionModel::flags ( const QModelIndex & index) const
override

Definition at line 79 of file compositionmodel.cpp.

80{
81 Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable;
82 return flags;
83}
Qt::ItemFlags flags(const QModelIndex &index) const override

References flags().

◆ headerData()

QVariant CompositionModel::headerData ( int section,
Qt::Orientation orientation,
int role = Qt::DisplayRole ) const
override

Definition at line 63 of file compositionmodel.cpp.

64{
65 return i18n("Composition");
66}

◆ rowCount()

int CompositionModel::rowCount ( const QModelIndex & parent = QModelIndex()) const
override

Definition at line 69 of file compositionmodel.cpp.

70{
71 return m_compositions.count();
72}

References m_compositions.

◆ setCompositions()

void CompositionModel::setCompositions ( QList< KisLayerCompositionSP > compositions)

Definition at line 93 of file compositionmodel.cpp.

94{
95 m_compositions = compositions;
96 beginResetModel();
97 endResetModel();
98}

References m_compositions.

◆ setData()

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

Definition at line 43 of file compositionmodel.cpp.

44{
45 if (index.isValid()) {
46 if (role == Qt::CheckStateRole) {
47 Q_ASSERT(index.row() < rowCount());
48 Q_ASSERT(index.column() < columnCount());
49 if (index.column() == 0) {
50 bool exportEnabled = value.toInt() == Qt::Checked;
51 KisLayerCompositionSP layerComposition = m_compositions.at(index.row());
52 if (layerComposition) {
53 layerComposition->setExportEnabled(exportEnabled);
54 }
55 }
56 }
57 return true;
58 }
59 return false;
60}
float value(const T *src, size_t ch)
int columnCount(const QModelIndex &parent=QModelIndex()) const override
int rowCount(const QModelIndex &parent=QModelIndex()) const override

References columnCount(), m_compositions, rowCount(), and value().

Member Data Documentation

◆ m_compositions

QList<KisLayerCompositionSP> CompositionModel::m_compositions
private

Definition at line 35 of file compositionmodel.h.


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