6 #include <QApplication>
15 #include <QTreeWidget>
16 #include <QVBoxLayout>
18 #include <SimoxUtility/algorithm/string.h>
22 #include <RobotAPI/libraries/armem/aron/MemoryID.aron.generated.h>
46 treeItemMetadata =
new QTreeWidgetItem({
"Metadata"});
47 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Confidence"}));
48 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Time Created"}));
49 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Time Sent"}));
50 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Time Arrived"}));
51 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Time Last Accessed"}));
53 QList<QTreeWidgetItem*> items = {treeItemInstanceID, treeItemMetadata};
54 tree->insertTopLevelItems(0, items);
56 treeItemInstanceID->setExpanded(
true);
57 treeItemMetadata->setExpanded(
false);
67 instance = &
memory.getInstance(
id);
70 aronType =
memory.getProviderSegment(
id).aronType();
79 update(*instance, aronType);
86 currentInstance = instance;
96 updateInstanceID(currentInstance->id());
97 updateMetaData(currentInstance->metadata());
106 InstanceView::updateInstanceID(
const MemoryID&
id)
121 ARMARX_CHECK_EQUAL(
static_cast<size_t>(treeItemMetadata->childCount()), items.size());
123 for (
const std::string& item : items)
126 QString::fromStdString(item));
131 InstanceView::buildActionsMenu(
const QPoint& pos)
135 const QTreeWidgetItem* item =
tree->itemAt(pos);
136 if (item == this->treeItemInstanceID && currentInstance.has_value())
140 parentMenu->addAction(action);
148 InstanceView::prepareTreeContextMenu(
const QPoint& pos)
150 if (currentInstance.has_value())
152 auto* menu = buildActionsMenu(pos);
156 tree->mapToGlobal(pos),
157 menu->actions().isEmpty() ?
nullptr : menu);
162 InstanceView::getData()
166 return currentInstance->data();