summaryrefslogtreecommitdiffstats
path: root/tests/auto/core/common/testarbiter.h
blob: 81179f2edd04db220aaa79b1308e216cc146c2c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright (C) 2020 Klaralvdalens Datakonsult AB (KDAB).
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#include <Qt3DCore/private/qchangearbiter_p.h>
#include <Qt3DCore/private/qnode_p.h>

QT_BEGIN_NAMESPACE

class TestArbiter : public Qt3DCore::QChangeArbiter
{
public:

    void setArbiterOnNode(Qt3DCore::QNode *node)
    {
        Qt3DCore::QNodePrivate::get(node)->setArbiter(this);
        const auto childNodes = node->childNodes();
        for (Qt3DCore::QNode *n : childNodes)
            setArbiterOnNode(n);
    }

    QList<Qt3DCore::QNode *> dirtyNodes() const { return m_dirtyFrontEndNodes; }
    QList<Qt3DCore::ComponentRelationshipChange> dirtyComponents() const { return m_dirtyEntityComponentNodeChanges; }

    void clear()
    {
        m_dirtyFrontEndNodes.clear();
        m_dirtyEntityComponentNodeChanges.clear();
    }
};

QT_END_NAMESPACE