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 
12 
14 {
15  class MemoryIDTreeWidgetItem;
16 
17  class InstanceView : public DataView
18  {
19  Q_OBJECT
20  using This = InstanceView;
21 
22 
23  public:
24 
25  InstanceView();
26 
27  void update(const MemoryID& id, const wm::Memory& memory);
28  void update(const wm::EntityInstance& instance, aron::type::ObjectPtr aronType = nullptr);
29  void update() override;
30 
31 
32  signals:
33 
34  void instanceSelected(const MemoryID& id);
35 
36  private slots:
37 
38  void prepareTreeContextMenu(const QPoint& pos) override;
39 
40  private:
41  aron::data::DictPtr getData() override;
42  QMenu* buildActionsMenu(const QPoint& pos) override;
43 
44  void updateInstanceID(const MemoryID& id);
45  void updateMetaData(const wm::EntityInstanceMetadata& metadata);
46 
47  private:
48 
49  std::optional<wm::EntityInstance> currentInstance;
50 
51  MemoryIDTreeWidgetItem* treeItemInstanceID;
52  QTreeWidgetItem* treeItemMetadata;
53 
54  };
55 
56 }
57 
58 namespace armarx::armem::gui
59 {
61 }
DataView.h
armarx::armem::gui::instance::InstanceView
Definition: InstanceView.h:17
armarx::armem::wm::EntityInstance
Client-side working entity instance.
Definition: memory_definitions.h:32
armarx::armem::gui::instance::InstanceView::InstanceView
InstanceView()
Definition: InstanceView.cpp:41
armarx::memory
Brief description of class memory.
Definition: memory.h:39
armarx::armem::gui::InstanceView
instance::InstanceView InstanceView
Definition: InstanceView.h:60
armarx::armem::server::wm::Memory
Definition: memory_definitions.h:128
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::gui::instance
Definition: AronDataView.cpp:2
armarx::armem::gui::instance::InstanceView::instanceSelected
void instanceSelected(const MemoryID &id)
armarx::armem::gui::instance::InstanceView::update
void update() override
Definition: InstanceView.cpp:91
armarx::armem::gui::instance::DataView
Definition: DataView.h:34
memory_definitions.h
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::armem::gui::instance::MemoryIDTreeWidgetItem
Definition: MemoryIDTreeWidgetItem.h:14
armarx::armem::gui
Definition: ActionsMenuBuilder.cpp:6
armarx::armem::base::EntityInstanceMetadata
Metadata of an entity instance.
Definition: EntityInstanceBase.h:34
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36