-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2020 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <cassert>
+#ifdef _MSC_VER
+#pragma warning(disable: 4100)
+#endif
+
// Constructor *************************************************
for (aIt = aObjects.cbegin(); aIt != aObjects.cend(); aIt++) {
if ((*aIt)->isInHistory())
aCreated.append(*aIt);
+ if ((*aIt)->groupName() == ModelAPI_ResultPart::group()) {
+ emit beforeTreeRebuild();
+ myRoot->update();
+ rebuildDataTree();
+ emit treeRebuilt();
+ return;
+ }
}
if (aCreated.length() == 0)
return;
QModelIndex aParentIndex1, aParentIndex2;
ObjectPtr aObj;
bool aRebuildAll = false;
- bool isInserted = false;
foreach(ModuleBase_ITreeNode* aNode, aNodes) {
aObj = aNode->object();
aParentIndex2 = getParentIndex(aNode, 2);
insertRows(aRow, 1, aParentIndex1);
dataChanged(aParentIndex1, aParentIndex2);
- isInserted = true;
}
}
if (aRebuildAll)
rebuildDataTree();
- else if (isInserted)
- endInsertRows();
emit treeRebuilt();
}
QObjectPtrList aCreated;
std::set<ObjectPtr>::const_iterator aIt;
- bool aRebuildAll = false;
for (aIt = aObjects.cbegin(); aIt != aObjects.cend(); aIt++) {
ObjectPtr aObj = (*aIt);
if (aObj->groupName() == ModelAPI_ResultField::group()) {
}
if (aCreated.length() == 0)
return;
- bool isInsert = false;
- bool isRemove = false;
emit beforeTreeRebuild();
foreach(ObjectPtr aObj, aCreated) {
ModuleBase_ITreeNode* aNode = myRoot->subNode(aObj);
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();
}
}
bool XGUI_DataModel::insertRows(int theRow, int theCount, const QModelIndex& theParent)
{
beginInsertRows(theParent, theRow, theRow + theCount - 1);
+ endInsertRows();
return true;
}
bool XGUI_DataModel::removeRows(int theRow, int theCount, const QModelIndex& theParent)
{
beginRemoveRows(theParent, theRow, theRow + theCount - 1);
+ endRemoveRows();
return true;
}