![]() |
OGS
|
A model for the StationTreeView implementing a tree as a double-linked list.
A model for the StationTreeView implementing a tree as a double-linked list. In addition to a simple TreeModel each item also contains a 2D / 3D GraphicsItem for visualization.
Definition at line 42 of file StationTreeModel.h.
#include <StationTreeModel.h>
Public Member Functions | |
| StationTreeModel (QObject *parent=nullptr) | |
| ~StationTreeModel () override | |
| void | addStationList (QString listName, const std::vector< GeoLib::Point * > *stations) |
| const std::vector< ModelTreeItem * > & | getLists () |
| QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
| void | removeStationList (QModelIndex index) |
| void | removeStationList (const std::string &name) |
| void | setNameForItem (const std::string &stn_vec_name, std::size_t id, std::string const &item_name) |
| GeoLib::Station * | stationFromIndex (const QModelIndex &index, QString &listName) const |
| vtkPolyDataAlgorithm * | vtkSource (const std::string &name) const |
Public Member Functions inherited from TreeModel | |
| TreeModel (QObject *parent=nullptr) | |
| ~TreeModel () override | |
| QVariant | data (const QModelIndex &index, int role) const override |
| bool | setData (const QModelIndex &index, const QVariant &value, int role) override |
| Qt::ItemFlags | flags (const QModelIndex &index) const override |
| TreeItem * | getItem (const QModelIndex &index) const |
| QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
| QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
| QModelIndex | parent (const QModelIndex &index) const override |
| bool | removeRows (int position, int count, const QModelIndex &parent) override |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| TreeItem * | rootItem () const |
Private Attributes | |
| std::vector< ModelTreeItem * > | _lists |
Additional Inherited Members | |
Public Slots inherited from TreeModel | |
| void | updateData () |
Protected Attributes inherited from TreeModel | |
| TreeItem * | _rootItem |
|
explicit |
Constructor.
Definition at line 26 of file StationTreeModel.cpp.
References TreeModel::_rootItem.
|
overridedefault |
| void StationTreeModel::addStationList | ( | QString | listName, |
| const std::vector< GeoLib::Point * > * | stations ) |
Inserts a subtree under _rootItem.
| listName | Name of the new subtree. If no name is given a default name is assigned. |
| stations | The list with stations to be added as children of that subtree |
Definition at line 139 of file StationTreeModel.cpp.
References _lists, TreeModel::_rootItem, TreeItem::appendChild(), getName(), and TreeModel::rowCount().
Referenced by GEOModels::addStationVec(), and GEOModels::updateGeometry().
|
inline |
|
override |
Returns the model index of an item in the tree.
| row | The row where the item is located |
| column | The column where the item is located |
| parent | The parent of the item |
Definition at line 46 of file StationTreeModel.cpp.
References TreeModel::_rootItem, TreeItem::child(), TreeModel::parent(), and BaseItem::setModelIndex().
Referenced by removeStationList(), and stationFromIndex().
| void StationTreeModel::removeStationList | ( | const std::string & | name | ) |
Removes the TreeItem with the given name including all its children
Definition at line 206 of file StationTreeModel.cpp.
References _lists, and removeStationList().
| void StationTreeModel::removeStationList | ( | QModelIndex | index | ) |
Removes the TreeItem with the given Index including all its children
Definition at line 183 of file StationTreeModel.cpp.
References _lists, TreeModel::getItem(), index(), TreeModel::parent(), and TreeModel::removeRows().
Referenced by removeStationList(), GEOModels::removeStationVec(), and GEOModels::updateGeometry().
| void StationTreeModel::setNameForItem | ( | const std::string & | stn_vec_name, |
| std::size_t | id, | ||
| std::string const & | item_name ) |
Definition at line 114 of file StationTreeModel.cpp.
References _lists, TreeItem::child(), and TreeItem::setData().
| GeoLib::Station * StationTreeModel::stationFromIndex | ( | const QModelIndex & | index, |
| QString & | listName ) const |
Returns the Station-Object of the ModelTreeItem with the given index and the name of the list this station belongs to.
| index | Index of the requested item |
| listName | Here, the method will put the name of the list this station belongs to. |
Definition at line 87 of file StationTreeModel.cpp.
References TreeItem::data(), index(), and TreeItem::parentItem().
| vtkPolyDataAlgorithm * StationTreeModel::vtkSource | ( | const std::string & | name | ) | const |
Definition at line 101 of file StationTreeModel.cpp.
References _lists, TreeModel::data(), and vtkSource().
Referenced by VtkVisPipeline::addPipelineItem(), VtkVisPipeline::removeSourceItem(), and vtkSource().
|
private |
Definition at line 63 of file StationTreeModel.h.
Referenced by addStationList(), getLists(), removeStationList(), removeStationList(), setNameForItem(), and vtkSource().