Salome HOME
beac7042ccf6603232ea39d62e01de94dba8b958
[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   \brief Base class for all operations
28   Base class for all operations (see SUIT_Operation for more description)
29 */
30 class LIGHTAPP_EXPORT LightApp_Operation : public SUIT_Operation
31 {
32   Q_OBJECT
33
34 public:
35   LightApp_Operation();
36   virtual ~LightApp_Operation();
37
38   virtual void              setModule( LightApp_Module* );
39   LightApp_Module*          module() const;
40
41   bool                      isAutoResumed() const;
42
43   virtual LightApp_Dialog* dlg() const;
44
45 protected:
46
47   // Methods redefined from base class
48
49   virtual void              startOperation();
50   virtual void              suspendOperation();
51   virtual void              resumeOperation();
52   virtual void              abortOperation();
53   virtual void              commitOperation();
54
55   // Additional virtual methods may be redefined by derived classes
56   
57   virtual void              setDialogActive( const bool );
58   virtual void              activateSelection();
59   virtual void              selectionDone();
60
61
62   // Axiluary methods
63   
64   SUIT_Desktop*             desktop() const;
65   SUIT_Operation*           activeOperation() const;
66   LightApp_SelectionMgr*    selectionMgr() const;
67   void                      update( const int );
68   void                      setAutoResumed( const bool );
69       
70 private slots:
71
72   virtual void              onSelectionDone();
73
74 private:
75
76   LightApp_Module*          myModule;         
77   bool                      myIsAutoResumed;
78 };
79
80 #endif
81
82
83
84
85
86