Salome HOME
cf8ce7f0ecd369d5ed7ce076a80386dccfec3bdf
[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 "SMESH_SMESHGUI.hxx"
16
17 #include <LightApp_Operation.h>
18 #include <SALOMEDSClient.hxx>
19
20 class SMESHGUI;
21
22 /*
23   Class       : SMESHGUI_Operation
24   Description : Base class for all SMESH operations
25 */
26
27 class SMESHGUI_EXPORT SMESHGUI_Operation : public LightApp_Operation
28 {
29   Q_OBJECT
30
31 public:
32   SMESHGUI_Operation();
33   virtual ~SMESHGUI_Operation();
34
35 protected:
36   //! sets the dialog widgets to state just after operation start
37   virtual void      initDialog();
38
39   virtual void      startOperation();
40   virtual bool      isReadyToStart() const;
41   
42   //! Set according dialog active or inactive
43   virtual void      setDialogActive( const bool );
44
45   SMESHGUI*         getSMESHGUI() const;
46   bool              isStudyLocked( const bool = true ) const;
47
48   _PTR(Study)       studyDS() const;
49   
50   virtual bool      isValid( SUIT_Operation* ) const;
51
52 protected slots:
53   virtual void onOk();
54   virtual bool onApply();
55   virtual void onCancel();
56 };
57
58 #endif
59
60
61
62
63
64