4#ifndef QQMLDATAMODEL_P_P_H
5#define QQMLDATAMODEL_P_P_H
8#include <private/qv4qobjectwrapper_p.h>
10#include <QtQml/qqmlcontext.h>
11#include <QtQml/qqmlincubator.h>
13#include <private/qqmladaptormodel_p.h>
14#include <private/qqmlopenmetaobject_p.h>
16#include <QtCore/qloggingcategory.h>
47 void initializeMetaObject();
48 void initializePrototype();
50 int parseGroups(
const QStringList &groupNames)
const;
51 int parseGroups(
const QV4::Value &groupNames)
const;
89 || ((
groups & Compositor::UnresolvedFlag) && (
groups & Compositor::GroupMask));
105 virtual void setModelIndex(
int idx,
int newRow,
int newColumn,
bool alwaysEmit =
false);
173 int size() {
return m_reusableItemsPool.size(); }
190 void setInitialState(
QObject *)
override;
225 bool isChangedConnected();
227 void emitModelUpdated(
bool reset);
260 void connectToAbstractItemModel();
261 void disconnectFromAbstractItemModel();
263 void requestMoreIfNecessary();
270 Q_EMIT q_func()->createdItem(incubationTask->
index[m_compositorGroup],
item); }
272 Q_EMIT q_func()->initItem(incubationTask->
index[m_compositorGroup],
item); }
278 void updateFilterGroup();
281 void drainReusableItemsPool(
int maxPoolTime);
284 void addGroups(Compositor::iterator from,
int count, Compositor::Group
group,
int groupFlags);
285 void removeGroups(Compositor::iterator from,
int count, Compositor::Group
group,
int groupFlags);
286 void setGroups(Compositor::iterator from,
int count, Compositor::Group
group,
int groupFlags);
303 void delegateChanged(
bool add =
true,
bool remove =
true);
307 int adaptorModelCount()
const;
358 Q_PROPERTY(
QString filterOnGroup READ filterGroup WRITE setFilterGroup NOTIFY filterGroupChanged RESET resetFilterGroup FINAL)
365 void resetFilterGroup();
366 void updateFilterGroup();
369 int count()
const override;
370 bool isValid()
const override;
396 Compositor::Group m_compositorGroup;
398 bool m_modelUpdatePending =
true;
410 QVariant initialValue(
int)
override;
432 void objectDestroyed(
QObject *)
override;
438 const int memberPropertyOffset;
439 const int indexPropertyOffset;
The QIntrusiveList class is a template class that provides a list of objects using static storage.
static QObjectPrivate * get(QObject *o)
QQmlRefPointer< QQmlContextData > proxyContext
int index[QQmlListCompositor::MaximumGroupCount]
QQDMIncubationTask(QQmlDelegateModelPrivate *l, IncubationMode mode)
The QQmlChangeSet class stores an ordered list of notifications about changes to a linear data set.
The QQmlComponent class encapsulates a QML component definition.
The QQmlContext class defines a context within a QML engine.
virtual void destroyingPackage(QQuickPackage *)
virtual void initPackage(int, QQuickPackage *)
virtual void createdPackage(int, QQuickPackage *)
virtual void emitModelUpdated(const QQmlChangeSet &changeSet, bool reset)=0
virtual ~QQmlDelegateModelGroupEmitter()
QIntrusiveListNode emitterNode
QPointer< QQmlDelegateModel > model
static QQmlDelegateModelGroupPrivate * get(QQmlDelegateModelGroup *group)
QQmlDelegateModelGroupEmitterList emitters
QQDMIncubationTask * incubationTask
static QV4::ReturnedValue set_member(QQmlDelegateModelItem *thisItem, uint flag, const QV4::Value &arg)
void childContextObjectDestroyed(QObject *childContextObject)
virtual void setValue(const QString &role, const QVariant &value)
QPointer< QQmlDelegateModelAttached > attached
virtual QV4::ReturnedValue get()
static QV4::ReturnedValue get_member(QQmlDelegateModelItem *thisItem, uint flag, const QV4::Value &)
static QV4::ReturnedValue get_index(QQmlDelegateModelItem *thisItem, uint flag, const QV4::Value &arg)
static QV4::ReturnedValue get_groups(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc)
int groupIndex(Compositor::Group group)
virtual bool resolveIndex(const QQmlAdaptorModel &, int)
QV4::ExecutionEngine * v4
static QQmlDelegateModelItem * dataForObject(QObject *object)
static QV4::ReturnedValue get_model(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc)
bool isReferenced() const
virtual void setModelIndex(int idx, int newRow, int newColumn, bool alwaysEmit=false)
bool isObjectReferenced() const
QQmlRefPointer< QQmlContextData > contextData
static QV4::ReturnedValue set_groups(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc)
QPointer< QObject > object
Q_REVISION(2, 12) void rowChanged()
void objectDestroyed(QObject *)
QQmlRefPointer< QQmlDelegateModelItemMetaType > const metaType
QList< QQmlPartsModel * > models
QQmlDelegateModel * model
bool m_incubatorCleanupScheduled
QList< QQDMIncubationTask * > m_finishedIncubating
QQmlDelegateModelItemMetaType * m_cacheMetaType
void connectModel(QQmlAdaptorModel *model)
QList< QQmlDelegateModelItem * > m_cache
QQmlDelegateModelParts * m_parts
QList< QByteArray > m_watchedRoles
QQmlAbstractDelegateComponent * m_delegateChooser
QPointer< QQmlContext > m_context
void emitCreatedItem(QQDMIncubationTask *incubationTask, QObject *item)
void emitInitItem(QQDMIncubationTask *incubationTask, QObject *item)
QQmlStrongJSQObjectReference< QQmlComponent > m_delegate
void emitDestroyingItem(QObject *item)
QQmlDelegateModelGroupEmitterList m_pendingParts
QQmlDelegateModelGroup * m_cacheItems
QQmlListCompositor m_compositor
QQmlDelegateModelGroup * m_items
bool m_waitingToFetchMore
QMetaObject::Connection m_delegateChooserChanged
QQmlReusableDelegateModelItemsPool m_reusableItemsPool
QQmlAdaptorModel m_adaptorModel
QQmlListCompositor::Group m_compositorGroup
static QQmlDelegateModelPrivate * get(QQmlDelegateModel *m)
The QQmlIncubator class allows QML objects to be created asynchronously.
IncubationMode
Specifies the mode the incubator operates in.
Status
Specifies the status of the QQmlIncubator.
The QQmlListCompositor class provides a lookup table for filtered, or re-ordered list indexes.
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
void filterGroupChanged()
QList< QByteArray > watchedRoles() const
void reuseItem(QQmlDelegateModelItem *item, int newModelIndex)
\macro QT_RESTRICTED_CAST_FROM_ASCII
void statusChanged(QDeclarativeComponent::Status status)
[1]
cache insert(employee->id(), employee)
QSet< QString >::iterator it
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLenum GLenum GLsizei count
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
static void add(QPainterPath &path, const QWingedEdge &list, int edge, QPathEdge::Traversal traversal)
QIntrusiveList< QQmlDelegateModelGroupEmitter, &QQmlDelegateModelGroupEmitter::emitterNode > QQmlDelegateModelGroupEmitterList
QT_BEGIN_NAMESPACE typedef QQmlListCompositor Compositor
#define QT_REQUIRE_CONFIG(feature)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
#define V4_OBJECT2(DataClass, superClass)
view setModel(model)
[17] //! [18]
QSqlQueryModel * model
[16]
settings remove("monkey")
obj metaObject() -> className()
QQmlDelegateModelItem * item
void init(QQmlDelegateModelItem *item)
static ReturnedValue wrap(ExecutionEngine *engine, QObject *object)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent