Krita Source Code Documentation
Loading...
Searching...
No Matches
FontAxesModel.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef FONTAXESMODEL_H
7#define FONTAXESMODEL_H
8
9#include <QAbstractItemModel>
10#include <QLocale>
11#include <KoSvgText.h>
12
14
23class FontAxesModel: public QAbstractItemModel
24{
25 Q_OBJECT
26 Q_PROPERTY(QVariantMap axisValues READ axisValues WRITE setAxisValues NOTIFY axisValuesChanged)
27public:
28 enum Roles {
29 Min = Qt::UserRole + 1,
31 Hidden
32 };
33
34 FontAxesModel(QObject *parent = nullptr);
36
38
40 void setOpticalSizeDisabled(bool disable);
41
42 void setBlockAxesValuesSignal(bool block);
43 bool axesValueSignalBlocked() const;
44
45 QVariantMap axisValues() const;
46
47 Q_INVOKABLE void setFromTextPropertiesModel(KoSvgTextPropertiesModel *textPropertiesModel);
48public Q_SLOTS:
49 void setAxisValues(const QVariantMap &newAxisValues);
50
51 // QAbstractItemModel interface
52public:
53 QModelIndex index(int row, int column, const QModelIndex &parent) const override;
54 QModelIndex parent(const QModelIndex &child) const override;
55 int rowCount(const QModelIndex &parent) const override;
56 int columnCount(const QModelIndex &parent) const override;
57 QVariant data(const QModelIndex &index, int role) const override;
58 bool setData(const QModelIndex &index, const QVariant &value, int role) override;
59 Qt::ItemFlags flags(const QModelIndex &index) const override;
60 QHash<int, QByteArray> roleNames() const override;
61
62
63Q_SIGNALS:
65
66private:
67 struct Private;
68 const QScopedPointer<Private> d;
69};
70
71#endif // FONTAXESMODEL_H
float value(const T *src, size_t ch)
The FontAxesModel class.
void setAxisValues(const QVariantMap &newAxisValues)
void setAxesData(QList< KoSvgText::FontFamilyAxis > axes)
QVariant data(const QModelIndex &index, int role) const override
QModelIndex parent(const QModelIndex &child) const override
void axisValuesChanged()
@ Min
double, represents lower end
@ Max
double, represents upper end
QHash< int, QByteArray > roleNames() const override
QModelIndex index(int row, int column, const QModelIndex &parent) const override
bool axesValueSignalBlocked() const
Qt::ItemFlags flags(const QModelIndex &index) const override
FontAxesModel(QObject *parent=nullptr)
QVariantMap axisValues
int rowCount(const QModelIndex &parent) const override
void setBlockAxesValuesSignal(bool block)
Q_INVOKABLE void setFromTextPropertiesModel(KoSvgTextPropertiesModel *textPropertiesModel)
int columnCount(const QModelIndex &parent) const override
void setOpticalSizeDisabled(bool disable)
If optical size link is enabled, then the slider should be disabled.
const QScopedPointer< Private > d
bool setData(const QModelIndex &index, const QVariant &value, int role) override
The KoSvgTextPropertiesModel class.