##// END OF EJS Templates
Merge pull request 140 from SCIQLOP-Initialisation feature/VisualizationWidget...
Merge pull request 140 from SCIQLOP-Initialisation feature/VisualizationWidget Widget of the tab widget are now of type VisualizationTabWidget

File last commit:

r83:49b6273d9035
r89:626323acfce7 merge
Show More
DataSourceWidget.cpp
61 lines | 1.7 KiB | text/x-c | CppLexer
/ gui / src / DataSource / DataSourceWidget.cpp
Alexandre Leroux
Creates the data source widget...
r82 #include <DataSource/DataSourceWidget.h>
#include <ui_DataSourceWidget.h>
#include <DataSource/DataSourceItem.h>
#include <DataSource/DataSourceTreeWidgetItem.h>
namespace {
/// Number of columns displayed in the tree
const auto TREE_NB_COLUMNS = 1;
/// Header labels for the tree
const auto TREE_HEADER_LABELS = QStringList{QObject::tr("Name")};
Alexandre Leroux
Implements method to add a data source in the widget...
r83 /**
* Creates the item associated to a data source
* @param dataSource the data source for which to create the item
* @return the new item
*/
DataSourceTreeWidgetItem *createTreeWidgetItem(DataSourceItem *dataSource)
{
// Creates item for the data source
auto item = new DataSourceTreeWidgetItem{dataSource};
// Generates items for the children of the data source
for (auto i = 0; i < dataSource->childCount(); ++i) {
item->addChild(createTreeWidgetItem(dataSource->child(i)));
}
return item;
}
Alexandre Leroux
Creates the data source widget...
r82 } // namespace
class DataSourceWidget::DataSourceWidgetPrivate {
public:
explicit DataSourceWidgetPrivate(DataSourceWidget &widget)
: m_Ui{std::make_unique<Ui::DataSourceWidget>()}
{
m_Ui->setupUi(&widget);
// Set tree properties
m_Ui->treeWidget->setColumnCount(TREE_NB_COLUMNS);
m_Ui->treeWidget->setHeaderLabels(TREE_HEADER_LABELS);
}
std::unique_ptr<Ui::DataSourceWidget> m_Ui;
};
DataSourceWidget::DataSourceWidget(QWidget *parent)
: QWidget{parent}, impl{spimpl::make_unique_impl<DataSourceWidgetPrivate>(*this)}
{
}
Alexandre Leroux
Implements method to add a data source in the widget...
r83
void DataSourceWidget::addDataSource(DataSourceItem &dataSource) noexcept
{
// Creates the item associated to the source and adds it to the tree widget. The tree widget
// takes the ownership of the item
impl->m_Ui->treeWidget->addTopLevelItem(createTreeWidgetItem(&dataSource));
}