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 FINAL REVISION(6, 11))
23 enum class AutoConnectPolicy {
28 Q_ENUM(AutoConnectPolicy)
30 enum class RowCategory {
41 template <
typename Range,
42 QRangeModelDetails::if_table_range<Range> =
true>
43 explicit QRangeModel(Range &&range, QObject *parent =
nullptr)
44 : QRangeModel(
new QGenericTableItemModelImpl<Range>(std::forward<Range>(range),
this), parent)
47 template <
typename Range,
48 QRangeModelDetails::if_tree_range<Range> =
true>
49 explicit QRangeModel(Range &&range, QObject *parent =
nullptr)
50 : QRangeModel(std::forward<Range>(range), QRangeModelDetails::DefaultTreeProtocol<Range>{},
54 template <
typename Range,
typename Protocol,
55 QRangeModelDetails::if_tree_range<Range, Protocol> =
true>
56 explicit QRangeModel(Range &&range, Protocol &&protocol, QObject *parent =
nullptr)
57 : QRangeModel(
new QGenericTreeItemModelImpl<Range, Protocol>(std::forward<Range>(range),
58 std::forward<Protocol>(protocol),
63 ~QRangeModel() override;
65 QModelIndex index(
int row,
int column,
const QModelIndex &parent = {})
const final;
66 QModelIndex parent(
const QModelIndex &child)
const final;
67 QModelIndex sibling(
int row,
int column,
const QModelIndex &index)
const final;
68 int rowCount(
const QModelIndex &parent = {})
const final;
69 int columnCount(
const QModelIndex &parent = {})
const final;
70 Qt::ItemFlags flags(
const QModelIndex &index)
const override;
71 QVariant headerData(
int section, Qt::Orientation orientation,
72 int role = Qt::DisplayRole)
const override;
73 bool setHeaderData(
int section, Qt::Orientation orientation,
const QVariant &data,
74 int role = Qt::EditRole) override;
75 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
76 bool setData(
const QModelIndex &index,
const QVariant &data,
int role = Qt::EditRole) override;
77 QMap<
int, QVariant> itemData(
const QModelIndex &index)
const override;
78 bool setItemData(
const QModelIndex &index,
const QMap<
int, QVariant> &data) override;
79 bool clearItemData(
const QModelIndex &index) override;
80 bool insertColumns(
int column,
int count,
const QModelIndex &parent = {}) final;
81 bool removeColumns(
int column,
int count,
const QModelIndex &parent = {}) final;
82 bool moveColumns(
const QModelIndex &sourceParent,
int sourceColumn,
int count,
83 const QModelIndex &destParent,
int destColumn) final;
84 bool insertRows(
int row,
int count,
const QModelIndex &parent = {}) final;
85 bool removeRows(
int row,
int count,
const QModelIndex &parent = {}) final;
86 bool moveRows(
const QModelIndex &sourceParent,
int sourceRow,
int count,
87 const QModelIndex &destParent,
int destRow) final;
89 QHash<
int, QByteArray> roleNames()
const override;
90 void setRoleNames(
const QHash<
int, QByteArray> &names);
91 void resetRoleNames();
93 bool canFetchMore(
const QModelIndex &parent)
const override;
94 void fetchMore(
const QModelIndex &parent) override;
96 bool hasChildren(
const QModelIndex &parent = QModelIndex())
const final;
97 QModelIndex buddy(
const QModelIndex &index)
const override;
98 bool canDropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
99 const QModelIndex &parent)
const override;
100 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
101 const QModelIndex &parent) override;
102 QMimeData *mimeData(
const QModelIndexList &indexes)
const override;
103 QStringList mimeTypes()
const override;
104 QModelIndexList match(
const QModelIndex &start,
int role,
const QVariant &value,
int hits,
105 Qt::MatchFlags flags)
const override;
106 void multiData(
const QModelIndex &index, QModelRoleDataSpan roleDataSpan)
const override;
107 void sort(
int column, Qt::SortOrder order = Qt::AscendingOrder) override;
108 QSize span(
const QModelIndex &index)
const override;
109 Qt::DropActions supportedDragActions()
const override;
110 Qt::DropActions supportedDropActions()
const override;
112 AutoConnectPolicy autoConnectPolicy()
const;
113 void setAutoConnectPolicy(AutoConnectPolicy policy);
116 void roleNamesChanged();
117 Q_REVISION(6, 11)
void autoConnectPolicyChanged();
120 void resetInternalData() override;
123 bool event(QEvent *) override;
124 bool eventFilter(QObject *, QEvent *) override;
127 Q_DISABLE_COPY_MOVE(QRangeModel)
128 Q_DECLARE_PRIVATE(QRangeModel)
130 explicit QRangeModel(QRangeModelImplBase *impl, QObject *parent);
131 friend class QRangeModelImplBase;