Skip to content
Snippets Groups Projects
Commit 314f4327 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Improve update handling

parent 4fcc9754
No related branches found
No related tags found
No related merge requests found
......@@ -133,6 +133,7 @@ namespace armarx
connect(widget.updateFrequencySpinBox, &QDoubleSpinBox::editingFinished, this, &This::updateTimerFrequency);
connect(memoryTree, &armem::gui::MemoryTreeWidget::updated, this, &This::memoryTreeUpdated);
connect(memoryTree, &armem::gui::MemoryTreeWidget::updated, this, &This::updateInstanceTree);
connect(memoryTree, &armem::gui::MemoryTreeWidget::instanceSelected, this, &This::updateInstanceTree);
connect(widget.instanceUseTypeInfoCheckBox, &QCheckBox::toggled, instanceTree, &armem::gui::InstanceTreeWidget::setUseTypeInfo);
......@@ -240,11 +241,11 @@ namespace armarx
}
}
void ArMemMemoryViewerWidgetController::updateInstanceTree(const armem::MemoryID& id)
void ArMemMemoryViewerWidgetController::updateInstanceTree()
{
if (memoryData)
if (memoryData && memoryTree->selectedID())
{
instanceTree->update(id, *memoryData);
instanceTree->update(*memoryTree->selectedID(), *memoryData);
}
}
......
......@@ -99,7 +99,7 @@ namespace armarx
void updateTimerFrequency();
void toggleTimer(bool start);
void updateMemory();
void updateInstanceTree(const armem::MemoryID& id);
void updateInstanceTree();
signals:
......
......@@ -144,6 +144,11 @@ namespace armarx::armem::gui
emit updated();
}
std::optional<MemoryID> MemoryTreeWidget::selectedID() const
{
return _selectedID;
}
void MemoryTreeWidget::handleSelection()
{
QTreeWidgetItem* item = this->currentItem();
......@@ -154,9 +159,9 @@ namespace armarx::armem::gui
}
QString itemData = item->data(int(Columns::ID), Qt::UserRole).toString();
MemoryID instanceID(itemData.toStdString());
_selectedID = MemoryID(itemData.toStdString());
emit instanceSelected(instanceID);
emit instanceSelected(*_selectedID);
}
......
......@@ -24,6 +24,8 @@ namespace armarx::armem::gui
void update(const armem::Memory& memory);
void update(const std::map<std::string, const armem::Memory*>& memories);
std::optional<MemoryID> selectedID() const;
signals:
......@@ -70,6 +72,7 @@ namespace armarx::armem::gui
MapTreeWidgetBuilder<armem::Time, EntitySnapshot> snapshotBuilder;
TreeWidgetBuilder<std::vector<EntityInstance>> instanceBuilder;
std::optional<MemoryID> _selectedID;
enum class Columns
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment