Salome HOME
7452cd366c19abe5ef371687a57ea87bb8b501f9
[modules/gui.git] / src / SalomeApp / SalomeApp_DataModel.h
1 // File:      SalomeApp_DataModel.h
2 // Created:   10/25/2004 10:32:33 AM
3 // Author:    Sergey LITONIN
4 // Copyright (C) CEA 2004
5
6 #ifndef SALOMEAPP_DATAMODEL_H
7 #define SALOMEAPP_DATAMODEL_H
8
9 #if _MSC_VER > 1000
10 #pragma once
11 #endif // _MSC_VER > 1000
12
13 #include "SalomeApp.h"
14 #include "LightApp_DataModel.h"
15
16 #include "SALOMEDSClient.hxx"
17
18 class SalomeApp_Module;
19 class SalomeApp_Study;
20 class SalomeApp_DataObject;
21
22 //   Class       : SalomeApp_DataModel
23 ///  Description : Base class of data model
24 class SALOMEAPP_EXPORT SalomeApp_DataModel : public LightApp_DataModel
25 {
26   Q_OBJECT
27
28 public:
29   static SUIT_DataObject*             synchronize( const _PTR( SComponent )&, SalomeApp_Study* );
30
31   SalomeApp_DataModel ( CAM_Module* theModule );
32   virtual ~SalomeApp_DataModel();
33
34   virtual bool                        open( const QString&, CAM_Study*, QStringList );
35   virtual bool                        create( CAM_Study* );
36   virtual void                        update( LightApp_DataObject* = 0, LightApp_Study* = 0 );
37
38   QString                             getRootEntry( SalomeApp_Study* ) const;
39   SalomeApp_Module*                   getModule() const;
40
41 protected:
42   SalomeApp_Study*                    getStudy() const;
43   virtual void                        updateTree( const _PTR( SComponent )&, SalomeApp_Study* );
44 };
45
46
47 #endif