ACF $AcfVersion:0$
IAttributeMetaInfo.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <iser/IObject.h>
7
8
9namespace iattr
10{
11
12
17{
18public:
23 {
27 AF_OBLIGATORY = 1 << 0,
32 AF_NULLABLE = 1 << 1,
36 AF_SINGLE = 1 << 2,
40 AF_MULTIPLE = 1 << 3,
44 AF_VALUE = 1 << 4,
48 AF_READ_ONLY = 1 << 31
49 };
50
54 virtual QString GetAttributeDescription() const = 0;
55
60 virtual const iser::IObject* GetAttributeDefaultValue() const = 0;
61
67 virtual QByteArray GetAttributeTypeId() const = 0;
68
72 virtual int GetAttributeFlags() const = 0;
73};
74
75
76} // namespace iattr
77
78
79
80
Meta information describing single attribute.
virtual const iser::IObject * GetAttributeDefaultValue() const =0
Get default attribute value.
virtual int GetAttributeFlags() const =0
Get flags of this attribute.
virtual QString GetAttributeDescription() const =0
Get description of this attribute.
virtual QByteArray GetAttributeTypeId() const =0
Return attribute type ID.
AttributeFlags
Flags signalizing set of attribute properties.
@ AF_READ_ONLY
Attribute is simple value type.
@ AF_OBLIGATORY
Active if user declared this attribute as obligatory.
@ AF_NULLABLE
Active if this attribute can be unset (null).
@ AF_SINGLE
Attribute is single type.
@ AF_MULTIPLE
Attribute is multiple type.
@ AF_VALUE
Attribute is simple value type.
Common interface for factorisable model objects.
Definition IObject.h:23
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
This namespace containes implementations of attributes concept.