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