##// END OF EJS Templates
Remove cmake function called that isn't necessary and makes failed the configuration test if test is enable
Remove cmake function called that isn't necessary and makes failed the configuration test if test is enable

File last commit:

r476:becb718e8802
r1069:6684c2bc54eb
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);
}
}
}