// Copyright (C) 2003-2008 Dolphin Project. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #ifndef __CONFIGDIALOG_h__ #define __CONFIGDIALOG_h__ #include #include #include #include #include #include #include #include #include #include #include class ConfigDialog : public wxDialog { public: ConfigDialog(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("Wii Remote Plugin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE); virtual ~ConfigDialog(); void CloseClick(wxCommandEvent& event); void UpdateGUI(); wxTimer * m_ExitTimer; void DoFlashLights(); void StartTimer(); void FlashLights(wxTimerEvent& WXUNUSED(event)) { DoFlashLights(); } bool ShutDown; int TimerCounter; //void Update(wxTimerEvent& WXUNUSED(event)); wxGauge *m_GaugeBattery, *m_GaugeRoll[2], *m_GaugeGForce[3], *m_GaugeAccel[3]; private: DECLARE_EVENT_TABLE(); wxButton *m_About; wxButton *m_Close; wxNotebook *m_Notebook; wxPanel *m_PageEmu, *m_PageReal; wxCheckBox *m_SidewaysDPad; // Emulated Wiimote settings wxCheckBox *m_WideScreen; wxCheckBox *m_NunchuckConnected, *m_ClassicControllerConnected; wxCheckBox *m_ConnectRealWiimote, *m_UseRealWiimote; // Real Wiimote settings static const int RECORDING_ROWS = 11; wxButton * m_RecordButton[RECORDING_ROWS]; wxChoice * m_RecordHotKey[RECORDING_ROWS]; wxTextCtrl * m_RecordText[RECORDING_ROWS]; wxTextCtrl * m_RecordGameText[RECORDING_ROWS]; wxTextCtrl * m_RecordSpeed[RECORDING_ROWS]; wxChoice * m_RecordPlayBackSpeed[RECORDING_ROWS]; enum { ID_CLOSE = 1000, ID_ABOUTOGL, IDTM_EXIT, IDTM_UPDATE, // Timer ID_NOTEBOOK, ID_PAGEEMU, ID_PAGEREAL, ID_SIDEWAYSDPAD, // Emulated ID_WIDESCREEN, ID_NUNCHUCKCONNECTED, ID_CLASSICCONTROLLERCONNECTED, // Real ID_CONNECT_REAL, ID_USE_REAL, IDT_STATUS, IDB_RECORD, IDC_RECORD, IDT_RECORD_TEXT, IDT_RECORD_GAMETEXT, IDT_RECORD_SPEED, IDT_RECORD_PLAYSPEED }; void OnClose(wxCloseEvent& event); void CreateGUIControls(); void AboutClick(wxCommandEvent& event); void DoConnectReal(); // Real void DoExtensionConnectedDisconnected(); // Emulated void GeneralSettingsChanged(wxCommandEvent& event); }; #endif