Salome HOME
Modified a method onLoadStudy, added a call of a method updateObjectBrowser
[modules/gui.git] / src / SalomeApp / SalomeApp_DataObject.h
1 #ifndef SALOMEAPP_DATAOBJECT_H
2 #define SALOMEAPP_DATAOBJECT_H
3
4 #include "SalomeApp.h"
5
6 #include "CAM_DataObject.h"
7 #include "CAM_RootObject.h"
8
9 #include "SALOMEDSClient.hxx"
10
11 class SalomeApp_Study;
12
13 class SALOMEAPP_EXPORT SalomeApp_DataObject : public virtual CAM_DataObject
14 {
15   class Key;
16
17 public:
18   enum { CT_Value, CT_Entry, CT_IOR, CT_RefEntry };
19
20 public:
21   SalomeApp_DataObject( SUIT_DataObject* = 0 );
22   SalomeApp_DataObject( const _PTR(SObject)&, SUIT_DataObject* = 0 );
23   virtual ~SalomeApp_DataObject();
24     
25   virtual QString                 name() const;
26   virtual QPixmap                 icon() const;
27   virtual QString                 toolTip() const;
28
29   virtual QString                 text( const int ) const;
30   virtual QColor                  color( const ColorRole ) const;
31
32   virtual SUIT_DataObjectKey*     key() const;
33   virtual QString                 entry() const;
34
35   virtual _PTR(SObject)           object() const; // location of corresponding SALOMEDS::SObject  
36
37   bool                            isReference() const;
38   _PTR(SObject)                   referencedObject() const;
39
40   SUIT_DataObject*                componentObject() const;
41   QString                         componentDataType() const; // GEOM, SMESH, VISU, etc.
42
43 private:
44   QString                         ior( const _PTR(SObject)& ) const;
45   QString                         entry( const _PTR(SObject)& ) const;
46   QString                         value( const _PTR(SObject)& ) const;
47
48 private:
49   _PTR(SObject)                   myObject;
50 };
51
52 /*!
53  * SalomeApp_ModuleObject - class for optimized access to DataModel from
54  * SalomeApp_DataObject instances - see also CAM_RootObject.h
55  */
56
57 class SALOMEAPP_EXPORT SalomeApp_ModuleObject : public SalomeApp_DataObject,
58                                                 public CAM_RootObject
59 {
60 public:
61   SalomeApp_ModuleObject( SUIT_DataObject* = 0 );
62   SalomeApp_ModuleObject( const _PTR(SObject)&, SUIT_DataObject* = 0 );
63   SalomeApp_ModuleObject( CAM_DataModel*, const _PTR(SObject)&, SUIT_DataObject* = 0 );
64   virtual ~SalomeApp_ModuleObject();
65 };
66
67 #endif