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

#include <kis_meta_data_model.h>

+ Inheritance diagram for KisMetaDataModel:

Public Member Functions

int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
 KisMetaDataModel (KisMetaData::Store *store)
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 

Private Attributes

KisMetaData::Storem_store
 

Detailed Description

Definition at line 15 of file kis_meta_data_model.h.

Constructor & Destructor Documentation

◆ KisMetaDataModel()

KisMetaDataModel::KisMetaDataModel ( KisMetaData::Store * store)

Definition at line 15 of file kis_meta_data_model.cpp.

15 : m_store(store)
16{
17
18}
KisMetaData::Store * m_store

Member Function Documentation

◆ columnCount()

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

Definition at line 26 of file kis_meta_data_model.cpp.

27{
28 Q_UNUSED(parent);
29 return 3;
30}

◆ data()

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

Definition at line 32 of file kis_meta_data_model.cpp.

33{
34 if (!index.isValid()) {
35 return QVariant();
36 }
37 Q_ASSERT(index.row() < m_store->keys().count());
38 switch (role) {
39 case Qt::DisplayRole: {
40 switch (index.column()) {
41 case 0:
42 return m_store->keys()[index.row()];
43 case 1: {
44 KisMetaData::Value::ValueType vt = m_store->entries()[index.row()].value().type();
45 switch (vt) {
47 return i18n("Invalid");
49 int vt = m_store->entries()[index.row()].value().asVariant().type();
50 switch (vt) {
51 case QVariant::Date:
52 case QVariant::DateTime:
53 return i18n("Date");
54 case QVariant::Double:
55 case QVariant::Int:
56 return i18n("Number");
57 case QVariant::String:
58 return i18n("String");
59 default:
60 return i18n("Variant (%1)", vt);
61 }
62 }
64 return i18n("Ordered array");
66 return i18n("Unordered array");
68 return i18n("Alternative array");
70 return i18n("Language array");
72 return i18n("Structure");
74 return i18n("Rational");
75 }
76 break;
77 }
78 case 2:
79 return m_store->entries()[index.row()].value().toString();
80 }
81 break;
82 }
83 default:
84 return QVariant();
85 }
86 return QVariant();
87}
QList< QString > keys() const
QList< Entry > entries() const
ValueType
Define the possible value type.

References KisMetaData::Value::AlternativeArray, KisMetaData::Store::entries(), KisMetaData::Value::Invalid, KisMetaData::Store::keys(), KisMetaData::Value::LangArray, m_store, KisMetaData::Value::OrderedArray, KisMetaData::Value::Rational, KisMetaData::Value::Structure, KisMetaData::Value::UnorderedArray, and KisMetaData::Value::Variant.

◆ headerData()

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

Definition at line 89 of file kis_meta_data_model.cpp.

90{
91 if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
92 Q_ASSERT(section < 3);
93 switch (section) {
94 case 0:
95 return i18n("Key");
96 case 1:
97 return i18n("Type");
98 case 2:
99 return i18nc("Metadata item value", "Value");
100 }
101 }
102 return QVariant();
103}

◆ rowCount()

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

Definition at line 20 of file kis_meta_data_model.cpp.

21{
22 Q_UNUSED(parent);
23 return m_store->keys().count();
24}

References KisMetaData::Store::keys(), and m_store.

Member Data Documentation

◆ m_store

KisMetaData::Store* KisMetaDataModel::m_store
private

Definition at line 25 of file kis_meta_data_model.h.


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