X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_DataModel.h;h=9052260aa6554d85ea48355e660f655caf69f715;hb=65c620cd3e21069ec52cb53ecc769ac8e4b53fbb;hp=20cfb3aacfffba428b0c8e09842bad2d110a90c0;hpb=e36ce1d26c3654666a6328fc0f7032fb6d021e62;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_DataModel.h b/src/XGUI/XGUI_DataModel.h index 20cfb3aac..9052260aa 100644 --- a/src/XGUI/XGUI_DataModel.h +++ b/src/XGUI/XGUI_DataModel.h @@ -1,9 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: XGUI_DataModel.h -// Created: 21 Jul 2015 -// Author: Vitaly SMETANNIKOV - +// Copyright (C) 2014-2017 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or +// email : webmaster.salome@opencascade.com +// #ifndef XGUI_DataModel_H #define XGUI_DataModel_H @@ -126,7 +139,7 @@ public: void setXMLReader(Config_DataModelReader* theReader) { myXMLReader = theReader; } /// Do not processing anymore events of model loop - bool blockEventsProcessing(const bool theState); + //bool blockEventsProcessing(const bool theState); signals: /// Signal about tree had been rebuilt @@ -163,9 +176,34 @@ private: /// \param fromRoot - root document flag QStringList listOfShowNotEmptyFolders(bool fromRoot = true) 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; - bool myIsEventsProcessingBlocked; + QMap myShownFolders; + //bool myIsEventsProcessingBlocked; }; #endif \ No newline at end of file