X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_PartDataModel.h;h=56f28ad5e441a6d2229d9e4454e7751187c33bf6;hb=953119363a54cbf70176287608a2099d74d98a51;hp=2dd977c10d7603f6a53846f94fbacfb3ee81c560;hpb=8dc74f82810d5f597b78633b457efb0ef4f89f9f;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PartDataModel.h b/src/XGUI/XGUI_PartDataModel.h index 2dd977c10..56f28ad5e 100644 --- a/src/XGUI/XGUI_PartDataModel.h +++ b/src/XGUI/XGUI_PartDataModel.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + #ifndef XGUI_PartDataModel_H #define XGUI_PartDataModel_H @@ -13,22 +15,50 @@ class XGUI_EXPORT XGUI_TopDataModel : public XGUI_FeaturesModel { Q_OBJECT public: + /// Constructor + /// \param theParent a parent object XGUI_TopDataModel(QObject* theParent); virtual ~XGUI_TopDataModel(); // Reimpl from QAbstractItemModel + + /// Returns the data stored under the given role for the item referred to by the index. + /// \param theIndex a model index + /// \param theRole a data role (see Qt::ItemDataRole) virtual QVariant data(const QModelIndex& theIndex, int theRole) const; - virtual QVariant headerData(int section, Qt::Orientation orientation, - int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; - virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + /// Returns the data for the given role and section in the header with the specified orientation. + /// \param theSection a section + /// \param theOrient an orientation + /// \param theRole a data role (see Qt::ItemDataRole) + virtual QVariant headerData(int theSection, Qt::Orientation theOrient, + int theRole = Qt::DisplayRole) const; + + /// Returns the number of rows under the given parent. When the parent is valid it means that + /// rowCount is returning the number of children of parent. + /// \param theParent a parent model index + virtual int rowCount(const QModelIndex &theParent = QModelIndex()) const; + + /// Returns the number of columns for the children of the given parent. + /// It has a one column + /// \param theParent a parent model index + virtual int columnCount(const QModelIndex &theParent = QModelIndex()) const; + + /// Returns the index of the item in the model specified by the given row, column and parent index. + /// \param theRow a row + /// \param theColumn a column + /// \param theParent a parent model index virtual QModelIndex index(int theRow, int theColumn, const QModelIndex& theParent = QModelIndex()) const; + /// Returns the parent of the model item with the given index. + /// If the item has no parent, an invalid QModelIndex is returned. + /// \param theIndex a model index virtual QModelIndex parent(const QModelIndex& theIndex) const; + /// Returns true if parent has any children; otherwise returns false. + /// \param theParent a parent model index virtual bool hasChildren(const QModelIndex& theParent = QModelIndex()) const; //! Returns object by the given Model index. @@ -52,9 +82,9 @@ Q_OBJECT ParamsFolder, ParamObject, ConstructFolder, - ConstructObject, - BodiesFolder, - BodiesObject + ConstructObject + //GroupsFolder, + //GroupObject }; }; @@ -68,22 +98,49 @@ class XGUI_PartDataModel : public XGUI_PartModel { Q_OBJECT public: + /// Constructor + /// \param theParent a parent object XGUI_PartDataModel(QObject* theParent); virtual ~XGUI_PartDataModel(); // 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; - virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; - virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + /// Returns the data stored under the given role for the item referred to by the index. + /// \param theIndex a model index + /// \param theRole a data role (see Qt::ItemDataRole) + virtual QVariant data(const QModelIndex& theIndex, int theRole) const; + /// Returns the data for the given role and section in the header with the specified orientation. + /// \param theSection a section + /// \param theOrient an orientation + /// \param theRole a data role (see Qt::ItemDataRole) + virtual QVariant headerData(int theSection, Qt::Orientation theOrient, + int theRole = Qt::DisplayRole) const; + + /// Returns the number of rows under the given parent. When the parent is valid it means that + /// rowCount is returning the number of children of parent. + /// \param theParent a parent model index + virtual int rowCount(const QModelIndex &theParent = QModelIndex()) const; + + /// Returns the number of columns for the children of the given parent. + /// It has a one column + /// \param theParent a parent model index + virtual int columnCount(const QModelIndex &theParent = QModelIndex()) const; + + /// Returns the index of the item in the model specified by the given row, column and parent index. + /// \param theRow a row + /// \param theColumn a column + /// \param theParent a parent model index virtual QModelIndex index(int theRow, int theColumn, const QModelIndex& theParent = QModelIndex()) const; + /// Returns the parent of the model item with the given index. + /// If the item has no parent, an invalid QModelIndex is returned. + /// \param theIndex a model index virtual QModelIndex parent(const QModelIndex& theIndex) const; + /// Returns true if parent has any children; otherwise returns false. + /// \param theParent a parent model index virtual bool hasChildren(const QModelIndex& theParent = QModelIndex()) const; //! Returns object by the given Model index. @@ -111,6 +168,9 @@ Q_OBJECT //! Returns document of the current part DocumentPtr partDocument() const; + //! Returns defult number of rows + int getRowsNumber() const; + //! Types of QModelIndexes enum DataIds { @@ -121,6 +181,8 @@ Q_OBJECT ConstructObject, BodiesFolder, BodiesObject, + GroupsFolder, + GroupObject, HistoryObject };