Salome HOME
9c6c303fd2d23bc938b42cee16cc7e4930bca9e4
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Operation.h
1 //  SALOME SMESHGUI
2 //
3 //  Copyright (C) 2005  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SMESHGUI_Operation.h
8 //  Author : Sergey LITONIN
9 //  Module : SALOME
10
11
12 #ifndef SMESHGUI_Operation_H
13 #define SMESHGUI_Operation_H
14
15 #include <SalomeApp_Operation.h>
16 #include <SALOME_InteractiveObject.hxx>
17 #include <SVTK_Selection.h>
18
19 class SMESHGUI;
20 class SVTK_ViewWindow;
21 class SVTK_Selector;
22 class TColStd_MapOfInteger;
23
24
25 /*
26   Class       : SMESHGUI_Operation
27   Description : Base class for all SMESH operations
28 */
29
30 class SMESHGUI_Operation : public SalomeApp_Operation
31 {
32   Q_OBJECT
33
34 public:
35   SMESHGUI_Operation( SalomeApp_Application* );
36   virtual ~SMESHGUI_Operation();
37
38 protected:
39   void      setSelectionMode( const Selection_Mode );
40   void      highlight( const Handle( SALOME_InteractiveObject )&, const bool, const bool = true );
41   void      addOrRemoveIndex( const Handle( SALOME_InteractiveObject )&, const TColStd_MapOfInteger&, const bool );
42
43   virtual void startOperation();
44   
45   SMESHGUI*        getSMESHGUI() const;
46   SVTK_ViewWindow* getViewWindow() const;
47   SVTK_Selector*   getSelector() const;
48   
49 private:
50   SVTK_ViewWindow* myViewWindow;
51   SVTK_Selector*   mySelector;
52 };
53
54 #endif
55
56
57
58
59
60