Free Electron
ImguiHandlerRecord.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __imgui_ImguiHandlerRecord_h__
8 #define __imgui_ImguiHandlerRecord_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Imgui Handler for generic RecordGroup
17 
18  @ingroup imgui
19 *//***************************************************************************/
20 class FE_DL_EXPORT ImguiHandlerRecord:
21  public ImguiHandler,
22  public Initialize<ImguiHandlerRecord>
23 {
24  public:
25  ImguiHandlerRecord(void);
26 virtual ~ImguiHandlerRecord(void);
27 
28  void initialize(void);
29 
30 virtual void updateGUI(void)
31  {
32  update(m_spRecordGroup,"RecordGroup");
33 
34 // ImGui::ShowDemoWindow();
35  }
36 
37 virtual void drawOverlay(void);
38 
39  void bind(sp<RecordGroup> a_spRecordGroup)
40  { m_spRecordGroup=a_spRecordGroup; }
41 
42  private:
43 
44  void update(sp<RecordGroup> a_spRecordGroup,String a_label);
45 
46  void updateRecordGroup(sp<RecordGroup> a_spRecordGroup,
47  String a_label);
48  void updateRecord(Record a_record,String a_label,I32 a_recordIndex);
49 
50  sp<RecordGroup> m_spRecordGroup;
51  sp<Oscilloscope> m_spOscilloscope;
52 
53  sp<BaseType> m_spRecordGroupType;
54  sp<BaseType> m_spRecordArrayType;
55  sp<BaseType> m_spRecordType;
56  sp<BaseType> m_spWeakRecordType;
57  sp<BaseType> m_spU8Type;
58  sp<BaseType> m_spU32Type;
59  sp<BaseType> m_spI32Type;
60  sp<BaseType> m_spRealType;
61  sp<BaseType> m_spF64Type;
62  sp<BaseType> m_spSpatialVectorType;
63  sp<BaseType> m_spSpatialEulerType;
64  sp<BaseType> m_spColorType;
65  sp<BaseType> m_spSpatialQuaternionType;
66  sp<BaseType> m_spSpatialTransformType;
67  sp<BaseType> m_spVoidType;
68 
69  I32 m_columnOffset;
70  I32 m_scopeOffset;
71  Record m_selectedRecord;
72  I32 m_selectedAttrIndex;
73  Record m_lastSelectedRecord;
74  I32 m_lastSelectedAttrIndex;
75 
76  BWORD m_drawn;
77 };
78 
79 } /* namespace ext */
80 } /* namespace fe */
81 
82 #endif /* __imgui_ImguiHandlerRecord_h__ */
kernel
Definition: namespace.dox:3
Dear Imgui draw and event handler.
Definition: ImguiHandler.h:20
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Imgui Handler for generic RecordGroup.
Definition: ImguiHandlerRecord.h:20