36 Q_PROPERTY(
int columnCount READ columnCount NOTIFY columnCountChanged FINAL)
37 Q_PROPERTY(
int rowCount READ rowCount NOTIFY rowCountChanged FINAL)
56 Q_INVOKABLE void moveRow(
int fromRowIndex,
int toRowIndex,
int rows = 1);
80 void columnCountChanged();
81 void rowCountChanged();
85 void classBegin() override;
86 void componentComplete() override;
89 class ColumnRoleMetadata
98 bool isStringRole =
false;
104 struct ColumnMetadata
108 QHash<QString, ColumnRoleMetadata> roles;
111 enum NewRowOperationFlag {
118 ColumnRoleMetadata fetchColumnRoleData(
const QString &roleNameKey,
120 void fetchColumnMetadata();
122 bool validateRowType(
const char *functionName,
const QVariant &
row)
const;
123 bool validateNewRow(
const char *functionName,
const QVariant &
row,
124 int rowIndex, NewRowOperationFlag operation = OtherOperation)
const;
125 bool validateRowIndex(
const char *functionName,
const char *argumentName,
int rowIndex)
const;
129 bool componentCompleted =
false;
131 QList<QQmlTableModelColumn *> mColumns;
133 int mColumnCount = 0;
135 QVector<ColumnMetadata> mColumnMetadata;
138 QHash<int, QByteArray> mRoleNames;