2017-05-09 16:49:10 +00:00
|
|
|
// Copyright 2017 Dolphin Emulator Project
|
|
|
|
// Licensed under GPLv2+
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
|
2017-05-20 15:53:17 +00:00
|
|
|
class MappingWindow;
|
2017-05-09 16:49:10 +00:00
|
|
|
class QDialogButtonBox;
|
|
|
|
class QCheckBox;
|
|
|
|
class QComboBox;
|
|
|
|
class QHBoxLayout;
|
2017-05-27 02:14:20 +00:00
|
|
|
class QGridLayout;
|
2017-05-09 16:49:10 +00:00
|
|
|
class QGroupBox;
|
|
|
|
class QLabel;
|
|
|
|
class QVBoxLayout;
|
|
|
|
class QPushButton;
|
|
|
|
class QRadioButton;
|
|
|
|
|
|
|
|
class ControllersWindow final : public QDialog
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit ControllersWindow(QWidget* parent);
|
|
|
|
void OnEmulationStateChanged(bool running);
|
|
|
|
|
|
|
|
private:
|
|
|
|
void OnWiimoteModeChanged(bool passthrough);
|
|
|
|
void OnWiimoteTypeChanged(int state);
|
|
|
|
void OnGCTypeChanged(int state);
|
|
|
|
void SaveSettings();
|
|
|
|
void UnimplementedButton();
|
|
|
|
void OnBluetoothPassthroughSyncPressed();
|
|
|
|
void OnBluetoothPassthroughResetPressed();
|
2017-05-15 03:14:45 +00:00
|
|
|
void OnWiimoteRefreshPressed();
|
2017-05-09 16:49:10 +00:00
|
|
|
void OnGCPadConfigure();
|
|
|
|
void OnWiimoteConfigure();
|
|
|
|
|
|
|
|
void CreateGamecubeLayout();
|
|
|
|
void CreateWiimoteLayout();
|
|
|
|
void CreateAdvancedLayout();
|
|
|
|
void CreateMainLayout();
|
|
|
|
void ConnectWidgets();
|
|
|
|
void LoadSettings();
|
|
|
|
|
|
|
|
// Main
|
|
|
|
QVBoxLayout* m_main_layout;
|
|
|
|
QDialogButtonBox* m_button_box;
|
|
|
|
|
|
|
|
// Gamecube
|
2017-05-20 15:53:17 +00:00
|
|
|
std::array<MappingWindow*, 4> m_gc_mappings;
|
2017-05-09 16:49:10 +00:00
|
|
|
QGroupBox* m_gc_box;
|
2017-05-27 02:14:20 +00:00
|
|
|
QGridLayout* m_gc_layout;
|
2017-05-09 16:49:10 +00:00
|
|
|
std::array<QComboBox*, 4> m_gc_controller_boxes;
|
|
|
|
std::array<QPushButton*, 4> m_gc_buttons;
|
|
|
|
std::array<QHBoxLayout*, 4> m_gc_groups;
|
|
|
|
|
|
|
|
// Wii Remote
|
2017-05-20 15:53:17 +00:00
|
|
|
std::array<MappingWindow*, 4> m_wiimote_mappings;
|
2017-05-09 16:49:10 +00:00
|
|
|
QGroupBox* m_wiimote_box;
|
2017-05-27 02:14:20 +00:00
|
|
|
QGridLayout* m_wiimote_layout;
|
2017-05-09 16:49:10 +00:00
|
|
|
std::array<QLabel*, 4> m_wiimote_labels;
|
|
|
|
std::array<QComboBox*, 4> m_wiimote_boxes;
|
|
|
|
std::array<QPushButton*, 4> m_wiimote_buttons;
|
|
|
|
std::array<QHBoxLayout*, 4> m_wiimote_groups;
|
|
|
|
std::array<QLabel*, 2> m_wiimote_pt_labels;
|
|
|
|
|
|
|
|
QRadioButton* m_wiimote_emu;
|
|
|
|
QRadioButton* m_wiimote_passthrough;
|
|
|
|
QPushButton* m_wiimote_sync;
|
|
|
|
QPushButton* m_wiimote_reset;
|
|
|
|
QCheckBox* m_wiimote_continuous_scanning;
|
|
|
|
QCheckBox* m_wiimote_real_balance_board;
|
|
|
|
QCheckBox* m_wiimote_speaker_data;
|
2017-05-15 03:14:45 +00:00
|
|
|
QPushButton* m_wiimote_refresh;
|
2017-05-09 16:49:10 +00:00
|
|
|
|
|
|
|
// Advanced
|
|
|
|
QGroupBox* m_advanced_box;
|
|
|
|
QHBoxLayout* m_advanced_layout;
|
|
|
|
QCheckBox* m_advanced_bg_input;
|
|
|
|
};
|