X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_DataModel.cpp;h=fa38f0a1d4a129570bd723d9a2d22d54a2dee8fa;hb=d2b0d7e910c2c28e3611c3adbf688810ff8edc37;hp=2485d367c8f15e75dc8d37b20d01bfa341370208;hpb=acfb7413a39dd03b70cd8d2847264e083eac2a25;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_DataModel.cpp b/src/XGUI/XGUI_DataModel.cpp index 2485d367c..fa38f0a1d 100644 --- a/src/XGUI/XGUI_DataModel.cpp +++ b/src/XGUI/XGUI_DataModel.cpp @@ -58,7 +58,7 @@ ModelAPI_Document* getSubDocument(void* theObj) // Constructor ************************************************* -XGUI_DataModel::XGUI_DataModel(QObject* theParent) : ModuleBase_IDocumentDataModel(theParent) +XGUI_DataModel::XGUI_DataModel(QObject* theParent) : QAbstractItemModel(theParent) { myXMLReader.readAll(); @@ -214,11 +214,7 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess break; } } - } -#ifdef _DEBUG - else - Events_Error::send("Problem with Data Model definition of sub-document"); -#endif + } } } } else if (theMessage->eventID() == Events_Loop::loop()->eventByName(EVENT_OBJECT_UPDATED)) { @@ -259,7 +255,7 @@ void XGUI_DataModel::processEvent(const std::shared_ptr& theMess aParent = createIndex(folderId(aGroup, aDoc.get()), 0, aDoc.get()); } int aChildNb = rowCount(aParent); - rebuildBranch(aStartId, aChildNb - aStartId); + rebuildBranch(aStartId, aChildNb - aStartId, aParent); } else if (theMessage->eventID() == Events_Loop::loop()->eventByName(EVENT_DOCUMENT_CHANGED)) { DocumentPtr aDoc = ModelAPI_Session::get()->activeDocument(); if (aDoc != aRootDoc) { @@ -375,13 +371,13 @@ QVariant XGUI_DataModel::data(const QModelIndex& theIndex, int theRole) const case Qt::DecorationRole: return QIcon(myXMLReader.rootFolderIcon(theIndexRow).c_str()); case Qt::ForegroundRole: - if ((flags(theIndex) & Qt::ItemIsEditable) == 0) + if ((theIndex.flags() & Qt::ItemIsEditable) == 0) return QBrush(Qt::lightGray); return ACTIVE_COLOR; } } else { // an object or sub-document if (theRole == Qt::ForegroundRole) { - if ((flags(theIndex) & Qt::ItemIsEditable) == 0) + if ((theIndex.flags() & Qt::ItemIsEditable) == 0) return QBrush(Qt::lightGray); return ACTIVE_COLOR; } @@ -735,7 +731,7 @@ Qt::ItemFlags XGUI_DataModel::flags(const QModelIndex& theIndex) const } else if (aDoc) { // A folder under sub-document if (aActiveDoc.get() != aDoc) - return aDefaultFlag; + return aNullFlag; } return aEditingFlag; }