rust-qt-binding-generator/examples/todos/src/Bindings.h

65 lines
2.7 KiB
C++

/* generated by rust_qt_binding_generator */
#ifndef BINDINGS_H
#define BINDINGS_H
#include <QtCore/QObject>
#include <QtCore/QAbstractItemModel>
class Todos;
class Todos : public QAbstractItemModel
{
Q_OBJECT
public:
class Private;
private:
Private * m_d;
bool m_ownsPrivate;
Q_PROPERTY(quint64 activeCount READ activeCount NOTIFY activeCountChanged FINAL)
Q_PROPERTY(quint64 count READ count NOTIFY countChanged FINAL)
explicit Todos(bool owned, QObject *parent);
public:
explicit Todos(QObject *parent = nullptr);
~Todos();
quint64 activeCount() const;
quint64 count() const;
Q_INVOKABLE void add(const QString& description);
Q_INVOKABLE void clearCompleted();
Q_INVOKABLE bool remove(quint64 index);
Q_INVOKABLE void setAll(bool completed);
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex &index) const override;
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
bool canFetchMore(const QModelIndex &parent) const override;
void fetchMore(const QModelIndex &parent) override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override;
int role(const char* name) const;
QHash<int, QByteArray> roleNames() const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override;
Q_INVOKABLE bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
Q_INVOKABLE bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
Q_INVOKABLE bool completed(int row) const;
Q_INVOKABLE bool setCompleted(int row, bool value);
Q_INVOKABLE QString description(int row) const;
Q_INVOKABLE bool setDescription(int row, const QString& value);
Q_SIGNALS:
// new data is ready to be made available to the model with fetchMore()
void newDataReady(const QModelIndex &parent) const;
private:
QHash<QPair<int,Qt::ItemDataRole>, QVariant> m_headerData;
void initHeaderData();
void updatePersistentIndexes();
Q_SIGNALS:
void activeCountChanged();
void countChanged();
};
#endif // BINDINGS_H