Salome HOME
4b07bd7b262e92d1bbc94e3ad060715771450a87
[modules/gui.git] / src / LightApp / LightApp_Operation.h
1 //  LIGHT LightApp
2 //
3 //  Copyright (C) 2005  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : LightApp_Operation.h
8 //  Author : Sergey LITONIN
9 //  Module : LIGHT
10
11
12 #ifndef LightApp_Operation_H
13 #define LightApp_Operation_H
14
15 #include "LightApp.h"
16 #include <SUIT_Operation.h>
17
18 class LightApp_Module;
19 class LightApp_Application;
20 class LightApp_Operation;
21 class LightApp_SelectionMgr;
22 class LightApp_Dialog;
23 class SUIT_Desktop;
24
25 /*
26   Class       : LightApp_Operation
27   Description : Base class for all operations
28 */
29
30 /*!
31  * \brief Base class for all operations
32  *
33  *  Base class for all operations (see SUIT_Operation for more description)
34 */
35 class LIGHTAPP_EXPORT LightApp_Operation : public SUIT_Operation
36 {
37   Q_OBJECT
38
39 public:
40   LightApp_Operation();
41   virtual ~LightApp_Operation();
42
43   virtual void              setModule( LightApp_Module* );
44   LightApp_Module*          module() const;
45
46   bool                      isAutoResumed() const;
47
48   virtual LightApp_Dialog* dlg() const;
49
50 protected:
51
52   // Methods redefined from base class
53
54   virtual void              startOperation();
55   virtual void              suspendOperation();
56   virtual void              resumeOperation();
57   virtual void              abortOperation();
58   virtual void              commitOperation();
59
60   // Additional virtual methods may be redefined by derived classes
61   
62   virtual void              setDialogActive( const bool );
63   virtual void              activateSelection();
64   virtual void              selectionDone();
65
66
67   // Axiluary methods
68   
69   SUIT_Desktop*             desktop() const;
70   SUIT_Operation*           activeOperation() const;
71   LightApp_SelectionMgr*    selectionMgr() const;
72   void                      update( const int );
73   void                      setAutoResumed( const bool );
74       
75 private slots:
76
77   virtual void              onSelectionDone();
78
79 private:
80
81   LightApp_Module*          myModule;         
82   bool                      myIsAutoResumed;
83 };
84
85 #endif
86
87
88
89
90
91