summaryrefslogtreecommitdiffstats
path: root/src/interfaceframework/qifstandarditem.h
blob: c2ed36a7fd101794d6ba6e9509169f6c416380f5 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2019 Luxoft Sweden AB
// Copyright (C) 2018 Pelagicore AG
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#ifndef QIFSTANDARDITEM_H
#define QIFSTANDARDITEM_H

#include <QtCore/QMetaType>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QVariantMap>
#include <QtCore/qobjectdefs.h>
#include <QtInterfaceFramework/qtifglobal.h>

QT_BEGIN_NAMESPACE

class QIfStandardItemPrivate;

class Q_QTINTERFACEFRAMEWORK_EXPORT QIfStandardItem
{
    Q_GADGET

    Q_PROPERTY(QString id READ id WRITE setId)
    Q_PROPERTY(QString name READ name)
    Q_PROPERTY(QString type READ type)
    Q_PROPERTY(QVariantMap data READ data WRITE setData)

public:
    QIfStandardItem();
    QIfStandardItem(const QIfStandardItem &);
    QIfStandardItem &operator=(const QIfStandardItem &);
    virtual ~QIfStandardItem();

    virtual QString id() const;
    virtual void setId(const QString &id);
    virtual QString name() const;
    virtual QString type() const;
    virtual QVariantMap data() const;
    virtual void setData(const QVariantMap &data);

    bool operator==(const QIfStandardItem &other) const;
    inline bool operator!=(const QIfStandardItem &other) const { return !(*this == other); }

private:
    QSharedDataPointer<QIfStandardItemPrivate> d;
};

Q_DECLARE_TYPEINFO(QIfStandardItem, Q_MOVABLE_TYPE);

using QIfFilterAndBrowseModelItem = QIfStandardItem;

QT_END_NAMESPACE

Q_DECLARE_METATYPE(QIfStandardItem)

#endif // QIFSTANDARDITEM_H