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 {
14  class MemoryIDTreeWidgetItem;
15 
16  class InstanceView : public DataView
17  {
18  Q_OBJECT
19  using This = InstanceView;
20 
21 
22  public:
23  InstanceView();
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 
54 namespace armarx::armem::gui
55 {
57 }
DataView.h
armarx::armem::gui::instance::InstanceView
Definition: InstanceView.h:16
armarx::armem::wm::EntityInstance
Client-side working entity instance.
Definition: memory_definitions.h:32
armarx::armem::gui::instance::InstanceView::InstanceView
InstanceView()
Definition: InstanceView.cpp:39
armarx::memory
Brief description of class memory.
Definition: memory.h:38
armarx::armem::gui::InstanceView
instance::InstanceView InstanceView
Definition: InstanceView.h:56
armarx::armem::server::wm::Memory
Definition: memory_definitions.h:122
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::gui::instance
Definition: AronDataView.cpp:3
armarx::armem::gui::instance::InstanceView::instanceSelected
void instanceSelected(const MemoryID &id)
armarx::armem::gui::instance::InstanceView::update
void update() override
Definition: InstanceView.cpp:92
armarx::armem::gui::instance::DataView
Definition: DataView.h:32
memory_definitions.h
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::armem::gui::instance::MemoryIDTreeWidgetItem
Definition: MemoryIDTreeWidgetItem.h:13
armarx::armem::gui
Definition: ActionsMenuBuilder.cpp:5
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