X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_DocumentDataModel.h;h=80d69f3b69b2bb4225589dde9c64487d15dc52da;hb=d86c77d1c6210bbe04fbc3e5b00f9e212e1ec930;hp=7e587ff0d5d41c34df38f945a6f3704e84717dd6;hpb=781aab61fcaac1cf70e40bdcc06d7e81405c8bb3;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_DocumentDataModel.h b/src/XGUI/XGUI_DocumentDataModel.h index 7e587ff0d..80d69f3b6 100644 --- a/src/XGUI/XGUI_DocumentDataModel.h +++ b/src/XGUI/XGUI_DocumentDataModel.h @@ -2,10 +2,11 @@ #ifndef XGUI_DocumentDataModel_H #define XGUI_DocumentDataModel_H +#include "XGUI.h" #include "XGUI_Constants.h" #include -#include +#include #include @@ -18,7 +19,7 @@ class XGUI_TopDataModel; * \brief This is a proxy data model for Object Browser (QTreeView). * It contains several sub-models for generation of each sub-part of data tree. */ -class XGUI_DocumentDataModel : public QAbstractItemModel, public Event_Listener +class XGUI_EXPORT XGUI_DocumentDataModel : public QAbstractItemModel, public Events_Listener { Q_OBJECT public: @@ -28,7 +29,7 @@ public: virtual ~XGUI_DocumentDataModel(); // Event Listener method - virtual void processEvent(const Event_Message* theMessage); + virtual void processEvent(const Events_Message* theMessage); virtual QVariant data(const QModelIndex& theIndex, int theRole) const; @@ -66,8 +67,14 @@ private: //! Causes inserting of new nodes for given parent and indexes void insertRows(const QModelIndex& theParent, int theStart, int theEnd); + //! Removes sub-model on removing a part object. Also it removes QModelIndex-es which refer to this model + void removeSubModel(int theModelId); + + //! + bool hasSubModel(const QAbstractItemModel* theModel) const; + //! Document - std::shared_ptr myDocument; + boost::shared_ptr myDocument; //! Data model of top part of data tree (not parts object) XGUI_TopDataModel* myModel;