Skip to content
Snippets Groups Projects
Commit bbe9f34c authored by AlQuemist's avatar AlQuemist
Browse files

MaskItems: refactor acc. the new implementation of MaskContainerItem

parent 8ddb921e
No related branches found
No related tags found
1 merge request!1114Refactor MaskItems to remove the SessionItem mechanism (Major change)
......@@ -825,31 +825,30 @@ std::unique_ptr<IShape2D> MaskAllItem::createShape(double) const
MaskItems::MaskItems()
: SessionModel("MaskItems")
{
m_maskContainer = insertItem<MaskContainerItem>();
}
void MaskItems::insertMask(int index, MaskItem* maskItem)
{
m_maskContainer->insertChild(index, maskItem);
m_maskContainer.insertMask(index, maskItem);
}
QVector<MaskItem*> MaskItems::maskItems() const
{
return m_maskContainer->maskItems();
return m_maskContainer.maskItems();
}
void MaskItems::copy(const MaskContainerItem* maskContainer)
{
m_maskContainer->clear();
m_maskContainer.clear();
if (maskContainer)
for (auto mask : maskContainer->maskItems())
copyItem(mask, m_maskContainer);
m_maskContainer.addMask(mask);
}
void MaskItems::clear()
{
SessionModel::clear();
m_maskContainer = insertItem<MaskContainerItem>();
m_maskContainer.clear();
}
void MaskItems::writeTo(QXmlStreamWriter* w) const
......@@ -866,7 +865,7 @@ void MaskItems::writeTo(QXmlStreamWriter* w) const
void MaskItems::readFrom(QXmlStreamReader* r, MessageService*)
{
m_maskContainer->clear();
m_maskContainer.clear();
const uint version = XML::readUIntAttribute(r, XML::Attrib::version);
Q_UNUSED(version)
......@@ -878,7 +877,7 @@ void MaskItems::readFrom(QXmlStreamReader* r, MessageService*)
if (tag == Tag::Mask) {
SelectionProperty<MaskItemCatalog> sel;
sel.readFrom(r);
m_maskContainer->addMask(sel.currentItem());
m_maskContainer.addMask(sel.currentItem());
XML::gotoEndElementOfTag(r, tag);
} else
......
......@@ -285,7 +285,7 @@ class MaskItems : protected SessionModel {
public:
MaskItems();
//! Takes ownership of \a maskItem
//! Takes ownership of a maskItem
void insertMask(int index, MaskItem* maskItem);
QVector<MaskItem*> maskItems() const;
......@@ -302,7 +302,7 @@ public:
void readFrom(QXmlStreamReader* r, MessageService* messageService = nullptr) override;
private:
MaskContainerItem* m_maskContainer;
MaskContainerItem m_maskContainer;
};
#endif // BORNAGAIN_GUI_MODEL_DEVICE_MASKITEMS_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment