ICF 3.1.1.10
Technical documentation of ICF Libraries
IAttributeMetaInfo.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// ICF includes
10#include <iser/IObject.h>
11
12
13namespace iattr
14{
15
16
21{
22public:
27 {
31 AF_OBLIGATORY = 1 << 0,
36 AF_NULLABLE = 1 << 1,
40 AF_SINGLE = 1 << 2,
44 AF_MULTIPLE = 1 << 3,
48 AF_VALUE = 1 << 4,
52 AF_READ_ONLY = 1 << 31
53 };
54
58 virtual QString GetAttributeDescription() const = 0;
59
64 virtual const iser::IObject* GetAttributeDefaultValue() const = 0;
65
71 virtual QByteArray GetAttributeTypeId() const = 0;
72
76 virtual int GetAttributeFlags() const = 0;
77};
78
79
80} // namespace iattr
81
82
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:25
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
This namespace containes implementations of attributes concept.

© Witold Gantzke and Kirill Lepskiy