Plasma Engine  2.0
Loading...
Searching...
No Matches
InputWidget.moc.h
1#pragma once
2
3#include <Core/Input/InputManager.h>
4#include <Foundation/Basics.h>
5#include <Foundation/Containers/Map.h>
6#include <Foundation/Strings/String.h>
7#include <Inspector/ui_InputWidget.h>
8#include <ads/DockWidget.h>
9
10class plQtInputWidget : public ads::CDockWidget, public Ui_InputWidget
11{
12public:
13 Q_OBJECT
14
15public:
16 plQtInputWidget(QWidget* pParent = 0);
17
18 static plQtInputWidget* s_pWidget;
19
20private Q_SLOTS:
21 virtual void on_ButtonClearSlots_clicked();
22 virtual void on_ButtonClearActions_clicked();
23
24public:
25 static void ProcessTelemetry(void* pUnuseed);
26
27 void ResetStats();
28
29private:
30 void ClearSlots();
31 void ClearActions();
32
33 void UpdateSlotTable(bool bRecreate);
34 void UpdateActionTable(bool bRecreate);
35
36 struct SlotData
37 {
38 plInt32 m_iTableRow;
39 plUInt16 m_uiSlotFlags;
40 plKeyState::Enum m_KeyState;
41 float m_fValue;
42 float m_fDeadZone;
43
44 SlotData()
45 {
46 m_iTableRow = -1;
47 m_uiSlotFlags = 0;
48 m_KeyState = plKeyState::Up;
49 m_fValue = 0;
50 m_fDeadZone = 0;
51 }
52 };
53
54 plMap<plString, SlotData> m_InputSlots;
55
56 struct ActionData
57 {
58 plInt32 m_iTableRow;
59 plKeyState::Enum m_KeyState;
60 float m_fValue;
61 bool m_bUseTimeScaling;
62
63 plString m_sTrigger[plInputActionConfig::MaxInputSlotAlternatives];
64 float m_fTriggerScaling[plInputActionConfig::MaxInputSlotAlternatives];
65
66 ActionData()
67 {
68 m_iTableRow = -1;
69 m_KeyState = plKeyState::Up;
70 m_fValue = 0;
71 m_bUseTimeScaling = false;
72 }
73 };
74
75 plMap<plString, ActionData> m_InputActions;
76};
77
Definition Map.h:408
Definition InputWidget.moc.h:11
Enum
Definition Declarations.h:12
@ Up
Key is not pressed at all.
Definition Declarations.h:13