7#include "QtCore/qglobal.h"
46 auto it = m_fieldFilterRemove.
begin();
47 while (
it != m_fieldFilterRemove.
end()) {
48 if (!fieldFilterStr.isEmpty())
49 fieldFilterStr.append(u
",");
55 auto it = m_fieldFilterAdd.
begin();
56 while (
it != m_fieldFilterAdd.
end()) {
57 if (!fieldFilterStr.isEmpty())
58 fieldFilterStr.append(u
",");
63 return fieldFilterStr;
77 if (
c.kind() == Path::Kind::Field) {
81 return m_filtredDefault;
85 if (tVals.contains(
name))
92 }
else if (m_filtredTypes.
contains(baseK)) {
105 uR
"((?<op>[-+])?(?:(?<type>[a-zA-Z0-9_]*):)?(?<field>[a-zA-Z0-9_]*))")));
109 if (
m.capturedView(u
"op") == u
"+") {
110 m_fieldFilterRemove.
remove(
m.captured(u
"type"),
m.captured(u
"field"));
111 m_fieldFilterAdd.
insert(
m.captured(u
"type"),
m.captured(u
"field"));
113 m_fieldFilterRemove.
insert(
m.captured(u
"type"),
m.captured(u
"field"));
114 m_fieldFilterAdd.
remove(
m.captured(u
"type"),
m.captured(u
"field"));
117 qCWarning(domLog) <<
"could not extract filter from" << fField;
150 QMultiMap<QString, QString> fieldFilterAdd {};
151 QMultiMap<QString, QString> fieldFilterRemove {
164 return FieldFilter { fieldFilterAdd, fieldFilterRemove };
209 QSet<QString> filtredFieldStrs;
210 QSet<QString> filtredTypeStrs;
211 static QHash<QString, DomType> fieldToId = []() {
212 QHash<QString, DomType>
res;
215 auto end = reverseMap.cend();
222 auto addFilteredOfMap = [&](
const QMultiMap<QString, QString> &
map) {
226 filtredTypeStrs.insert(
it.key());
232 addFilteredOfMap(m_fieldFilterAdd);
233 addFilteredOfMap(m_fieldFilterRemove);
234 m_filtredDefault =
true;
236 m_filtredDefault =
false;
237 m_filtredFields.
clear();
238 for (
auto s : filtredFieldStrs)
241 m_filtredTypes.
clear();
242 for (
auto s : filtredTypeStrs) {
245 if (fieldToId.contains(
s)) {
246 m_filtredTypes.
insert(fieldToId.value(
s));
248 qCWarning(domLog) <<
"Filter on unknown type " <<
s <<
" will be ignored";
258#include "moc_qqmldomfieldfilter_p.cpp"
const_iterator cend() const
const_iterator cbegin() const
iterator insert(const Key &key, const T &value)
size_type remove(const Key &key)
QList< T > values() const
DomItem component(GoTo option=GoTo::Strict) const
const QMultiMap< QString, QString > & fieldFilterAdd() const
bool operator()(const DomItem &, const Path &, const DomItem &) const
bool addFilter(const QString &f)
static FieldFilter defaultFilter()
static FieldFilter noLocationFilter()
static FieldFilter compareFilter()
static FieldFilter noFilter()
static FieldFilter compareNoCommentsFilter()
QString describeFieldsFilter() const
QMultiMap< QString, QString > fieldFilterRemove() const
Class that represent a filter on DomItem, when dumping or comparing.
\inmodule QtCore \reentrant
\inmodule QtCore \reentrant
static QString anchoredPattern(const QString &expression)
bool contains(const T &value) const
const_iterator cbegin() const noexcept
iterator insert(const T &value)
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromUtf16(const char16_t *, qsizetype size=-1)
QMap< QString, QString > map
[6]
cache insert(employee->id(), employee)
QSet< QString >::iterator it
QMLDOM_EXPORT QString domTypeToString(DomType k)
QMLDOM_EXPORT QMap< DomType, QString > domTypeToStringMap()
size_t qHash(const Path &, size_t)
Combined button and popup list for selecting options.
#define qCWarning(category,...)
static bool contains(const QJsonArray &haystack, unsigned needle)
GLenum GLsizei GLsizei GLint * values
[15]
GLsizei GLenum GLenum * types
static QLatin1StringView typeStr(QShaderDescription::VariableType t)
QLatin1StringView QLatin1String
#define QStringLiteral(str)
if(qFloatDistance(a, b)<(1<< 7))
[0]
\inmodule QtCore \reentrant
bool contains(const AT &t) const noexcept