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   //TODO: remove
20   Handle_AIS_InteractiveContext getAISContext() { return myContext; }
21
22   void display( AISObjectsList theCurveObjects, bool isUpdate );
23   void erase( bool isUpdate );
24   void highlight( const AISObjectsList& theObjects, bool isHL );
25
26   void displayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
27   void redisplayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
28
29 protected:
30   Quantity_Color getActiveColor( bool isHL );
31
32 private:
33   Handle_AIS_InteractiveContext myContext;
34   AISObjectsList                myObjects;
35 };
36
37 #endif