ImagingTools Core SDK
IDesignTokenFileParser.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// Qt includes
6#include <QtCore/QtCore>
7#include <QtGui/QPalette>
8
9// ImtCore includes
10#include <imtstyle/IColorPaletteProvider.h>
11#include <imtstyle/IFontProvider.h>
12
13
14namespace imtdesign
15{
16
17class IDesignTokenFileParser:
18 virtual public imtstyle::IColorPaletteProvider,
19 virtual public imtstyle::IFontProvider
20{
21public:
22 enum IconState
23 {
24 IS_NORMAL = 0,
25 IS_OFF_NORMAL,
26 IS_OFF_DISABLED,
27 IS_OFF_ACTIVE,
28 IS_OFF_SELECTED,
29 IS_ON_NORMAL,
30 IS_ON_DISABLED,
31 IS_ON_ACTIVE,
32 IS_ON_SELECTED
33 };
34
35 virtual bool SetFile(const QByteArray& filePath) = 0;
36 virtual bool ParseFile() = 0;
37 virtual bool SplitFile(const QString& outputDirPath, const QString& projectName) = 0;
38
39 virtual bool GetBasePalette(const QByteArray& designSchemaId, QVariantMap& palette) const = 0;
40 virtual bool GetStyleSheetColorPalette(const QByteArray& designSchemaId, QVariantMap& palette) const = 0;
41 virtual QByteArray GetRawColor(const QByteArray& styleName, QPalette::ColorGroup group, QPalette::ColorRole role) const = 0;
42
43 virtual QByteArrayList GetTemplateIconColorList(const QByteArray& styleName) const = 0;
44 virtual QByteArray GetIconColor(const QByteArray& styleName, IconState iconState, const QByteArray& templateColor) const = 0;
45};
46
47
48} // namespace imtdesign