Salome HOME
OCC functionality moving out from the widget
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Displayer.h
1 #ifndef CURVECREATOR_DISPLAYER_H
2 #define CURVECREATOR_DISPLAYER_H
3
4 #include "CurveCreator_Macro.hxx"
5
6 #include <AIS_InteractiveObject.hxx>
7 #include <AIS_InteractiveContext.hxx>
8
9 #include <vector>
10
11 class CURVECREATOR_EXPORT CurveCreator_Displayer
12 {
13 typedef std::vector<Handle_AIS_InteractiveObject> AISObjectsList;
14
15 public:
16   CurveCreator_Displayer(Handle_AIS_InteractiveContext theContext );
17   ~CurveCreator_Displayer(void);
18
19   Handle_AIS_InteractiveContext getAISContext() { return myContext; }
20
21   void display( AISObjectsList theCurveObjects, bool isUpdate );
22   void erase( bool isUpdate );
23   void highlight( const AISObjectsList& theObjects, bool isHL );
24
25   void displayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
26   void redisplayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
27
28 protected:
29   Quantity_Color getActiveColor( bool isHL );
30
31 private:
32   Handle_AIS_InteractiveContext myContext;
33   AISObjectsList                myObjects;
34 };
35
36 #endif