X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_PartDataModel.h;h=7e96a6705bdc035b42f2613a6d42fa37561f44a6;hb=ed165fd07e71c11885fdc5f475a8522a5914e00d;hp=0c857f95b83e153507b30e3d9da30a9e56370ebc;hpb=009748938269b60a5195a288513092b25b09e8d9;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PartDataModel.h b/src/XGUI/XGUI_PartDataModel.h index 0c857f95b..7e96a6705 100644 --- a/src/XGUI/XGUI_PartDataModel.h +++ b/src/XGUI/XGUI_PartDataModel.h @@ -1,4 +1,3 @@ - #ifndef XGUI_PartDataModel_H #define XGUI_PartDataModel_H @@ -12,9 +11,9 @@ */ class XGUI_EXPORT XGUI_TopDataModel : public XGUI_FeaturesModel { - Q_OBJECT -public: - XGUI_TopDataModel(const boost::shared_ptr& theDocument, QObject* theParent); +Q_OBJECT + public: + XGUI_TopDataModel(QObject* theParent); virtual ~XGUI_TopDataModel(); // Reimpl from QAbstractItemModel @@ -25,26 +24,31 @@ public: virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; - virtual QModelIndex index(int theRow, int theColumn, - const QModelIndex& theParent = QModelIndex()) const; + virtual QModelIndex index(int theRow, int theColumn, const QModelIndex& theParent = + QModelIndex()) const; virtual QModelIndex parent(const QModelIndex& theIndex) const; 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 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; -private: + private: //! Types of QModelIndexes - enum DataIds { + enum DataIds + { ParamsFolder, ParamObject, ConstructFolder, @@ -53,7 +57,6 @@ private: }; - /**\class XGUI_PartDataModel * \ingroup GUI * \brief This is a data model for Object Browser (QTreeView). @@ -61,9 +64,9 @@ private: */ class XGUI_PartDataModel : public XGUI_PartModel { - Q_OBJECT -public: - XGUI_PartDataModel(const boost::shared_ptr& theDocument, QObject* theParent); +Q_OBJECT + public: + XGUI_PartDataModel(QObject* theParent); virtual ~XGUI_PartDataModel(); // Reimpl from QAbstractItemModel @@ -74,44 +77,51 @@ public: virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; - virtual QModelIndex index(int theRow, int theColumn, - const QModelIndex& theParent = QModelIndex()) const; + virtual QModelIndex index(int theRow, int theColumn, const QModelIndex& theParent = + QModelIndex()) const; virtual QModelIndex parent(const QModelIndex& theIndex) const; 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 FeaturePtr part() const; + virtual ResultPartPtr part() const; + + private: -private: - boost::shared_ptr featureDocument() const; + //! Returns document of the current part + DocumentPtr partDocument() const; //! Types of QModelIndexes - enum DataIds { + enum DataIds + { MyRoot, ParamsFolder, ParamObject, ConstructFolder, ConstructObject, BodiesFolder, - BodieswObject, + BodiesObject, HistoryObject }; }; -#endif \ No newline at end of file +#endif