+ enum VisibilityState {
+ NoneState,
+ Visible,
+ SemiVisible,
+ Hidden };
+
+
+ QModelIndex getParentIndex(ModuleBase_ITreeNode* theNode, int thCol) const;
+
+ QModelIndex getIndex(ModuleBase_ITreeNode* theNode, int thCol) const;
+
+ void updateSubTree(ModuleBase_ITreeNode* theParent);
+
+ /// Find a root index which contains objects of the given document
+ /// \param theDoc the document object
+ //QModelIndex findDocumentRootIndex(const ModelAPI_Document* theDoc, int aColumn = 1) const;
+
+ /// Returns number of folders in document.
+ /// Considered folders which has to be shown only if they are not empty.
+ /// \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) const;
+
+ /// 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;
+
+ //int getNumberOfFolderItems(const ModelAPI_Folder* theFolder) const;
+ //ObjectPtr getObjectInFolder(const ModelAPI_Folder* theFolder, int theId) const;
+
+ //VisibilityState getVisibilityState(const QModelIndex& theIndex) const;
+
+ //void addShownFolder(DocumentPtr theDoc, QString theFolder)
+ //{
+ // if (!myShownFolders.contains(theDoc)) {
+ // myShownFolders[theDoc] = QStringList();
+ // }
+ // myShownFolders[theDoc].append(theFolder);
+ //}
+
+ //void removeShownFolder(DocumentPtr theDoc, QString theFolder)
+ //{
+ // if (myShownFolders.contains(theDoc)) {
+ // myShownFolders[theDoc].removeAll(theFolder);
+ // if (myShownFolders[theDoc].isEmpty())
+ // myShownFolders.remove(theDoc);
+ // }
+ //}
+
+ //bool hasShownFolder(DocumentPtr theDoc, QString theFolder) const
+ //{
+ // if (myShownFolders.contains(theDoc))
+ // return myShownFolders[theDoc].contains(theFolder);
+ // return false;
+ //}
+
+ //Config_DataModelReader* myXMLReader;
+
+ XGUI_Workshop* myWorkshop;
+ QMap<DocumentPtr, QStringList> myShownFolders;
+ //bool myIsEventsProcessingBlocked;
+
+ ModuleBase_ITreeNode* myRoot;