Salome HOME
Issue #3009: Adapt the application to HD screen
[modules/shaper.git] / src / XGUI / XGUI_FacesPanel.h
index 3f46acc5031abdb27f267d8e457c535a1b2fa804..d4a0b04dae171cd5badcb5fba7e4715ee69f0c63 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  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
 //
 // 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef XGUI_FacesPanel_H_
@@ -77,13 +76,17 @@ public:
   /// \param isToFlushRedisplay flag if redisplay should be flushed immediatelly
   virtual void reset(const bool isToFlushRedisplay);
 
+  /// Returns whether faces panel contains elements
+  /// \return boolean value
+  bool isEmpty() const;
+
   /// Fills container with the panel selection mode: FACE
   // \param theModes [out] a container of modes
   void selectionModes(QIntList& theModes);
 
   /// Appends into container of workshop selection filters
   /// \param [out] selection filters
-  void selectionFilters(SelectMgr_ListOfFilter& theSelectionFilters) {}
+  void selectionFilters(SelectMgr_ListOfFilter& theSelectionFilters);
 
   /// Returns whether the panel is active or not
   bool isActivePanel() const { return myIsActive; }
@@ -147,19 +150,15 @@ signals:
 private:
   /// Redisplay objects.
   /// \param theObjects container of objects
-  /// \param isToFlushRedisplay flag if redisplay should be flushed immediatelly
   /// \return true if some of objects was redisplayed
-  static bool redisplayObjects(const std::set<std::shared_ptr<ModelAPI_Object> >& theObjects,
-                               const bool isToFlushRedisplay);
+  static bool redisplayObjects(const std::set<std::shared_ptr<ModelAPI_Object> >& theObjects);
 
   /// Display objects if the objects are in a container of hidden by this pane.
   /// \param theObjects container of objects
   /// \param theHiddenObjects hidden objects, if object is in the container, it should be removed
-  /// \param isToFlushRedisplay flag if redisplay should be flushed immediatelly
   /// \return true if some of objects was redisplayed
   static bool displayHiddenObjects(const std::set<std::shared_ptr<ModelAPI_Object> >& theObjects,
-                                   std::set<std::shared_ptr<ModelAPI_Object> >& theHiddenObjects,
-                                   const bool isToFlushRedisplay);
+                                   std::set<std::shared_ptr<ModelAPI_Object> >& theHiddenObjects);
 
   /// Iterates by items and hide objects where all sub-shapes are hidden
   /// \return true if some of objects was redisplayed
@@ -171,11 +170,6 @@ private:
   static void updateProcessedObjects(QMap<int, std::shared_ptr<ModuleBase_ViewerPrs> > theItems,
                                      std::set<std::shared_ptr<ModelAPI_Object> >& theObjects);
 
-  /// Generates a presentation name in form: <object_name>/<face>_<face_index>
-  /// \param thePrs a presentation
-  /// \return string value
-  static QString generateName(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs);
-
 protected slots:
   /// Deletes element in list of items
   void onDeleteItem();
@@ -186,6 +180,11 @@ protected slots:
   /// Closes faces panel restore all hidden faces by calling reset()
   void onClosed();
 
+private:
+  /// Flushes redisplay event and perform update of object browser icons
+  /// (objects might be hidden/shown)
+  void flushRedisplay() const;
+
 protected:
   QCheckBox* myHiddenOrTransparent; ///< if checked - transparent, else hidden
   ModuleBase_ListView* myListView; ///< list control of processed faces