1 // Copyright 2019 Dolphin Emulator Project
2 // Licensed under GPLv2+
3 // Refer to the license.txt file included.
4
5 #include "DolphinQt/Config/Mapping/WiimoteEmuExtensionMotionSimulation.h"
6
7 #include <QGridLayout>
8 #include <QGroupBox>
9 #include <QHBoxLayout>
10 #include <QLabel>
11
12 #include "Core/HW/Wiimote.h"
13 #include "Core/HW/WiimoteEmu/Extension/Nunchuk.h"
14 #include "Core/HW/WiimoteEmu/WiimoteEmu.h"
15
16 #include "InputCommon/InputConfig.h"
17
WiimoteEmuExtensionMotionSimulation(MappingWindow * window)18 WiimoteEmuExtensionMotionSimulation::WiimoteEmuExtensionMotionSimulation(MappingWindow* window)
19 : MappingWidget(window)
20 {
21 CreateNunchukLayout();
22 CreateMainLayout();
23 }
24
CreateNunchukLayout()25 void WiimoteEmuExtensionMotionSimulation::CreateNunchukLayout()
26 {
27 auto* layout = new QGridLayout();
28 m_nunchuk_box = new QGroupBox(tr("Nunchuk"), this);
29
30 layout->addWidget(CreateGroupBox(tr("Shake"), Wiimote::GetNunchukGroup(
31 GetPort(), WiimoteEmu::NunchukGroup::Shake)),
32 0, 0);
33 layout->addWidget(CreateGroupBox(tr("Tilt"), Wiimote::GetNunchukGroup(
34 GetPort(), WiimoteEmu::NunchukGroup::Tilt)),
35 0, 1);
36 layout->addWidget(CreateGroupBox(tr("Swing"), Wiimote::GetNunchukGroup(
37 GetPort(), WiimoteEmu::NunchukGroup::Swing)),
38 0, 2);
39
40 m_nunchuk_box->setLayout(layout);
41 }
42
CreateMainLayout()43 void WiimoteEmuExtensionMotionSimulation::CreateMainLayout()
44 {
45 m_main_layout = new QHBoxLayout();
46
47 m_main_layout->addWidget(m_nunchuk_box);
48
49 setLayout(m_main_layout);
50 }
51
LoadSettings()52 void WiimoteEmuExtensionMotionSimulation::LoadSettings()
53 {
54 Wiimote::LoadConfig();
55 }
56
SaveSettings()57 void WiimoteEmuExtensionMotionSimulation::SaveSettings()
58 {
59 Wiimote::GetConfig()->SaveConfig();
60 }
61
GetConfig()62 InputConfig* WiimoteEmuExtensionMotionSimulation::GetConfig()
63 {
64 return Wiimote::GetConfig();
65 }
66