Salome HOME
Multi-selection widget to be used in the extrusion feature.
[modules/shaper.git] / src / XGUI / XGUI_Displayer.h
index 85900ddb30cd44942786e9f49e8ce58083b0da35..bfdf8a5d58dfc26824948896719e6dc78ec70907 100644 (file)
@@ -19,6 +19,9 @@
 
 #include <ModuleBase_Definitions.h>
 #include <ModuleBase_ViewerPrs.h>
+#include <ModuleBase_FilterValidated.h>
+
+#include <GeomAPI_ICustomPrs.h>
 
 #include <SelectMgr_AndFilter.hxx>
 
@@ -214,6 +217,14 @@ class XGUI_EXPORT XGUI_Displayer
   /// Opens local context. Does nothing if it is already opened.
   void openLocalContext();
 
+  /** Update the object presentable properties such as color, lines width and other
+   * If the object is result with the color attribute value set, it is used,
+   * otherwise the customize is applyed to the object's feature if it is a custom prs
+   * \param theObject an object instance
+   * \return the true state if there is changes and the presentation is customized
+   */
+  bool customizeObject(ObjectPtr theObject);
+
  protected:
    /// Reference to workshop
   XGUI_Workshop* myWorkshop;
@@ -221,6 +232,11 @@ class XGUI_EXPORT XGUI_Displayer
   /// A container for selection filters
   Handle(SelectMgr_AndFilter) myAndFilter;
 
+  Handle(ModuleBase_FilterValidated) myFilterValidated;
+
+  /// A default custom presentation, which is used if the displayed feature is not a custom presentation
+  GeomCustomPrsPtr myCustomPrs;
+
   /// Definition of a type of map which defines correspondance between objects and presentations
   typedef QMap<ObjectPtr, AISObjectPtr> ResultToAISMap;