Plasma Engine  2.0
Loading...
Searching...
No Matches
MainWidget.moc.h
1#pragma once
2
3#include <Foundation/Basics.h>
4#include <Foundation/Containers/Map.h>
5#include <Foundation/Containers/Set.h>
6#include <Foundation/Strings/String.h>
7#include <Foundation/Types/Variant.h>
8#include <Inspector/ui_MainWidget.h>
9#include <QMainWindow>
10#include <ads/DockManager.h>
11
12class QTreeWidgetItem;
13
14class plQtMainWidget : public ads::CDockWidget, public Ui_MainWidget
15{
16 Q_OBJECT
17public:
18 static plQtMainWidget* s_pWidget;
19
20 plQtMainWidget(QWidget* pParent = nullptr);
22
23 void ResetStats();
24 void UpdateStats();
25 virtual void closeEvent(QCloseEvent* pEvent) override;
26
27 static void ProcessTelemetry(void* pUnuseed);
28
29public Q_SLOTS:
30 void ShowStatIn(bool);
31
32private Q_SLOTS:
33 void on_ButtonConnect_clicked();
34
35 void on_TreeStats_itemChanged(QTreeWidgetItem* item, int column);
36 void on_TreeStats_customContextMenuRequested(const QPoint& p);
37
38private:
39 void SaveFavorites();
40 void LoadFavorites();
41
42 QTreeWidgetItem* CreateStat(plStringView sPath, bool bParent);
43 void SetFavorite(const plString& sStat, bool bFavorite);
44
45 plUInt32 m_uiMaxStatSamples;
46 plTime m_MaxGlobalTime;
47
48 struct StatSample
49 {
50 plTime m_AtGlobalTime;
51 double m_Value;
52 };
53
54 struct StatData
55 {
56 plDeque<StatSample> m_History;
57
58 plVariant m_Value;
59 QTreeWidgetItem* m_pItem;
60 QTreeWidgetItem* m_pItemFavorite;
61
62 StatData()
63 {
64 m_pItem = nullptr;
65 m_pItemFavorite = nullptr;
66 }
67 };
68
69 friend class plQtStatVisWidget;
71 plSet<plString> m_Favorites;
72};
73
Definition Deque.h:270
Definition Map.h:408
Definition MainWidget.moc.h:15
Definition StatVisWidget.moc.h:14
Definition Set.h:238
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12