aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/effectcomposer/effectnodescategory.h
blob: 5906b8ef12c3e2a5b311fb6e1afad20ac04cadea (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
32
33
34
35
36
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#pragma once

#include "effectnode.h"

#include <QObject>

namespace EffectComposer {

class EffectNodesCategory : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QString categoryName MEMBER m_name CONSTANT)
    Q_PROPERTY(QList<EffectNode *> categoryNodes READ nodes NOTIFY nodesChanged)

public:
    EffectNodesCategory(const QString &name, const QList<EffectNode *> &nodes);

    QString name() const;
    QList<EffectNode *> nodes() const;
    void setNodes(const QList<EffectNode *> &nodes);
    void removeNode(const QString &nodeName);

signals:
    void nodesChanged();

private:
    QString m_name;
    QList<EffectNode *> m_categoryNodes;
};

} // namespace EffectComposer