X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_DataModel.h;h=d08ccc42a8f301529b7d0e5f6352c3e1f6ac6b36;hb=220bd2b37119be1c65abf88a88792445cb9d99f8;hp=5d94f68ec828f2ed53283ef8f36b4a8fcbf4e71c;hpb=41bf870c5d709ac892b7d7e8618a6e6a3bda982a;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_DataModel.h b/src/XGUI/XGUI_DataModel.h index 5d94f68ec..d08ccc42a 100644 --- a/src/XGUI/XGUI_DataModel.h +++ b/src/XGUI/XGUI_DataModel.h @@ -9,12 +9,13 @@ #define XGUI_DataModel_H #include "XGUI.h" +#include #include #include #include -#include #include +#include /**\class XGUI_DataModel * \ingroup GUI @@ -26,10 +27,12 @@ * - An index which contains internal pointer as ModelAPI_Object its the object * - An index which contains internal pointer as ModelAPI_Document is a folder which belongs to this document */ -class XGUI_EXPORT XGUI_DataModel : public ModuleBase_IDocumentDataModel, public Events_Listener +class XGUI_EXPORT XGUI_DataModel : public QAbstractItemModel, public Events_Listener { Q_OBJECT public: + /// Constructor + /// \param theParent a parent object XGUI_DataModel(QObject* theParent); /// Event Listener method @@ -122,6 +125,22 @@ private: /// \param theDoc document which has to be checked. If 0 then Root document will be considered int foldersCount(ModelAPI_Document* theDoc = 0) const; + /// Retrurns indexes of folders which can not be shown because they are empty + /// \param theDoc document which has to be checked. If 0 then Root document will be considered + QIntList missedFolderIndexes(ModelAPI_Document* theDoc = 0) const; + + /// Returns Id (row) of a folder taking into consideration folders which can not be shown non empty + /// \param theType Type of the folder + /// \param theDoc a document which contains this folder + int folderId(std::string theType, ModelAPI_Document* theDoc = 0); + + /// Removes a row from branch of tree + /// \param theStart - start row to update indexes + /// \param theSize - number of indexes in the folder + /// \param theParent - index of parent folder + void rebuildBranch(int theRow, int theCount, const QModelIndex& theParent = QModelIndex()); + + /// Returns list of folders types which can not be shown empty /// \param fromRoot - root document flag QStringList listOfShowNotEmptyFolders(bool fromRoot = true) const;