Salome HOME
67938e59ed72bd05681c59134ce12a1863f03c4f
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Operation.h
1
2 #ifndef HYDROGUI_OPERATION_HEADER
3 #define HYDROGUI_OPERATION_HEADER
4
5 #include <HYDROGUI.h>
6 #include <LightApp_Operation.h>
7
8 class HYDROGUI_Module;
9 class HYDROGUI_InputPanel;
10 class SUIT_SelectionMgr;
11 class Handle_HYDROData_Document;
12 class Handle_HYDROData_Object;
13
14 class HYDROGUI_Operation : public LightApp_Operation
15 {
16   Q_OBJECT
17
18 public:
19   HYDROGUI_Operation( HYDROGUI_Module* theModule );
20   virtual ~HYDROGUI_Operation();
21
22   HYDROGUI_InputPanel* inputPanel() const;
23   SUIT_SelectionMgr* selectionMgr() const;
24   HYDROGUI_Module* module() const;
25
26 protected:
27   virtual void startOperation();
28   virtual HYDROGUI_InputPanel* createInputPanel() const = 0;
29
30   Handle_HYDROData_Document doc() const;
31   Handle_HYDROData_Object FindObjectByName( const QString& theName, int theKind ) const;
32
33 protected slots:
34   virtual void OnApply();
35   virtual void OnCancel();
36
37 private:
38   HYDROGUI_Module* myModule;
39   HYDROGUI_InputPanel* myPanel;
40 };
41
42 #endif