#include <KisMultiSensorsModel.h>
Definition at line 20 of file KisMultiSensorsModel.h.
◆ MultiSensorData
◆ SensorData
◆ KisMultiSensorsModel()
| KisMultiSensorsModel::KisMultiSensorsModel |
( |
lager::cursor< MultiSensorData > | sensorsData, |
|
|
QObject * | parent = 0 ) |
|
explicit |
◆ ~KisMultiSensorsModel()
| KisMultiSensorsModel::~KisMultiSensorsModel |
( |
| ) |
|
|
override |
◆ data()
| QVariant KisMultiSensorsModel::data |
( |
const QModelIndex & | index, |
|
|
int | role = Qt::DisplayRole ) const |
|
override |
Definition at line 37 of file KisMultiSensorsModel.cpp.
38{
39 if (!index.isValid()) return QVariant();
40
41 if (role == Qt::DisplayRole) {
42 return m_d->sensorsData->at(index.row()).first.name();
43 }
44 else if (role == Qt::CheckStateRole) {
45 return m_d->sensorsData->at(index.row()).second ? Qt::Checked : Qt::Unchecked;
46 }
47 return QVariant();
48}
References m_d.
◆ flags()
| Qt::ItemFlags KisMultiSensorsModel::flags |
( |
const QModelIndex & | index | ) |
const |
|
override |
Definition at line 74 of file KisMultiSensorsModel.cpp.
75{
76 return Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled;
77}
◆ getSensorId()
| QString KisMultiSensorsModel::getSensorId |
( |
const QModelIndex & | index | ) |
|
Definition at line 79 of file KisMultiSensorsModel.cpp.
80{
81 if (!index.isValid()) return 0;
82 return m_d->sensorsData->at(index.row()).first.id();
83}
References m_d.
◆ rowCount()
| int KisMultiSensorsModel::rowCount |
( |
const QModelIndex & | parent = QModelIndex() | ) |
const |
|
override |
◆ sensorIndex()
| QModelIndex KisMultiSensorsModel::sensorIndex |
( |
const QString & | id | ) |
|
Create an index that correspond to the sensor given in argument.
Definition at line 85 of file KisMultiSensorsModel.cpp.
86{
87 const size_t foundIndex =
88 std::distance(
m_d->sensorsData->begin(),
89 std::find_if(
m_d->sensorsData->begin(),
m_d->sensorsData->end(),
91 return sensor.first.id() == id;
92 }));
93
94 return foundIndex <
m_d->sensorsData->size() ?
95 index(foundIndex) : QModelIndex();
96}
std::pair< KoID, bool > SensorData
References m_d.
◆ setData()
| bool KisMultiSensorsModel::setData |
( |
const QModelIndex & | index, |
|
|
const QVariant & | value, |
|
|
int | role = Qt::EditRole ) |
|
override |
Definition at line 50 of file KisMultiSensorsModel.cpp.
51{
52 bool result = false;
53
54 if (role == Qt::CheckStateRole) {
55 const bool checked = (
value.toInt() == Qt::Checked);
56
58 const int numActiveSensors =
60 std::mem_fn(&SensorData::second));
61
62
63 if (checked || numActiveSensors > 1 ) {
64 sensors[index.row()].second = checked;
65 }
67 });
68 result = true;
69 }
70
71 return result;
72}
float value(const T *src, size_t ch)
std::vector< SensorData > MultiSensorData
std::vector< SensorData * > sensors(Data *data)
References m_d, and value().
◆ slotSensorModelChanged()
| void KisMultiSensorsModel::slotSensorModelChanged |
( |
| ) |
|
|
private |
◆ m_d
| QScopedPointer<Private> KisMultiSensorsModel::m_d |
|
private |
The documentation for this class was generated from the following files: