17 Q_PROPERTY(QHash<
int, QByteArray> roleNames READ roleNames WRITE setRoleNames RESET resetRoleNames
18 NOTIFY roleNamesChanged FINAL)
19 Q_PROPERTY(AutoConnectPolicy autoConnectPolicy READ autoConnectPolicy WRITE setAutoConnectPolicy
20 NOTIFY autoConnectPolicyChanged REVISION(6, 11))
21 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false")
24 enum class AutoConnectPolicy {
29 Q_ENUM(AutoConnectPolicy)
31 enum class RowCategory {
42 template <
typename Range,
43 QRangeModelDetails::if_table_range<Range> =
true>
44 explicit QRangeModel(Range &&range, QObject *parent =
nullptr)
45 : QRangeModel(
new QGenericTableItemModelImpl<Range>(std::forward<Range>(range),
this), parent)
48 template <
typename Range,
49 QRangeModelDetails::if_tree_range<Range> =
true>
50 explicit QRangeModel(Range &&range, QObject *parent =
nullptr)
51 : QRangeModel(std::forward<Range>(range), QRangeModelDetails::DefaultTreeProtocol<Range>{},
55 template <
typename Range,
typename Protocol,
56 QRangeModelDetails::if_tree_range<Range, Protocol> =
true>
57 explicit QRangeModel(Range &&range, Protocol &&protocol, QObject *parent =
nullptr)
58 : QRangeModel(
new QGenericTreeItemModelImpl<Range, Protocol>(std::forward<Range>(range),
59 std::forward<Protocol>(protocol),
64 ~QRangeModel() override;
66 QModelIndex index(
int row,
int column,
const QModelIndex &parent = {})
const final;
67 QModelIndex parent(
const QModelIndex &child)
const final;
68 QModelIndex sibling(
int row,
int column,
const QModelIndex &index)
const final;
69 int rowCount(
const QModelIndex &parent = {})
const final;
70 int columnCount(
const QModelIndex &parent = {})
const final;
71 Qt::ItemFlags flags(
const QModelIndex &index)
const override;
72 QVariant headerData(
int section, Qt::Orientation orientation,
73 int role = Qt::DisplayRole)
const override;
74 bool setHeaderData(
int section, Qt::Orientation orientation,
const QVariant &data,
75 int role = Qt::EditRole) override;
76 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
77 bool setData(
const QModelIndex &index,
const QVariant &data,
int role = Qt::EditRole) override;
78 QMap<
int, QVariant> itemData(
const QModelIndex &index)
const override;
79 bool setItemData(
const QModelIndex &index,
const QMap<
int, QVariant> &data) override;
80 bool clearItemData(
const QModelIndex &index) override;
81 bool insertColumns(
int column,
int count,
const QModelIndex &parent = {}) final;
82 bool removeColumns(
int column,
int count,
const QModelIndex &parent = {}) final;
83 bool moveColumns(
const QModelIndex &sourceParent,
int sourceColumn,
int count,
84 const QModelIndex &destParent,
int destColumn) final;
85 bool insertRows(
int row,
int count,
const QModelIndex &parent = {}) final;
86 bool removeRows(
int row,
int count,
const QModelIndex &parent = {}) final;
87 bool moveRows(
const QModelIndex &sourceParent,
int sourceRow,
int count,
88 const QModelIndex &destParent,
int destRow) final;
90 QHash<
int, QByteArray> roleNames()
const override;
91 void setRoleNames(
const QHash<
int, QByteArray> &names);
92 void resetRoleNames();
94 bool canFetchMore(
const QModelIndex &parent)
const override;
95 void fetchMore(
const QModelIndex &parent) override;
97 bool hasChildren(
const QModelIndex &parent = QModelIndex())
const final;
98 QModelIndex buddy(
const QModelIndex &index)
const override;
99 bool canDropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
100 const QModelIndex &parent)
const override;
101 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
102 const QModelIndex &parent) override;
103 QMimeData *mimeData(
const QModelIndexList &indexes)
const override;
104 QStringList mimeTypes()
const override;
105 QModelIndexList match(
const QModelIndex &start,
int role,
const QVariant &value,
int hits,
106 Qt::MatchFlags flags)
const override;
107 void multiData(
const QModelIndex &index, QModelRoleDataSpan roleDataSpan)
const override;
108 void sort(
int column, Qt::SortOrder order = Qt::AscendingOrder) override;
109 QSize span(
const QModelIndex &index)
const override;
110 Qt::DropActions supportedDragActions()
const override;
111 Qt::DropActions supportedDropActions()
const override;
113 AutoConnectPolicy autoConnectPolicy()
const;
114 void setAutoConnectPolicy(AutoConnectPolicy policy);
117 void roleNamesChanged();
118 Q_REVISION(6, 11)
void autoConnectPolicyChanged(AutoConnectPolicy policy);
121 void resetInternalData() override;
124 bool event(QEvent *) override;
125 bool eventFilter(QObject *, QEvent *) override;
128 Q_DISABLE_COPY_MOVE(QRangeModel)
129 Q_DECLARE_PRIVATE(QRangeModel)
131 explicit QRangeModel(QRangeModelImplBase *impl, QObject *parent);
132 friend class QRangeModelImplBase;