9#include <QtCore/QBasicMutex>
10#include <QtCore/QMutexLocker>
19 QMap<QString, MockObject> newObjs;
21 auto itO = objs.cbegin();
22 auto endO = objs.cend();
24 newObjs.insert(itO.key(), itO->copy());
32 return std::make_pair(
pathFromOwner().last().headName(), *
this);
37 static QHash<QString, QString> knownFields;
41 if (!knownFields.contains(
f))
43 return knownFields[
f];
49 cont = cont && self.dvValue(visitor,
PathEls::Field(toField(itV.key())), *itV);
55 cont = cont && self.dvItem(visitor,
PathEls::Field(toField(itO.key())), [&self, &itO]() {
56 return self.copy(&(*itO));
65 return std::make_shared<MockOwner>(*
this);
69 :
OwningItem(
o), pathFromTop(
o.pathFromTop), subValues(
o.subValues)
71 auto objs =
o.subObjects;
72 auto itO = objs.cbegin();
73 auto endO = objs.cend();
82 return std::static_pointer_cast<MockOwner>(
doCopy(self));
92 static QHash<QString, QString> knownFields;
96 if (!knownFields.contains(
f))
98 return knownFields[
f];
103 while (itV != endV) {
104 if (!self.dvValue(visitor,
PathEls::Field(toField(itV.key())), *itV))
112 while (itO != endO) {
114 [&self, &itO]() { return self.copy(&(*itO)); }))
123 if (!self.dvWrapField(visitor, toField(
it.key()),
it.value()))
132 if (!self.dvWrapField(visitor, toField(
it.key()),
it.value()))
141 if (!self.dvWrapField(visitor, toField(
it.key()),
it.value()))
Path pathFromOwner() const
QMap< QString, MockObject > subObjects
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor) const override
std::pair< QString, MockObject > asStringPair() const
QMap< QString, QCborValue > subValues
QMap< QString, MockObject > subObjects
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor) const override
std::shared_ptr< OwningItem > doCopy(const DomItem &self) const override
std::shared_ptr< MockOwner > makeCopy(const DomItem &self) const
Path canonicalPath(const DomItem &self) const override
QMap< QString, QList< MockObject > > subLists
QMap< QString, QMap< QString, MockObject > > subMaps
QMap< QString, QMultiMap< QString, MockObject > > subMultiMaps
QMap< QString, QCborValue > subValues
MockOwner(const Path &pathFromTop=Path(), int derivedFrom=0, QMap< QString, MockObject > subObjects={}, QMap< QString, QCborValue > subValues={}, QMap< QString, QMap< QString, MockObject > > subMaps={}, QMap< QString, QMultiMap< QString, MockObject > > subMultiMaps={}, QMap< QString, QList< MockObject > > subLists={})
\macro QT_RESTRICTED_CAST_FROM_ASCII
QSet< QString >::iterator it
Combined button and popup list for selecting options.