Salome HOME
Merge remote-tracking branch 'origin/BR_REENTRANCE_OPERATION' into origin_Dev_1.5.0
[modules/shaper.git] / src / ModuleBase / ModuleBase_IErrorMgr.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModuleBase_IErrorMgr.h
4 // Created:     22 July 2015
5 // Author:      Sergey POKHODENKO
6
7 #ifndef ModuleBase_IErrorMgr_H
8 #define ModuleBase_IErrorMgr_H
9
10 #include "ModuleBase.h"
11 #include <QObject>
12
13 class ModuleBase_IPropertyPanel;
14
15 /**
16  * \class ModuleBase_IErrorMgr
17  * \ingroup GUI
18  * \brief An interface to Errors manager object
19  */
20 class MODULEBASE_EXPORT ModuleBase_IErrorMgr : public QObject
21 {
22   Q_OBJECT
23 public:
24   /// Default constructor
25   /// \param theParent a parent object
26   ModuleBase_IErrorMgr(QObject* theParent = 0);
27   /// Virtual destructor
28   virtual ~ModuleBase_IErrorMgr();
29
30   /// \brief Set property pane to the operation
31   /// \param theProp a property panel instance
32   virtual void setPropertyPanel(ModuleBase_IPropertyPanel* theProp);
33
34   /// \return Currently installed property panel
35   ModuleBase_IPropertyPanel* propertyPanel() const { return myPropertyPanel; }
36
37 public slots:
38   /// SLOT, that is called after the operation is validated and feature validation errors have changed.
39   //virtual void onValidationStateChanged() = 0;
40
41 protected slots:
42   /// Process values changed event for processing feature attribute validation errors.
43   virtual void onWidgetChanged() = 0;
44
45 protected:
46   /// Access to property panel
47   ModuleBase_IPropertyPanel* myPropertyPanel;
48 };
49
50 #endif // ModuleBase_IErrorMgr_H