| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | // 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 __CONFIGDLG_H__
 | 
					
						
							|  |  |  | #define __CONFIGDLG_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <wx/wx.h>
 | 
					
						
							|  |  |  | #include <wx/dialog.h>
 | 
					
						
							|  |  |  | #include <wx/textctrl.h>
 | 
					
						
							|  |  |  | #include <wx/button.h>
 | 
					
						
							|  |  |  | #include <wx/stattext.h>
 | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | #include <wx/choice.h>
 | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | #include <wx/checkbox.h>
 | 
					
						
							|  |  |  | #include <wx/notebook.h>
 | 
					
						
							|  |  |  | #include <wx/panel.h>
 | 
					
						
							|  |  |  | #include <wx/gbsizer.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-13 00:34:36 +00:00
										 |  |  | #if defined(HAVE_X11) && HAVE_X11
 | 
					
						
							| 
									
										
										
										
											2008-09-25 09:15:34 +00:00
										 |  |  | #include "../XInputBase.h"
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class ConfigDialog : public wxDialog | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 	public: | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 		ConfigDialog(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("Pad Configuration"), | 
					
						
							| 
									
										
										
										
											2008-12-17 04:14:24 +00:00
										 |  |  | 			const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE); | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		virtual ~ConfigDialog(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 	private: | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		DECLARE_EVENT_TABLE(); | 
					
						
							|  |  |  | 		wxNotebook *m_Notebook; | 
					
						
							|  |  |  | 		wxPanel *m_Controller[4]; | 
					
						
							| 
									
										
										
										
											2008-10-07 19:17:15 +00:00
										 |  |  | 		wxButton *m_About; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxButton *m_Close; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-10 14:02:01 +00:00
										 |  |  | 		wxStaticBoxSizer *sbDevice[4], *m_SizeXInput[4], *m_SizeRecording[4]; | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | 		wxBoxSizer *sDevice[4]; | 
					
						
							| 
									
										
										
										
											2008-10-07 19:17:15 +00:00
										 |  |  | 		wxGridBagSizer *sPage[4]; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxStaticBoxSizer *sButtons[4]; | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 		wxStaticBoxSizer *sTriggers[4]; | 
					
						
							|  |  |  | 		wxStaticBoxSizer *sModifiers[4]; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxStaticBoxSizer *sStick[4]; | 
					
						
							|  |  |  | 		wxStaticBoxSizer *sCStick[4]; | 
					
						
							|  |  |  | 		wxStaticBoxSizer *sDPad[4]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | 		wxArrayString arrayStringFor_X360Pad; | 
					
						
							|  |  |  | 		wxCheckBox *m_X360Pad[4]; | 
					
						
							|  |  |  | 		wxChoice *m_X360PadC[4]; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxCheckBox *m_Attached[4]; | 
					
						
							|  |  |  | 		wxCheckBox *m_Disable[4]; | 
					
						
							|  |  |  | 		wxCheckBox *m_Rumble[4]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-10 14:02:01 +00:00
										 |  |  | 		// Recording
 | 
					
						
							|  |  |  | 		wxCheckBox *m_CheckRecording[4]; | 
					
						
							|  |  |  | 		wxCheckBox *m_CheckPlayback[4]; | 
					
						
							|  |  |  | 		wxButton *m_BtnSaveRecording[4]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxButton *m_ButtonA[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonB[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonX[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonY[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonZ[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonStart[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonL[4]; | 
					
						
							|  |  |  | 		wxButton *m_ButtonR[4]; | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 		wxButton *m_HalfPress[4]; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		wxButton *m_StickUp[4]; | 
					
						
							|  |  |  | 		wxButton *m_StickDown[4]; | 
					
						
							|  |  |  | 		wxButton *m_StickLeft[4]; | 
					
						
							|  |  |  | 		wxButton *m_StickRight[4]; | 
					
						
							|  |  |  | 		wxButton *m_CStickUp[4]; | 
					
						
							|  |  |  | 		wxButton *m_CStickDown[4]; | 
					
						
							|  |  |  | 		wxButton *m_CStickLeft[4]; | 
					
						
							|  |  |  | 		wxButton *m_CStickRight[4]; | 
					
						
							|  |  |  | 		wxButton *m_DPadUp[4]; | 
					
						
							|  |  |  | 		wxButton *m_DPadDown[4]; | 
					
						
							|  |  |  | 		wxButton *m_DPadLeft[4]; | 
					
						
							|  |  |  | 		wxButton *m_DPadRight[4]; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		enum | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			////GUI Enum Control ID Start
 | 
					
						
							|  |  |  | 			ID_CLOSE = 1000, | 
					
						
							|  |  |  | 			ID_NOTEBOOK, | 
					
						
							|  |  |  | 			ID_CONTROLLERPAGE1, | 
					
						
							|  |  |  | 			ID_CONTROLLERPAGE2, | 
					
						
							|  |  |  | 			ID_CONTROLLERPAGE3, | 
					
						
							|  |  |  | 			ID_CONTROLLERPAGE4, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-10 14:02:01 +00:00
										 |  |  | 			// XInput pad
 | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | 			ID_X360PAD_CHOICE, | 
					
						
							|  |  |  | 			ID_X360PAD, | 
					
						
							| 
									
										
										
										
											2009-02-10 14:02:01 +00:00
										 |  |  | 			ID_RUMBLE, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			// Input recording
 | 
					
						
							|  |  |  | 			ID_RECORDING, | 
					
						
							|  |  |  | 			ID_PLAYBACK, | 
					
						
							|  |  |  | 			ID_SAVE_RECORDING, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			// General settings
 | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 			ID_ATTACHED, | 
					
						
							|  |  |  | 			ID_DISABLE, | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | 			ID_PAD_ABOUT | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		}; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		void OnClose(wxCloseEvent& event); | 
					
						
							|  |  |  | 		void CreateGUIControls(); | 
					
						
							|  |  |  | 		void OnCloseClick(wxCommandEvent& event); | 
					
						
							|  |  |  | 		void OnKeyDown(wxKeyEvent& event); | 
					
						
							| 
									
										
										
										
											2008-10-31 17:02:51 +00:00
										 |  |  | 		void ControllerSettingsChanged(wxCommandEvent& event); | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		void OnButtonClick(wxCommandEvent& event); | 
					
						
							| 
									
										
										
										
											2008-10-07 18:05:56 +00:00
										 |  |  | 		void DllAbout(wxCommandEvent& event); | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		int keyPress; | 
					
						
							| 
									
										
										
										
											2009-02-15 18:23:42 +00:00
										 |  |  | 		wxButton *ClickedButton; | 
					
						
							| 
									
										
										
										
											2008-09-25 21:44:52 +00:00
										 |  |  | 		wxString oldLabel; | 
					
						
							| 
									
										
										
										
											2008-09-23 16:14:12 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |