Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QItemSelectionModelPrivate Class Reference

#include <qitemselectionmodel_p.h>

Inheritance diagram for QItemSelectionModelPrivate:
Collaboration diagram for QItemSelectionModelPrivate:

Public Member Functions

 QItemSelectionModelPrivate ()
 ~QItemSelectionModelPrivate () override
QItemSelection expandSelection (const QItemSelection &selection, QItemSelectionModel::SelectionFlags command) const
void initModel (QAbstractItemModel *model)
void rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
void columnsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
void rowsAboutToBeInserted (const QModelIndex &parent, int start, int end)
void columnsAboutToBeInserted (const QModelIndex &parent, int start, int end)
void layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
void triggerLayoutToBeChanged ()
void layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
void triggerLayoutChanged ()
void modelDestroyed ()
void remove (QList< QItemSelectionRange > &r)
void finalize ()
void setModel (QAbstractItemModel *mod)
void disconnectModel ()
void modelChanged (QAbstractItemModel *mod)
 Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS (QItemSelectionModelPrivate, QAbstractItemModel *, model, &QItemSelectionModelPrivate::setModel, &QItemSelectionModelPrivate::modelChanged, nullptr) QItemSelection ranges
Public Member Functions inherited from QObjectPrivate
void ensureExtraData ()
void setObjectNameWithoutBindings (const QString &name)
 QObjectPrivate (decltype(QObjectPrivateVersion) version=QObjectPrivateVersion)
virtual ~QObjectPrivate ()
void deleteChildren ()
void clearBindingStorage ()
void setParent_helper (QObject *)
void moveToThread_helper ()
void setThreadData_helper (QThreadData *currentData, QThreadData *targetData, QBindingStatus *status)
QObjectList receiverList (const char *signal) const
void ensureConnectionData ()
void addConnection (int signal, Connection *c)
int signalIndex (const char *signalName, const QMetaObject **meta=nullptr) const
bool isSignalConnected (uint signalIdx, bool checkDeclarative=true) const
bool maybeSignalConnected (uint signalIndex) const
bool isDeclarativeSignalConnected (uint signalIdx) const
void connectNotify (const QMetaMethod &signal)
void disconnectNotify (const QMetaMethod &signal)
void reinitBindingStorageAfterThreadMove ()
virtual std::string flagsForDumping () const
virtual void writeToDebugStream (QDebug &) const
QtPrivate::QPropertyAdaptorSlotObjectgetPropertyAdaptorSlotObject (const QMetaProperty &property)
Public Member Functions inherited from QObjectData
 QObjectData ()=default
virtual ~QObjectData ()=0
const QMetaObjectdynamicMetaObject () const

Public Attributes

QItemSelection currentSelection
QPersistentModelIndex currentIndex
QItemSelectionModel::SelectionFlags currentCommand
QList< QPersistentModelIndexsavedPersistentIndexes
QList< QPersistentModelIndexsavedPersistentCurrentIndexes
QList< std::pair< QPersistentModelIndex, uint > > savedPersistentRowLengths
QList< std::pair< QPersistentModelIndex, uint > > savedPersistentCurrentRowLengths
bool tableSelected
QPersistentModelIndex tableParent
int tableColCount
int tableRowCount
std::array< QMetaObject::Connection, 12 > connections
Public Attributes inherited from QObjectPrivate
ExtraDataextraData
QAtomicPointer< QThreadDatathreadData
QAtomicPointer< ConnectionDataconnections
union { 
   QObject *   currentChildBeingDeleted 
   QAbstractDeclarativeData *   declarativeData 
}; 
QAtomicPointer< QtSharedPointer::ExternalRefCountDatasharedRefcount
Public Attributes inherited from QObjectData
QObjectq_ptr
QObjectparent
QObjectList children
uint isWidget: 1
uint blockSig: 1
uint wasDeleted: 1
uint isDeletingChildren: 1
uint sendChildEvents: 1
uint receiveChildEvents: 1
uint isWindow: 1
uint deleteLaterCalled: 1
uint isQuickItem: 1
uint willBeWidget: 1
uint wasWidget: 1
uint receiveParentEvents: 1
uint unused: 20
QAtomicInt postedEvents
QDynamicMetaObjectDatametaObject
QBindingStorage bindingStorage

Additional Inherited Members

Public Types inherited from QObjectPrivate
typedef void(* StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **)
using ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData>
Static Public Member Functions inherited from QObjectPrivate
static bool removeConnection (Connection *c)
static QObjectPrivateget (QObject *o)
static const QObjectPrivateget (const QObject *o)
template<typename Func1, typename Func2>
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
template<typename Func1, typename Func2>
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot)
static QMetaObject::Connection connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject)
static QMetaObject::Connection connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
static QMetaObject::Connection connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
static bool disconnect (const QObject *sender, int signal_index, void **slot)
static bool disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot)

Detailed Description

Definition at line 28 of file qitemselectionmodel_p.h.

Constructor & Destructor Documentation

◆ QItemSelectionModelPrivate()

QItemSelectionModelPrivate::QItemSelectionModelPrivate ( )
inline

Definition at line 32 of file qitemselectionmodel_p.h.

◆ ~QItemSelectionModelPrivate()

QItemSelectionModelPrivate::~QItemSelectionModelPrivate ( )
overridedefault

Member Function Documentation

◆ columnsAboutToBeInserted()

void QItemSelectionModelPrivate::columnsAboutToBeInserted ( const QModelIndex & parent,
int start,
int end )

Split selection ranges if columns are about to be inserted in the middle.

Definition at line 810 of file qitemselectionmodel.cpp.

◆ columnsAboutToBeRemoved()

void QItemSelectionModelPrivate::columnsAboutToBeRemoved ( const QModelIndex & parent,
int start,
int end )

Definition at line 773 of file qitemselectionmodel.cpp.

◆ disconnectModel()

void QItemSelectionModelPrivate::disconnectModel ( )

Definition at line 642 of file qitemselectionmodel.cpp.

◆ expandSelection()

QItemSelection QItemSelectionModelPrivate::expandSelection ( const QItemSelection & selection,
QItemSelectionModel::SelectionFlags command ) const

returns a QItemSelection where all ranges have been expanded to: Rows: left: 0 and right: columnCount()-1 Columns: top: 0 and bottom: rowCount()-1

Definition at line 656 of file qitemselectionmodel.cpp.

◆ finalize()

void QItemSelectionModelPrivate::finalize ( )
inline

Definition at line 67 of file qitemselectionmodel_p.h.

◆ initModel()

void QItemSelectionModelPrivate::initModel ( QAbstractItemModel * model)

Definition at line 597 of file qitemselectionmodel.cpp.

◆ layoutAboutToBeChanged()

void QItemSelectionModelPrivate::layoutAboutToBeChanged ( const QList< QPersistentModelIndex > & parents,
QAbstractItemModel::LayoutChangeHint hint )

Split selection into individual (persistent) indexes. This is done in preparation for the layoutChanged() signal, where the indexes can be merged again.

Definition at line 881 of file qitemselectionmodel.cpp.

◆ layoutChanged()

void QItemSelectionModelPrivate::layoutChanged ( const QList< QPersistentModelIndex > & parents,
QAbstractItemModel::LayoutChangeHint hint )

Merge the selected indexes into selection ranges again.

Definition at line 1047 of file qitemselectionmodel.cpp.

◆ modelChanged()

void QItemSelectionModelPrivate::modelChanged ( QAbstractItemModel * mod)
inline

Definition at line 76 of file qitemselectionmodel_p.h.

◆ modelDestroyed()

void QItemSelectionModelPrivate::modelDestroyed ( )

Called when the used model gets destroyed.

It is impossible to have a correct implementation here. In the following situation, there are two contradicting rules:

QItemSelectionModel myItemSelectionModel;
myItemSelectionModel.bindableModel().setBinding([&](){ return leader.value(); }
delete mymodel;
QAbstractItemModel *returnedModel = myItemSelectionModel.model();
QBindable< QAbstractItemModel * > bindableModel()
QAbstractItemModel * model
\inmodule QtCore
Definition qproperty.h:352

What should returnedModel be in this situation?

Rules for bindable properties say that myItemSelectionModel.model() should return the same as leader.value(), namely the pointer to the now deleted model.

However, backward compatibility requires myItemSelectionModel.model() to return a nullptr, because that was done in the past after the model used was deleted.

We decide to break the new rule, imposed by bindable properties, and not break the old rule, because that may break existing code.

Definition at line 1131 of file qitemselectionmodel.cpp.

◆ Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS()

QItemSelectionModelPrivate::Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS ( QItemSelectionModelPrivate ,
QAbstractItemModel * ,
model ,
&QItemSelectionModelPrivate::setModel ,
&QItemSelectionModelPrivate::modelChanged ,
nullptr  )

◆ remove()

void QItemSelectionModelPrivate::remove ( QList< QItemSelectionRange > & r)
inline

Definition at line 60 of file qitemselectionmodel_p.h.

◆ rowsAboutToBeInserted()

void QItemSelectionModelPrivate::rowsAboutToBeInserted ( const QModelIndex & parent,
int start,
int end )

Split selection ranges if rows are about to be inserted in the middle.

Definition at line 840 of file qitemselectionmodel.cpp.

◆ rowsAboutToBeRemoved()

void QItemSelectionModelPrivate::rowsAboutToBeRemoved ( const QModelIndex & parent,
int start,
int end )

Definition at line 690 of file qitemselectionmodel.cpp.

◆ setModel()

void QItemSelectionModelPrivate::setModel ( QAbstractItemModel * mod)
inline

Definition at line 74 of file qitemselectionmodel_p.h.

◆ triggerLayoutChanged()

void QItemSelectionModelPrivate::triggerLayoutChanged ( )
inline

Definition at line 53 of file qitemselectionmodel_p.h.

◆ triggerLayoutToBeChanged()

void QItemSelectionModelPrivate::triggerLayoutToBeChanged ( )
inline

Definition at line 47 of file qitemselectionmodel_p.h.

Member Data Documentation

◆ connections

std::array<QMetaObject::Connection, 12> QItemSelectionModelPrivate::connections

Definition at line 93 of file qitemselectionmodel_p.h.

◆ currentCommand

QItemSelectionModel::SelectionFlags QItemSelectionModelPrivate::currentCommand

Definition at line 84 of file qitemselectionmodel_p.h.

◆ currentIndex

QPersistentModelIndex QItemSelectionModelPrivate::currentIndex

Definition at line 83 of file qitemselectionmodel_p.h.

◆ currentSelection

QItemSelection QItemSelectionModelPrivate::currentSelection

Definition at line 82 of file qitemselectionmodel_p.h.

◆ savedPersistentCurrentIndexes

QList<QPersistentModelIndex> QItemSelectionModelPrivate::savedPersistentCurrentIndexes

Definition at line 86 of file qitemselectionmodel_p.h.

◆ savedPersistentCurrentRowLengths

QList<std::pair<QPersistentModelIndex, uint> > QItemSelectionModelPrivate::savedPersistentCurrentRowLengths

Definition at line 88 of file qitemselectionmodel_p.h.

◆ savedPersistentIndexes

QList<QPersistentModelIndex> QItemSelectionModelPrivate::savedPersistentIndexes

Definition at line 85 of file qitemselectionmodel_p.h.

◆ savedPersistentRowLengths

QList<std::pair<QPersistentModelIndex, uint> > QItemSelectionModelPrivate::savedPersistentRowLengths

Definition at line 87 of file qitemselectionmodel_p.h.

◆ tableColCount

int QItemSelectionModelPrivate::tableColCount

Definition at line 92 of file qitemselectionmodel_p.h.

◆ tableParent

QPersistentModelIndex QItemSelectionModelPrivate::tableParent

Definition at line 91 of file qitemselectionmodel_p.h.

◆ tableRowCount

int QItemSelectionModelPrivate::tableRowCount

Definition at line 92 of file qitemselectionmodel_p.h.

◆ tableSelected

bool QItemSelectionModelPrivate::tableSelected

Definition at line 90 of file qitemselectionmodel_p.h.


The documentation for this class was generated from the following files: