X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_PartDataModel.h;h=e1533ee0bfbd4a14b04628ca438a1715d1f6fa20;hb=4ee6972a725f02500c2c543abeef2909180e09c1;hp=f81f303f40fe36c4fb5611c328f859cf9e81249f;hpb=9fb117423f35d7271d96badbe4b8ec320641bc6e;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PartDataModel.h b/src/XGUI/XGUI_PartDataModel.h index f81f303f4..e1533ee0b 100644 --- a/src/XGUI/XGUI_PartDataModel.h +++ b/src/XGUI/XGUI_PartDataModel.h @@ -14,10 +14,10 @@ class XGUI_EXPORT XGUI_TopDataModel : public XGUI_FeaturesModel { Q_OBJECT public: - XGUI_TopDataModel(const boost::shared_ptr& theDocument, QObject* theParent); + XGUI_TopDataModel(const DocumentPtr& theDocument, QObject* theParent); virtual ~XGUI_TopDataModel(); - // Reimplementation from QAbstractItemModel + // Reimpl from QAbstractItemModel virtual QVariant data(const QModelIndex& theIndex, int theRole) const; virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; @@ -36,8 +36,12 @@ public: //! Returns 0 if the given index is not index of a feature virtual FeaturePtr feature(const QModelIndex& theIndex) const; + //! Returns QModelIndex which corresponds to the given feature + //! If the feature is not found then index is not valid + virtual QModelIndex featureIndex(const FeaturePtr& theFeature) const; + //! Returns parent index of the given feature - virtual QModelIndex findParent(const boost::shared_ptr& theFeature) const; + virtual QModelIndex findParent(const FeaturePtr& theFeature) const; //! Returns index corresponded to the group virtual QModelIndex findGroup(const std::string& theGroup) const; @@ -63,10 +67,10 @@ class XGUI_PartDataModel : public XGUI_PartModel { Q_OBJECT public: - XGUI_PartDataModel(const boost::shared_ptr& theDocument, QObject* theParent); + XGUI_PartDataModel(const DocumentPtr& theDocument, QObject* theParent); virtual ~XGUI_PartDataModel(); - // Reimplementation from QAbstractItemModel + // Reimpl from QAbstractItemModel virtual QVariant data(const QModelIndex& theIndex, int theRole) const; virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; @@ -85,17 +89,24 @@ public: //! Returns 0 if the given index is not index of a feature virtual FeaturePtr feature(const QModelIndex& theIndex) const; + //! Returns QModelIndex which corresponds to the given feature + //! If the feature is not found then index is not valid + virtual QModelIndex featureIndex(const FeaturePtr& theFeature) const; + //! Returns true if the given document is a sub-document of this tree - virtual bool hasDocument(const boost::shared_ptr& theDoc) const; + virtual bool hasDocument(const DocumentPtr& theDoc) const; //! Returns parent index of the given feature - virtual QModelIndex findParent(const boost::shared_ptr& theFeature) const; + virtual QModelIndex findParent(const FeaturePtr& theFeature) const; //! Returns index corresponded to the group virtual QModelIndex findGroup(const std::string& theGroup) const; + //! Return a Part object + virtual FeaturePtr part() const; + private: - boost::shared_ptr featureDocument() const; + DocumentPtr featureDocument() const; //! Types of QModelIndexes enum DataIds { @@ -103,7 +114,10 @@ private: ParamsFolder, ParamObject, ConstructFolder, - ConstructObject + ConstructObject, + BodiesFolder, + BodiesObject, + HistoryObject }; };