##// END OF EJS Templates
Widget of the tab widget are now of type VisualizationTabWidget...
Widget of the tab widget are now of type VisualizationTabWidget Add addTabView and removeTabView lambda method connecter to their correspondant button in the VisuaizationWidget

File last commit:

r35:d11a38d78b7b
r88:a08c6215b1ad
Show More
DataSourceItem.h
52 lines | 1.5 KiB | text/x-c | CLexer
#ifndef SCIQLOP_DATASOURCEITEM_H
#define SCIQLOP_DATASOURCEITEM_H
#include <Common/spimpl.h>
#include <QVariant>
#include <QVector>
/**
* @brief The DataSourceItem class aims to represent a structure element of a data source.
* A data source has a tree structure that is made up of a main DataSourceItem object (root)
* containing other DataSourceItem objects (children).
* For each DataSourceItem can be associated a set of data representing it.
*/
class DataSourceItem {
public:
explicit DataSourceItem(QVector<QVariant> data = {});
/**
* Adds a child to the item. The item takes ownership of the child.
* @param child the child to add
*/
void appendChild(std::unique_ptr<DataSourceItem> child) noexcept;
/**
* Returns the item's child associated to an index
* @param childIndex the index to search
* @return a pointer to the child if index is valid, nullptr otherwise
*/
DataSourceItem *child(int childIndex) const noexcept;
int childCount() const noexcept;
/**
* Get the data associated to an index
* @param dataIndex the index to search
* @return the data found if index is valid, default QVariant otherwise
*/
QVariant data(int dataIndex) const noexcept;
/**
* Get the item's parent
* @return a pointer to the parent if it exists, nullptr if the item is a root
*/
DataSourceItem *parentItem() const noexcept;
private:
class DataSourceItemPrivate;
spimpl::unique_impl_ptr<DataSourceItemPrivate> impl;
};
#endif // SCIQLOP_DATASOURCEITEMMODEL_H