| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- // qitemselectionmodel.sip generated by MetaSIP
- //
- // This file is part of the QtCore Python extension module.
- //
- // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
- //
- // This file is part of PyQt6.
- //
- // This file may be used under the terms of the GNU General Public License
- // version 3.0 as published by the Free Software Foundation and appearing in
- // the file LICENSE included in the packaging of this file. Please review the
- // following information to ensure the GNU General Public License version 3.0
- // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
- //
- // If you do not wish to use this file under the terms of the GPL version 3.0
- // then you may purchase a commercial license. For more information contact
- // info@riverbankcomputing.com.
- //
- // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- class QItemSelectionRange
- {
- %TypeHeaderCode
- #include <qitemselectionmodel.h>
- %End
- public:
- QItemSelectionRange();
- QItemSelectionRange(const QModelIndex &atopLeft, const QModelIndex &abottomRight);
- explicit QItemSelectionRange(const QModelIndex &index);
- int top() const;
- int left() const;
- int bottom() const;
- int right() const;
- int width() const;
- int height() const;
- const QPersistentModelIndex &topLeft() const;
- const QPersistentModelIndex &bottomRight() const;
- QModelIndex parent() const;
- const QAbstractItemModel *model() const;
- bool contains(const QModelIndex &index) const;
- bool contains(int row, int column, const QModelIndex &parentIndex) const;
- bool intersects(const QItemSelectionRange &other) const;
- %If (- Qt_6_8_0)
- bool operator==(const QItemSelectionRange &other) const;
- %End
- %If (- Qt_6_8_0)
- bool operator!=(const QItemSelectionRange &other) const;
- %End
- bool isValid() const;
- QModelIndexList indexes() const;
- QItemSelectionRange intersected(const QItemSelectionRange &other) const;
- bool isEmpty() const;
- void swap(QItemSelectionRange &other /Constrained/);
- };
- class QItemSelectionModel : public QObject
- {
- %TypeHeaderCode
- #include <qitemselectionmodel.h>
- %End
- public:
- enum SelectionFlag /BaseType=Flag/
- {
- NoUpdate,
- Clear,
- Select,
- Deselect,
- Toggle,
- Current,
- Rows,
- Columns,
- SelectCurrent,
- ToggleCurrent,
- ClearAndSelect,
- };
- typedef QFlags<QItemSelectionModel::SelectionFlag> SelectionFlags;
- explicit QItemSelectionModel(QAbstractItemModel *model /TransferThis/ = 0);
- QItemSelectionModel(QAbstractItemModel *model, QObject *parent /TransferThis/);
- virtual ~QItemSelectionModel();
- QModelIndex currentIndex() const;
- bool isSelected(const QModelIndex &index) const;
- bool isRowSelected(int row, const QModelIndex &parent = QModelIndex()) const;
- bool isColumnSelected(int column, const QModelIndex &parent = QModelIndex()) const;
- bool rowIntersectsSelection(int row, const QModelIndex &parent = QModelIndex()) const;
- bool columnIntersectsSelection(int column, const QModelIndex &parent = QModelIndex()) const;
- QModelIndexList selectedIndexes() const;
- const QItemSelection selection() const;
- QAbstractItemModel *model();
- public slots:
- virtual void clear();
- void clearSelection();
- virtual void reset();
- virtual void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command);
- virtual void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command);
- virtual void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command);
- virtual void clearCurrentIndex();
- signals:
- void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
- void currentChanged(const QModelIndex ¤t, const QModelIndex &previous);
- void currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous);
- void currentColumnChanged(const QModelIndex ¤t, const QModelIndex &previous);
- protected:
- void emitSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection);
- public:
- bool hasSelection() const;
- QModelIndexList selectedRows(int column = 0) const;
- QModelIndexList selectedColumns(int row = 0) const;
- void setModel(QAbstractItemModel *model);
- signals:
- void modelChanged(QAbstractItemModel *model);
- };
- class QItemSelection
- {
- %TypeHeaderCode
- #include <qitemselectionmodel.h>
- %End
- public:
- QItemSelection();
- QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight);
- void select(const QModelIndex &topLeft, const QModelIndex &bottomRight);
- bool contains(const QModelIndex &index) const;
- int __contains__(const QModelIndex &index);
- %MethodCode
- // It looks like you can't assign QBool to int.
- sipRes = bool(sipCpp->contains(*a0));
- %End
- QModelIndexList indexes() const;
- void merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command);
- static void split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result);
- void __setitem__(int i, const QItemSelectionRange &range);
- %MethodCode
- int len;
-
- len = sipCpp->count();
-
- if ((a0 = (int)sipConvertFromSequenceIndex(a0, len)) < 0)
- sipIsErr = 1;
- else
- (*sipCpp)[a0] = *a1;
- %End
- void __setitem__(SIP_PYSLICE slice, const QItemSelection &list);
- %MethodCode
- Py_ssize_t start, stop, step, slicelength;
-
- if (sipConvertFromSliceObject(a0, sipCpp->count(), &start, &stop, &step, &slicelength) < 0)
- {
- sipIsErr = 1;
- }
- else
- {
- int vlen = a1->count();
-
- if (vlen != slicelength)
- {
- sipBadLengthForSlice(vlen, slicelength);
- sipIsErr = 1;
- }
- else
- {
- QItemSelection::const_iterator it = a1->begin();
-
- for (Py_ssize_t i = 0; i < slicelength; ++i)
- {
- (*sipCpp)[start] = *it;
- start += step;
- ++it;
- }
- }
- }
- %End
- void __delitem__(int i);
- %MethodCode
- if ((a0 = (int)sipConvertFromSequenceIndex(a0, sipCpp->count())) < 0)
- sipIsErr = 1;
- else
- sipCpp->removeAt(a0);
- %End
- void __delitem__(SIP_PYSLICE slice);
- %MethodCode
- Py_ssize_t start, stop, step, slicelength;
-
- if (sipConvertFromSliceObject(a0, sipCpp->count(), &start, &stop, &step, &slicelength) < 0)
- {
- sipIsErr = 1;
- }
- else
- {
- for (Py_ssize_t i = 0; i < slicelength; ++i)
- {
- sipCpp->removeAt(start);
- start += step - 1;
- }
- }
- %End
- QItemSelectionRange operator[](int i);
- %MethodCode
- Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
-
- if (idx < 0)
- sipIsErr = 1;
- else
- sipRes = new QItemSelectionRange(sipCpp->operator[]((int)idx));
- %End
- QItemSelection operator[](SIP_PYSLICE slice);
- %MethodCode
- Py_ssize_t start, stop, step, slicelength;
-
- if (sipConvertFromSliceObject(a0, sipCpp->count(), &start, &stop, &step, &slicelength) < 0)
- {
- sipIsErr = 1;
- }
- else
- {
- sipRes = new QItemSelection();
-
- for (Py_ssize_t i = 0; i < slicelength; ++i)
- {
- (*sipRes) += (*sipCpp)[start];
- start += step;
- }
- }
- %End
- // Methods inherited from QList<QItemSelectionRange>.
- bool operator!=(const QItemSelection &other) const;
- bool operator==(const QItemSelection &other) const;
- // Keep the following in sync with QStringList (except for mid()).
- void clear();
- bool isEmpty() const;
- void append(const QItemSelectionRange &range);
- void prepend(const QItemSelectionRange &range);
- void insert(int i, const QItemSelectionRange &range);
- void replace(int i, const QItemSelectionRange &range);
- void removeAt(int i);
- int removeAll(const QItemSelectionRange &range);
- QItemSelectionRange takeAt(int i);
- QItemSelectionRange takeFirst();
- QItemSelectionRange takeLast();
- void move(int from, int to);
- int count(const QItemSelectionRange &range) const;
- int count() const /__len__/;
- QItemSelectionRange &first();
- QItemSelectionRange &last();
- int indexOf(const QItemSelectionRange &value, int from = 0) const;
- int lastIndexOf(const QItemSelectionRange &value, int from = -1) const;
- QItemSelection &operator+=(const QItemSelection &other);
- QItemSelection &operator+=(const QItemSelectionRange &value);
- };
- %If (Qt_6_8_0 -)
- bool operator!=(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs);
- %End
- %If (Qt_6_8_0 -)
- bool operator==(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs);
- %End
|