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"}));
52 treeItemMetadata->addChild(
new QTreeWidgetItem({
"Origin"}));
54 QList<QTreeWidgetItem*> items = {treeItemInstanceID, treeItemMetadata};
55 tree->insertTopLevelItems(0, items);
57 treeItemInstanceID->setExpanded(
true);
58 treeItemMetadata->setExpanded(
false);
68 instance = &
memory.getInstance(
id);
71 aronType =
memory.getProviderSegment(
id).aronType();
80 update(*instance, aronType);
87 currentInstance = instance;
97 updateInstanceID(currentInstance->id());
98 updateMetaData(currentInstance->metadata());
107 InstanceView::updateInstanceID(
const MemoryID&
id)
123 ARMARX_CHECK_EQUAL(
static_cast<size_t>(treeItemMetadata->childCount()), items.size());
125 for (
const std::string& item : items)
128 QString::fromStdString(item));
133 InstanceView::buildActionsMenu(
const QPoint& pos)
137 const QTreeWidgetItem* item =
tree->itemAt(pos);
138 if (item == this->treeItemInstanceID && currentInstance.has_value())
142 parentMenu->addAction(action);
150 InstanceView::prepareTreeContextMenu(
const QPoint& pos)
152 if (currentInstance.has_value())
154 auto* menu = buildActionsMenu(pos);
158 tree->mapToGlobal(pos),
159 menu->actions().isEmpty() ?
nullptr : menu);
164 InstanceView::getData()
168 return currentInstance->data();