Krita Source Code Documentation
Loading...
Searching...
No Matches
channelmodel.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef CHANNELMODEL_H
8#define CHANNELMODEL_H
9
10#include <QModelIndex>
11#include <QSize>
12#include <QPointer>
13
14#include <kis_canvas2.h>
15#include <kis_types.h>
17
18class KoColorSpace;
19
20
21class ChannelModel : public QAbstractTableModel
22{
23 Q_OBJECT
24public:
25 ChannelModel(QObject* parent = 0);
26 ~ChannelModel() override;
27
28 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
29 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
30 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
31 int columnCount(const QModelIndex& parent = QModelIndex()) const override;
32 bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
33 Qt::ItemFlags flags(const QModelIndex& index) const override;
34
35 void setCanvas(KisCanvas2* canvas);
36 void setChannelThumbnails(const QVector<QImage> &channels, const KoColorSpace *cs);
37
38 //set maximum size of the thumbnail image. This should be set based on screen resolution, etc.
39 void setThumbnailSizeLimit(QSize size);
40 QSize thumbnailSizeLimit() const;
41
42public Q_SLOTS:
43 void slotColorSpaceChanged(const KoColorSpace *colorSpace);
44 void rowActivated(const QModelIndex &index);
45
46Q_SIGNALS:
48
49private:
52
57};
58
59
60#endif // CHANNELMODEL_H
float value(const T *src, size_t ch)
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
void setCanvas(KisCanvas2 *canvas)
void rowActivated(const QModelIndex &index)
void slotColorSpaceChanged(const KoColorSpace *colorSpace)
QPointer< KisCanvas2 > m_canvas
QVector< QImage > m_thumbnails
int m_oversampleRatio
void channelFlagsChanged()
void setChannelThumbnails(const QVector< QImage > &channels, const KoColorSpace *cs)
QSize m_thumbnailSizeLimit
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Qt::ItemFlags flags(const QModelIndex &index) const override
~ChannelModel() override
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
void setThumbnailSizeLimit(QSize size)
ChannelModel(QObject *parent=0)
KisSignalAutoConnectionsStore m_canvasConnections
int rowCount(const QModelIndex &parent=QModelIndex()) const override
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
QSize thumbnailSizeLimit() const