]> SALOME platform Git repositories - modules/kernel.git/blob - src/SALOMEGUI/QAD_Operation.h
Salome HOME
NRI : Add message (GUI lib not found).
[modules/kernel.git] / src / SALOMEGUI / QAD_Operation.h
1 //  File      : QAD_Operation.h
2 //  Created   : UI team, 22.09.00
3 //  Author    : UI team
4 //  Project   : SALOME
5 //  Module    : SALOMEGUI
6 //  Copyright : Open CASCADE
7 //  $Header$
8
9
10 #ifndef QAD_Operation_H
11 #define QAD_Operation_H
12
13 #include "QAD.h"
14 #include <qobject.h>
15
16 class QAD_Study;
17 class QAD_Application;
18
19 enum OperationState { 
20   Undef, Started, Finished, Suspended, Resumed, 
21   Aborted
22 };
23
24 class QAD_EXPORT QAD_Operation : public QObject
25 {
26   Q_OBJECT
27
28 public:
29   QAD_Operation( QAD_Study* aDoc );
30   ~QAD_Operation();
31
32 public:
33   QAD_Study*       getDoc() const;
34   QAD_Application* getApp() const;
35   
36   bool             start();
37   void             finish();
38   void             suspend();
39   void             resume();
40   void             abort();     
41     
42   virtual bool     changesData() const;
43   virtual bool     supportCancelByEscape() const;
44   virtual bool     compatibleWith( QAD_Operation* ) const;
45
46 protected:
47   /* customization */
48   virtual void    onStartOperation();        
49   virtual void    onFinishOperation();
50   virtual void    onSuspendOperation();
51   virtual void    onResumeOperation();
52   virtual void    onAbortOperation();
53     
54 protected:
55   QAD_Study*      myDoc;
56 };
57
58 #endif
59