X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_PartDataModel.h;h=87e5d7f42be66cff36b017d7144180553794df5d;hb=4224f4dbe7ceaefe74b5d6b79a5840a9f5df2d7a;hp=ace36a74380f4ef33337d5dc9762b9c9a53f4281;hpb=c52423b158d7e2bae396c62e4fe62e7e8f78c381;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PartDataModel.h b/src/XGUI/XGUI_PartDataModel.h index ace36a743..87e5d7f42 100644 --- a/src/XGUI/XGUI_PartDataModel.h +++ b/src/XGUI/XGUI_PartDataModel.h @@ -14,7 +14,7 @@ class XGUI_EXPORT XGUI_TopDataModel : public XGUI_FeaturesModel { Q_OBJECT public: - XGUI_TopDataModel(const boost::shared_ptr& theDocument, QObject* theParent); + XGUI_TopDataModel(QObject* theParent); virtual ~XGUI_TopDataModel(); // Reimpl from QAbstractItemModel @@ -32,12 +32,16 @@ public: virtual bool hasChildren(const QModelIndex& theParent = QModelIndex()) const; - //! Returns Feature object by the given Model index. - //! Returns 0 if the given index is not index of a feature - virtual FeaturePtr feature(const QModelIndex& theIndex) const; + //! Returns object by the given Model index. + //! Returns 0 if the given index is not index of a object + virtual ObjectPtr object(const QModelIndex& theIndex) const; - //! Returns parent index of the given feature - virtual QModelIndex findParent(const boost::shared_ptr& theFeature) const; + //! Returns QModelIndex which corresponds to the given object + //! If the object is not found then index is not valid + virtual QModelIndex objectIndex(const ObjectPtr& theObject) const; + + //! Returns parent index of the given object + virtual QModelIndex findParent(const ObjectPtr& theObject) const; //! Returns index corresponded to the group virtual QModelIndex findGroup(const std::string& theGroup) const; @@ -48,7 +52,9 @@ private: ParamsFolder, ParamObject, ConstructFolder, - ConstructObject + ConstructObject, + BodiesFolder, + BodiesObject }; }; @@ -63,7 +69,7 @@ class XGUI_PartDataModel : public XGUI_PartModel { Q_OBJECT public: - XGUI_PartDataModel(const boost::shared_ptr& theDocument, QObject* theParent); + XGUI_PartDataModel(QObject* theParent); virtual ~XGUI_PartDataModel(); // Reimpl from QAbstractItemModel @@ -81,21 +87,30 @@ public: virtual bool hasChildren(const QModelIndex& theParent = QModelIndex()) const; - //! Returns Feature object by the given Model index. - //! Returns 0 if the given index is not index of a feature - virtual FeaturePtr feature(const QModelIndex& theIndex) const; + //! Returns object by the given Model index. + //! Returns 0 if the given index is not index of a object + virtual ObjectPtr object(const QModelIndex& theIndex) const; + + //! Returns QModelIndex which corresponds to the given object + //! If the object is not found then index is not valid + virtual QModelIndex objectIndex(const ObjectPtr& theObject) 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; + //! Returns parent index of the given object + virtual QModelIndex findParent(const ObjectPtr& theObject) const; //! Returns index corresponded to the group virtual QModelIndex findGroup(const std::string& theGroup) const; + //! Return a Part object + virtual ResultPartPtr part() const; + private: - boost::shared_ptr featureDocument() const; + + //! Returns document of the current part + DocumentPtr partDocument() const; //! Types of QModelIndexes enum DataIds { @@ -105,7 +120,8 @@ private: ConstructFolder, ConstructObject, BodiesFolder, - BodieswObject + BodiesObject, + HistoryObject }; };