ImagingTools Core SDK
CSdlEnum.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtsdl/CSdlEntryBase.h>
7
8
9namespace imtsdl
10{
11
12
13class CSdlEnum;
14typedef QList<CSdlEnum> SdlEnumList;
15
16
17class CSdlEnum: virtual public CSdlEntryBase
18{
19
20public:
21 typedef CSdlEntryBase BaseClass;
22
23 [[nodiscard]] QList<QPair<QString, QString>> GetValues() const;
24 void SetValues(const QList<QPair<QString, QString>>& values);
25 void AddValue(const QPair<QString, QString>& value);
26
27 // reimplemented(iser::ISerializable)
28 virtual bool Serialize(iser::IArchive& archive) override;
29
30 // operators
31 [[nodiscard]] bool operator==(const CSdlEnum& other) const;
32 [[nodiscard]] bool operator!=(const CSdlEnum& other) const { return !(operator==(other)); }
33
34private:
35 QList<QPair<QString/*OriginalName*/, QString/*StringEquivalent*/>> m_values;
36};
37
38
39
40}