diff options
Diffstat (limited to 'sigmodr/models/CoinListModel.cpp')
| -rw-r--r-- | sigmodr/models/CoinListModel.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sigmodr/models/CoinListModel.cpp b/sigmodr/models/CoinListModel.cpp index 8729e652..96117d25 100644 --- a/sigmodr/models/CoinListModel.cpp +++ b/sigmodr/models/CoinListModel.cpp @@ -20,6 +20,7 @@ // Model includes #include "CoinListObjectModel.h" +#include "GroupModel.h" // Sigmodr includes #include "../CoinListUI.h" @@ -105,28 +106,29 @@ void Sigmodr::CoinListModel::addObject(Sigmod::Object* object) if (!object) object = qobject_cast<Sigmod::CoinList*>(m_object)->newObject(); if (object->className() == "CoinListObject") - m_objects.append(new CoinListObjectModel(this, qobject_cast<Sigmod::CoinListObject*>(object))); + addChild(new CoinListObjectModel(this, qobject_cast<Sigmod::CoinListObject*>(object))); } void Sigmodr::CoinListModel::deleteObject(BaseModel* model) { - const int index = m_objects.indexOf(model); + const int index = find(model); if (0 <= index) { qobject_cast<Sigmod::CoinList*>(m_object)->deleteObject(index); m_objects[index]->deleteLater(); m_objects.removeAt(index); + childRowChanged(index); } } void Sigmodr::CoinListModel::deleteSelf() { -// qobject_cast<GroupModel*>(m_parent)->deleteObject(this); + qobject_cast<GroupModel*>(m_parent)->deleteObject(this); } void Sigmodr::CoinListModel::setupData() { Sigmod::CoinList* coinList = qobject_cast<Sigmod::CoinList*>(m_object); for (int i = 0; i < coinList->objectCount(); ++i) - m_objects.append(new CoinListObjectModel(this, coinList->object(i))); + addChild(new CoinListObjectModel(this, coinList->object(i))); } |
