X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSalomeApp%2FSalomeApp_DataObject.h;h=8754ecbd442e4775851ca237bab41bda4229e590;hb=cb00147d363db68c5cefe98d1615be8f49af1772;hp=9077f786d08a8f478c6aea07d77d12b817c6c31e;hpb=2924ab4e1a2e5a572c9ba94a689b29f7caf99d1d;p=modules%2Fgui.git diff --git a/src/SalomeApp/SalomeApp_DataObject.h b/src/SalomeApp/SalomeApp_DataObject.h index 9077f786d..8754ecbd4 100644 --- a/src/SalomeApp/SalomeApp_DataObject.h +++ b/src/SalomeApp/SalomeApp_DataObject.h @@ -1,67 +1,149 @@ +// 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 : SalomeApp_DataObject.h +// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) + #ifndef SALOMEAPP_DATAOBJECT_H #define SALOMEAPP_DATAOBJECT_H #include "SalomeApp.h" - -#include "CAM_DataObject.h" -#include "CAM_RootObject.h" - -#include "SALOMEDSClient.hxx" +#include +#include class SalomeApp_Study; -class SALOMEAPP_EXPORT SalomeApp_DataObject : public virtual CAM_DataObject +class SALOMEAPP_EXPORT SalomeApp_DataObject : public virtual LightApp_DataObject { - class Key; public: - enum { CT_Value, CT_Entry, CT_IOR, CT_RefEntry }; + //! Column id + enum { + ValueId = RefEntryId + 1, //!< value column + IORId, //!< IOR column + LastId //!< indicates last Id value + }; public: SalomeApp_DataObject( SUIT_DataObject* = 0 ); SalomeApp_DataObject( const _PTR(SObject)&, SUIT_DataObject* = 0 ); virtual ~SalomeApp_DataObject(); - - virtual QString name() const; - virtual QPixmap icon() const; - virtual QString toolTip() const; - virtual QString text( const int ) const; - virtual QColor color( const ColorRole ) const; + virtual QString name() const; + virtual QString entry() const; + + virtual QString text( const int = NameId ) const; + virtual QPixmap icon( const int = NameId ) const; + virtual QColor color( const ColorRole, const int = NameId ) const; + virtual QString toolTip( const int = NameId ) const; + virtual QFont font( const int = NameId ) const; + + virtual _PTR(SObject) object() const; + + virtual QString refEntry() const; + virtual bool isReference() const; + _PTR(SObject) referencedObject() const; + + bool hasChildren() const; + bool expandable() const; - virtual SUIT_DataObjectKey* key() const; - virtual QString entry() const; + virtual bool isVisible() const; - virtual _PTR(SObject) object() const; // location of corresponding SALOMEDS::SObject + virtual QString componentDataType() const; - bool isReference() const; - _PTR(SObject) referencedObject() const; + virtual bool customSorting( const int = NameId ) const; + virtual bool compare( const QVariant&, const QVariant&, const int = NameId ) const; - SUIT_DataObject* componentObject() const; - QString componentDataType() const; // GEOM, SMESH, VISU, etc. + virtual void insertChildAtTag( SalomeApp_DataObject*, int ); + virtual void updateItem(); private: - QString ior( const _PTR(SObject)& ) const; - QString entry( const _PTR(SObject)& ) const; - QString value( const _PTR(SObject)& ) const; + QString ior( const _PTR(SObject)& ) const; + QString entry( const _PTR(SObject)& ) const; + QString value( const _PTR(SObject)& ) const; private: - _PTR(SObject) myObject; + _PTR(SObject) myObject; }; -/*! - * SalomeApp_ModuleObject - class for optimized access to DataModel from - * SalomeApp_DataObject instances - see also CAM_RootObject.h - */ - class SALOMEAPP_EXPORT SalomeApp_ModuleObject : public SalomeApp_DataObject, - public CAM_RootObject + public CAM_ModuleObject { public: SalomeApp_ModuleObject( SUIT_DataObject* = 0 ); SalomeApp_ModuleObject( const _PTR(SObject)&, SUIT_DataObject* = 0 ); SalomeApp_ModuleObject( CAM_DataModel*, const _PTR(SObject)&, SUIT_DataObject* = 0 ); virtual ~SalomeApp_ModuleObject(); + + virtual QString name() const; + QPixmap icon( const int = NameId ) const; + QString toolTip( const int = NameId ) const; +}; + +class SALOMEAPP_EXPORT SalomeApp_RootObject : public SalomeApp_DataObject, + public LightApp_RootObject +{ +public: + SalomeApp_RootObject( LightApp_Study* ); + virtual ~SalomeApp_RootObject(); + + QString name() const; + QString entry() const; + QString text( const int = NameId ) const; + QPixmap icon( const int = NameId ) const; + QColor color( const ColorRole, const int = NameId ) const; + QString toolTip( const int = NameId ) const; + void setToSynchronize(bool value){_toSynchronize=value;}; + bool toSynchronize() const {return _toSynchronize;}; +protected: + bool _toSynchronize; +}; + +class SALOMEAPP_EXPORT SalomeApp_SavePointObject : public virtual LightApp_DataObject +{ +public: + SalomeApp_SavePointObject( SUIT_DataObject*, const int, SalomeApp_Study* ); + virtual ~SalomeApp_SavePointObject(); + + virtual QString name() const; + virtual QString entry() const; + + virtual QPixmap icon( const int = NameId ) const; + virtual QString toolTip( const int = NameId ) const; + + int getId() const; + +private: + int myId; + SalomeApp_Study* myStudy; +}; + +class SALOMEAPP_EXPORT SalomeApp_SavePointRootObject : public SUIT_DataObject +{ +public: + SalomeApp_SavePointRootObject( SUIT_DataObject* ); + + virtual QString name() const; + virtual QString toolTip( const int = NameId ) const; }; #endif