MCPcopy Create free account
hub / github.com/KDAB/GammaRay / valueToString

Method valueToString

common/enumdefinition.cpp:89–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87}
88
89QByteArray EnumDefinition::valueToString(const EnumValue &value) const
90{
91 Q_ASSERT(value.id() == id());
92 if (isFlag()) {
93 QByteArray r;
94 int handledFlags = 0;
95 for (const auto &elem : m_elements) {
96 if ((elem.value() & value.value()) == elem.value() && elem.value() != 0) {
97 r += elem.name() + '|';
98 handledFlags |= elem.value();
99 }
100 }
101 if (value.value() & ~handledFlags)
102 r += "flag 0x" + QByteArray::number(value.value() & ~handledFlags, 16) + '|';
103
104 if (!r.isEmpty()) {
105 r.chop(1);
106 } else {
107 // check for dedicated 0-values
108 Q_ASSERT(value.value() == 0);
109 for (const auto &elem : m_elements) {
110 if (elem.value() == 0)
111 return elem.name();
112 }
113 return "<none>";
114 }
115 return r;
116 } else {
117 for (const auto &elem : m_elements) {
118 if (elem.value() == value.value())
119 return elem.name();
120 }
121 return "unknown (" + QByteArray::number(value.value()) + ')';
122 }
123}
124
125namespace GammaRay {
126QDataStream &operator<<(QDataStream &out, const EnumDefinition &def)

Callers 2

enumToStringMethod · 0.80
paintEventMethod · 0.80

Calls 4

idMethod · 0.45
valueMethod · 0.45
nameMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected