6#include <QtCore/QtCore>
11#include <imtbase/CJsonHelper.h>
12#include <imtstyle/IColorPaletteProvider.h>
17 class ICollectionInfo;
18 class CCollectionInfo;
26class CDesignTokenStyleUtils: imtbase::CJsonHelper
29 static QByteArrayList GetVariables(
30 const QByteArray& data,
31 const QChar& variableBeginSymbol,
32 const QChar& variableBeginSymbol2,
33 const QChar& variableEndSymbol);
34 static bool SetVariables(QByteArray& data,
35 const QChar& variableBeginSymbol,
36 const QChar& variableBeginSymbol2,
37 const QChar& variableEndSymbol,
38 const QMap<QByteArray, QByteArray>& variables);
39 static bool SetVariables(QByteArray& data,
40 const QChar& variableBeginSymbol,
41 const QChar& variableBeginSymbol2,
42 const QChar& variableEndSymbol,
43 const QVariantMap& variables);
47 static bool SetVariablesFromDualVariable(QByteArray& data,
48 const QChar& variableBeginSymbol,
49 const QChar& variableBeginSymbol2,
50 const QChar& variableEndSymbol,
51 const QVariantMap& variables);
53 static bool GetColorRoleGroup(
const QString& name, QPalette::ColorGroup& group, QPalette::ColorRole& role);
54 static QString GetColorName(QPalette::ColorGroup group, QPalette::ColorRole role);
55 static QPalette GetPaletteFromMultiEntry(
const QJsonValue& styleEntry);
56 static QPalette GetPaletteFromEntry(
const QJsonValue& paletteEntry);
57 static imtstyle::IColorPaletteProvider::GradientColors GetGradientColorsFromEntry(
const QJsonValue& gradientColorsEntry);
58 static bool CreateColorFromGrb(
const QString& rgbString, QColor& color);
59 static bool GetFontHintingPreference(
const QString& name, QFont::HintingPreference& hintingPreference);
60 static bool GetFontCapitalization(
const QString& name, QFont::Capitalization& capitalization);
61 static bool GetFontStyle(
const QString& name, QFont::Style& style);
62 static bool GetFontStyleStrategy(
const QString& name, QFont::StyleStrategy& styleStrategy);
63 static bool GetFontStyleStrategy(
const QStringList& name, QFont::StyleStrategy& styleStrategy);
64 static bool GetFontStyleHint(
const QString& name, QFont::StyleHint& styleHint);
65 static bool GetFontSpacingType(
const QString& name, QFont::SpacingType& spacingType);
66 static bool GetFontsFromEntry(
67 const QJsonValue& paletteEntry,
68 QMap<QByteArray, QFont>& fonts,
70 static bool CreateCssFont(QByteArray&output,
const QFont& font);
73 constexpr static const char* s_offNormalColorParamName =
"OffNormal";
74 constexpr static const char* s_offDisabledColorParamName =
"OffDisabled";
75 constexpr static const char* s_offActiveColorParamName =
"OffActive";
76 constexpr static const char* s_offSelectedColorParamName =
"OffSelected";
77 constexpr static const char* s_onNormalColorParamName =
"OnNormal";
78 constexpr static const char* s_onDisabledColorParamName =
"OnDisabled";
79 constexpr static const char* s_onActiveColorParamName =
"OnActive";
80 constexpr static const char* s_onSelectedColorParamName =
"OnSelected";
82 static const QMap<QString, QPalette::ColorGroup> s_colorGroupNamesMap;
83 static const QMap<QString, QPalette::ColorRole> s_colorRolesNamesMap;
84 static const QMap<QString, QFont::HintingPreference> s_fontHintingPreferenceNamesMap;
85 static const QMap<QString, QFont::Capitalization> s_fontCapitalizationNamesMap;
86 static const QMap<QString, QFont::Style> s_fontStyleNamesMap;
87 static const QMap<QString, QFont::StyleStrategy> s_fontStyleStrategyNamesMap;
88 static const QMap<QString, QFont::StyleHint> s_fontStyleHintNamesMap;
89 static const QMap<QString, QFont::SpacingType> s_fontSpacingTypeNamesMap;
92 static bool SetVariable_(
94 const QChar& variableBeginSymbol,
95 const QChar& variableBeginSymbol2,
96 const QChar& variableEndSymbol,
97 const QMap<QByteArray, QByteArray>& variables);
98 static bool SetVariablesFromDualVariable_(
100 const QChar& variableBeginSymbol,
101 const QChar& variableBeginSymbol2,
102 const QChar& variableEndSymbol,
103 const QVariantMap& variables);
104 static bool FindColorEnrty(
const QByteArray& name,
const QVariantMap& variantMap, QVariant& output,
const QString& appendix = QString());