| 614 | } |
| 615 | |
| 616 | std::vector<QString> CurveTreeView::selectedCatalogKeysRecursive() const { |
| 617 | std::vector<QString> keys; |
| 618 | std::function<void(QTreeWidgetItem*)> collect = [&](QTreeWidgetItem* item) { |
| 619 | const QString key = catalogKeyForItem(item); |
| 620 | if (!key.isEmpty() && !isValueOnlyItem(item)) { |
| 621 | keys.push_back(key); |
| 622 | } |
| 623 | if (isObjectTopicItem(item)) { |
| 624 | return; |
| 625 | } |
| 626 | for (int i = 0; i < item->childCount(); ++i) { |
| 627 | collect(item->child(i)); |
| 628 | } |
| 629 | }; |
| 630 | for (auto* item : selectedItems()) { |
| 631 | collect(item); |
| 632 | } |
| 633 | normalizeCurveNames(keys); |
| 634 | return keys; |
| 635 | } |
| 636 | |
| 637 | void CurveTreeView::setValuesColumnHidden(bool hidden) { |
| 638 | setColumnHidden(kValueColumn, hidden); |