Salome HOME
7b1f92d6cbcee746f5a6ff73ecfecb0c0e1951d3
[modules/gui.git] / src / LightApp / LightApp_DataModel.h
1 // File:      LightApp_DataModel.h
2 // Created:   10/25/2004 10:32:33 AM
3 // Author:    Sergey LITONIN
4 // Copyright (C) CEA 2004
5
6 #ifndef LIGHTAPP_DATAMODEL_H
7 #define LIGHTAPP_DATAMODEL_H
8
9 #if _MSC_VER > 1000
10 #pragma once
11 #endif // _MSC_VER > 1000
12
13 #include "LightApp.h"
14 #include "CAM_DataModel.h"
15
16 class LightApp_Module;
17 class LightApp_Study;
18 class LightApp_DataObject;
19
20 /*!
21   Description : Base class of data model
22 */
23 class LIGHTAPP_EXPORT LightApp_DataModel : public CAM_DataModel
24 {
25   Q_OBJECT
26
27 public:
28                                       LightApp_DataModel ( CAM_Module* theModule );
29   virtual                             ~LightApp_DataModel();
30
31   virtual bool                        open( const QString&, CAM_Study*, QStringList );
32   virtual bool                        save( QStringList& );
33   virtual bool                        saveAs( const QString&, CAM_Study*, QStringList& );
34   virtual bool                        close();
35
36   virtual void                        update( LightApp_DataObject* = 0, LightApp_Study* = 0 );
37
38   virtual bool                        isModified() const;
39   virtual bool                        isSaved()  const;
40
41   LightApp_Module*                    getModule() const;
42
43 signals:
44   void                                opened();
45   void                                saved();
46   void                                closed();
47
48 protected:
49   LightApp_Study*                     getStudy() const;
50
51 };
52
53 #endif