X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_DataModel.cpp;h=d624d14ad7d06ceecef304ebe80dc6fb8225ab72;hb=1035d41ad342fb22f5ea2552a8fc135aed95f3b8;hp=1675b41832ef71de13aba205eb44f5fe86edb2ad;hpb=25fe15fc9ca302345f134a9c37267a713a1b2367;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_DataModel.cpp b/src/XGUI/XGUI_DataModel.cpp index 1675b4183..d624d14ad 100644 --- a/src/XGUI/XGUI_DataModel.cpp +++ b/src/XGUI/XGUI_DataModel.cpp @@ -85,7 +85,6 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess QModelIndex aParentIndex1, aParentIndex2; ObjectPtr aObj; bool aRebuildAll = false; - bool isInserted = false; foreach(ModuleBase_ITreeNode* aNode, aNodes) { aObj = aNode->object(); @@ -100,13 +99,10 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess aParentIndex2 = getParentIndex(aNode, 2); insertRows(aRow, 1, aParentIndex1); dataChanged(aParentIndex1, aParentIndex2); - isInserted = true; } } if (aRebuildAll) rebuildDataTree(); - else if (isInserted) - endInsertRows(); emit treeRebuilt(); } @@ -223,8 +219,6 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess } if (aCreated.length() == 0) return; - bool isInsert = false; - bool isRemove = false; emit beforeTreeRebuild(); foreach(ObjectPtr aObj, aCreated) { ModuleBase_ITreeNode* aNode = myRoot->subNode(aObj); @@ -238,22 +232,16 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess if (aNewNb > aOldNb) { insertRows(aOldNb - 1, aNewNb - aOldNb, aFirstIdx); - isInsert = true; } else if (aNewNb < aOldNb) { if (aNewNb) removeRows(aNewNb - 1, aOldNb - aNewNb, aFirstIdx); else if (aOldNb) removeRows(0, aOldNb, aFirstIdx); - isRemove = aNewNb || aOldNb; } dataChanged(aFirstIdx, aLastIdx); } } - if (isRemove) - endRemoveRows(); - if (isInsert) - endInsertRows(); emit treeRebuilt(); } } @@ -354,6 +342,7 @@ bool XGUI_DataModel::hasChildren(const QModelIndex& theParent) const bool XGUI_DataModel::insertRows(int theRow, int theCount, const QModelIndex& theParent) { beginInsertRows(theParent, theRow, theRow + theCount - 1); + endInsertRows(); return true; } @@ -361,6 +350,7 @@ bool XGUI_DataModel::insertRows(int theRow, int theCount, const QModelIndex& the bool XGUI_DataModel::removeRows(int theRow, int theCount, const QModelIndex& theParent) { beginRemoveRows(theParent, theRow, theRow + theCount - 1); + endRemoveRows(); return true; }