| 65 | } |
| 66 | |
| 67 | void ROOTOptionsWidget::rootObjectSelectionChanged() { |
| 68 | DEBUG("rootObjectSelectionChanged()"); |
| 69 | auto items = ui.twContent->selectedItems(); |
| 70 | QDEBUG("SELECTED ITEMS =" << items); |
| 71 | |
| 72 | ui.twColumns->clear(); |
| 73 | |
| 74 | if (items.isEmpty()) { |
| 75 | ui.twColumns->setHeaderHidden(true); |
| 76 | return; |
| 77 | } |
| 78 | |
| 79 | QTreeWidgetItem* p = items.first(); |
| 80 | QStringList path; |
| 81 | while (p && p != histItem && p != treeItem) { |
| 82 | path.prepend(p->text(0)); |
| 83 | p = p->parent(); |
| 84 | } |
| 85 | |
| 86 | if (p == histItem) { |
| 87 | ui.twColumns->setColumnCount(1); |
| 88 | ui.twColumns->setHeaderHidden(false); |
| 89 | ui.twColumns->setHeaderLabels(QStringList(i18n("Histogram Data"))); |
| 90 | |
| 91 | auto center = new QTreeWidgetItem(ui.twColumns, QStringList(i18n("Bin Center"))); |
| 92 | center->setData(0, Qt::UserRole, QStringList(QStringLiteral("center"))); |
| 93 | center->setSelected(true); |
| 94 | center->setFirstColumnSpanned(true); |
| 95 | auto low = new QTreeWidgetItem(ui.twColumns, QStringList(i18n("Low Edge"))); |
| 96 | low->setData(0, Qt::UserRole, QStringList(QStringLiteral("low"))); |
| 97 | low->setFirstColumnSpanned(true); |
| 98 | auto content = new QTreeWidgetItem(ui.twColumns, QStringList(i18n("Content"))); |
| 99 | content->setData(0, Qt::UserRole, QStringList(QStringLiteral("content"))); |
| 100 | content->setSelected(true); |
| 101 | content->setFirstColumnSpanned(true); |
| 102 | auto error = new QTreeWidgetItem(ui.twColumns, QStringList(i18n("Error"))); |
| 103 | error->setData(0, Qt::UserRole, QStringList(QStringLiteral("error"))); |
| 104 | error->setSelected(true); |
| 105 | error->setFirstColumnSpanned(true); |
| 106 | |
| 107 | if (!histselected) { |
| 108 | histselected = true; |
| 109 | ui.sbFirst->setMaximum(0); |
| 110 | ui.sbLast->setMaximum(0); |
| 111 | } |
| 112 | } else if (p == treeItem) { |
| 113 | ui.twColumns->setColumnCount(2); |
| 114 | ui.twColumns->setHeaderHidden(false); |
| 115 | ui.twColumns->setHeaderLabels(QStringList({i18n("Branch/Leaf"), i18n("Array Size")})); |
| 116 | |
| 117 | auto it = leaves.find(path); |
| 118 | if (it != leaves.end()) { |
| 119 | for (const auto& l : it.value()) { |
| 120 | auto leaf = new QTreeWidgetItem(ui.twColumns, l); |
| 121 | bool ok = false; |
| 122 | if (l.count() > 1) { |
| 123 | QString index(l.back()); |
| 124 | if (index.at(0) == QLatin1Char('[') && index.at(index.size() - 1) == QLatin1Char(']')) { |
nothing calls this directly
no test coverage detected