1 // Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/
19 #ifndef LIGHTAPP_DATAOBJECT_H
20 #define LIGHTAPP_DATAOBJECT_H
24 #include "CAM_DataObject.h"
25 #include "CAM_DataModel.h"
26 #include "CAM_RootObject.h"
30 /*!Description : Data Object has empty entry so it's children must redefine metod entry() and return some unique string*/
31 // to do : decomment virtual inheritance
32 class LIGHTAPP_EXPORT LightApp_DataObject : public virtual CAM_DataObject
37 enum { CT_Value, CT_Entry, CT_IOR, CT_RefEntry };
40 LightApp_DataObject( SUIT_DataObject* = 0 );
41 virtual ~LightApp_DataObject();
43 virtual SUIT_DataObjectKey* key() const;
44 virtual QString entry() const;
46 virtual SUIT_DataObject* componentObject() const;
47 virtual QString componentDataType() const;
52 * LightApp_ModuleObject - class for optimized access to DataModel from
54 * In modules which will be redefine LightApp_DataObject, LightApp_ModuleObject must be children from rederined DataObject for having necessary properties and children from LightApp_ModuleObject.
57 class LIGHTAPP_EXPORT LightApp_ModuleObject : public CAM_RootObject
60 LightApp_ModuleObject( SUIT_DataObject* = 0 );
61 LightApp_ModuleObject ( CAM_DataModel*, SUIT_DataObject* = 0 );
63 virtual ~LightApp_ModuleObject();
65 virtual QString name() const;
66 virtual void insertChild( SUIT_DataObject*, int thePosition );