2#include <QtQml/QQmlEngine>
7class WidthProvider :
public QObject {
11 Q_PROPERTY(qint32 width READ width NOTIFY widthChanged FINAL)
12 Q_PROPERTY(qint32 column READ column NOTIFY columnChanged FINAL)
13 Q_PROPERTY(qint32 minimum READ minimum WRITE setMinimum NOTIFY minimumChanged FINAL)
14 Q_PROPERTY(qint32 leftMargin READ leftMargin WRITE setLeftMargin NOTIFY leftMarginChanged FINAL)
16 qint32 rightMargin READ rightMargin WRITE setrightMargin NOTIFY rightMarginChanged FINAL)
17 Q_PROPERTY(qint32 spacing READ spacing WRITE setSpacing NOTIFY spacingChanged FINAL)
18 Q_PROPERTY(qint32 total READ total WRITE setTotal NOTIFY totalChanged FINAL)
20 explicit WidthProvider(QObject* parent =
nullptr);
22 Q_INVOKABLE qint32 calculateX(qint32 column)
noexcept;
24 auto width() const noexcept -> qint32;
25 Q_SIGNAL
void widthChanged();
27 auto column() const noexcept -> qint32;
28 Q_SIGNAL
void columnChanged();
30 auto leftMargin() const noexcept -> qint32;
31 void setLeftMargin(qint32);
32 Q_SIGNAL
void leftMarginChanged();
34 auto rightMargin() const noexcept -> qint32;
35 void setrightMargin(qint32);
36 Q_SIGNAL
void rightMarginChanged();
38 auto minimum() const noexcept -> qint32;
39 void setMinimum(qint32);
40 Q_SIGNAL
void minimumChanged();
42 auto spacing() const noexcept -> qint32;
43 void setSpacing(qint32);
44 Q_SIGNAL
void spacingChanged();
46 auto total() const noexcept -> qint32;
47 void setTotal(qint32);
48 Q_SIGNAL
void totalChanged();
50 Q_SLOT
void refresh();
59 qint32 m_right_margin;