##// END OF EJS Templates
Call the calculation of the thresholds in the scale editor (with each click on the 'automatic' mode)
Call the calculation of the thresholds in the scale editor (with each click on the 'automatic' mode)

File last commit:

r476:becb718e8802
r1062:b014e09f2329
Show More
DataSourceTreeWidgetHelper.cpp
36 lines | 1.0 KiB | text/x-c | CppLexer
/ gui / src / DataSource / DataSourceTreeWidgetHelper.cpp
#include "DataSource/DataSourceTreeWidgetHelper.h"
#include "DataSource/DataSourceTreeWidgetItem.h"
namespace {
bool filterTreeItem(DataSourceTreeWidgetItem &treeItem,
DataSourceTreeWidgetHelper::FilterFunction fun, bool parentValid = false)
{
auto selfValid = parentValid || fun(treeItem);
auto childValid = false;
auto childCount = treeItem.childCount();
for (auto i = 0; i < childCount; ++i) {
if (auto childItem = dynamic_cast<DataSourceTreeWidgetItem *>(treeItem.child(i))) {
childValid |= filterTreeItem(*childItem, fun, selfValid);
}
}
auto valid = selfValid || childValid;
treeItem.setHidden(!valid);
return valid;
}
} // namespace
void DataSourceTreeWidgetHelper::filter(QTreeWidget &treeWidget, FilterFunction fun) noexcept
{
auto itemCount = treeWidget.topLevelItemCount();
for (auto i = 0; i < itemCount; ++i) {
if (auto item = dynamic_cast<DataSourceTreeWidgetItem *>(treeWidget.topLevelItem(i))) {
filterTreeItem(*item, fun);
}
}
}