X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_DataObject.h;h=12e982fcfc1c9edf2a7ed976b6be1b36a2332841;hb=866b78e41ea976883e3490c3dc152cde05de5122;hp=e338a218fc98ead8cd33d3a23e0b123785746af8;hpb=642cc0c19c61be7fde4b0574db044d6551d139e9;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_DataObject.h b/src/LightApp/LightApp_DataObject.h index e338a218f..12e982fcf 100644 --- a/src/LightApp/LightApp_DataObject.h +++ b/src/LightApp/LightApp_DataObject.h @@ -1,22 +1,47 @@ +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// File : LightApp_DataObject.h +// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) + #ifndef LIGHTAPP_DATAOBJECT_H #define LIGHTAPP_DATAOBJECT_H #include "LightApp.h" +#include -#include "CAM_DataObject.h" -#include "CAM_DataModel.h" -#include "CAM_RootObject.h" - +class CAM_DataModel; class LightApp_Study; -/*!Description : Data Object has empty entry so it's children must redefine metod entry() and return some unique string*/ -// to do : decomment virtual inheritance class LIGHTAPP_EXPORT LightApp_DataObject : public virtual CAM_DataObject { class Key; public: - enum { CT_Value, CT_Entry, CT_IOR, CT_RefEntry }; + //! Column id + enum { + EntryId = VisibilityId + 1, //!< entry column + RefEntryId //!< reference entry column + }; public: LightApp_DataObject( SUIT_DataObject* = 0 ); @@ -25,27 +50,59 @@ public: virtual SUIT_DataObjectKey* key() const; virtual QString entry() const; + virtual QString refEntry() const; + virtual bool isReference() const; + + virtual QString text( const int = NameId ) const; + virtual QColor color( const ColorRole, const int = NameId ) const; + virtual SUIT_DataObject* componentObject() const; virtual QString componentDataType() const; -}; + virtual bool customSorting( const int = NameId ) const; + virtual bool compare( const QVariant&, const QVariant&, const int = NameId ) const; + virtual int groupId() const; + virtual QVariant customData(Qtx::CustomDataType type); -/*! - * LightApp_ModuleObject - class for optimized access to DataModel from - * CAM_RootObject.h. - * 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. - */ + virtual bool isVisible() const; + virtual bool isDraggable() const; + virtual bool isDropAccepted() const; + virtual bool renameAllowed( const int = NameId ) const; + virtual bool setName( const QString& ); + +protected: + QString myCompDataType; + SUIT_DataObject* myCompObject; +}; -class LIGHTAPP_EXPORT LightApp_ModuleObject : public CAM_RootObject +class LIGHTAPP_EXPORT LightApp_ModuleObject +: public virtual LightApp_DataObject, public CAM_ModuleObject { public: LightApp_ModuleObject( SUIT_DataObject* = 0 ); - LightApp_ModuleObject ( CAM_DataModel*, SUIT_DataObject* = 0 ); + LightApp_ModuleObject( CAM_DataModel*, SUIT_DataObject* = 0 ); virtual ~LightApp_ModuleObject(); virtual QString name() const; - virtual void insertChild( SUIT_DataObject*, int thePosition ); + QPixmap icon( const int = NameId ) const; + QString toolTip( const int = NameId ) const; + + virtual void insertChild( SUIT_DataObject*, int ); +}; + +class LIGHTAPP_EXPORT LightApp_RootObject : public virtual LightApp_DataObject +{ +public: + LightApp_RootObject( LightApp_Study* ); + + virtual ~LightApp_RootObject(); + + void setStudy( LightApp_Study* ); + LightApp_Study* study() const; + +private: + LightApp_Study* myStudy; }; -#endif +#endif // LIGHTAPP_DATAOBJECT_H