InstanceView.h
Go to the documentation of this file.
1#pragma once
2
3#include <deque>
4#include <optional>
5
6#include <QMenu>
7#include <QWidget>
8
11
13{
15
16 class InstanceView : public DataView
17 {
18 Q_OBJECT
19 using This = InstanceView;
20
21
22 public:
24
25 void update(const MemoryID& id, const wm::Memory& memory);
26 void update(const wm::EntityInstance& instance, aron::type::ObjectPtr aronType = nullptr);
27 void update() override;
28
29
30 signals:
31
32 void instanceSelected(const MemoryID& id);
33
34 private slots:
35
36 void prepareTreeContextMenu(const QPoint& pos) override;
37
38 private:
39 aron::data::DictPtr getData() override;
40 QMenu* buildActionsMenu(const QPoint& pos) override;
41
42 void updateInstanceID(const MemoryID& id);
43 void updateMetaData(const wm::EntityInstanceMetadata& metadata);
44
45 private:
46 std::optional<wm::EntityInstance> currentInstance;
47
48 MemoryIDTreeWidgetItem* treeItemInstanceID;
49 QTreeWidgetItem* treeItemMetadata;
50 };
51
52} // namespace armarx::armem::gui::instance
53
54namespace armarx::armem::gui
55{
57}
void instanceSelected(const MemoryID &id)
Brief description of class memory.
Definition memory.h:39
instance::InstanceView InstanceView
base::EntityInstanceMetadata EntityInstanceMetadata
armem::wm::EntityInstance EntityInstance
std::shared_ptr< Dict > DictPtr
Definition Dict.h:42
std::shared_ptr< Object > ObjectPtr
Definition Object.h:36