// Copyright 2017 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include #include class MappingWindow; class QDialogButtonBox; class QCheckBox; class QComboBox; class QHBoxLayout; class QGridLayout; 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(); void OnWiimoteRefreshPressed(); 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 std::array m_gc_mappings; QGroupBox* m_gc_box; QGridLayout* m_gc_layout; std::array m_gc_controller_boxes; std::array m_gc_buttons; std::array m_gc_groups; // Wii Remote std::array m_wiimote_mappings; QGroupBox* m_wiimote_box; QGridLayout* m_wiimote_layout; std::array m_wiimote_labels; std::array m_wiimote_boxes; std::array m_wiimote_buttons; std::array m_wiimote_groups; std::array 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; QPushButton* m_wiimote_refresh; // Advanced QGroupBox* m_advanced_box; QHBoxLayout* m_advanced_layout; QCheckBox* m_advanced_bg_input; };