2008-07-23 15:20:36 +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/
2008-07-23 16:20:12 +00:00
2008-07-23 15:20:36 +00:00
# include "ConfigDlg.h"
2008-07-24 13:40:07 +00:00
# include "../Globals.h"
2008-07-23 15:20:36 +00:00
BEGIN_EVENT_TABLE ( ConfigDialog , wxDialog )
EVT_CLOSE ( ConfigDialog : : OnClose )
EVT_ACTIVATE ( ConfigDialog : : ConfigDialogActivate )
EVT_BUTTON ( ID_CLOSE , ConfigDialog : : OKClick )
EVT_BUTTON ( ID_APPLY , ConfigDialog : : OKClick )
EVT_BUTTON ( ID_OK , ConfigDialog : : OKClick )
EVT_BUTTON ( ID_BROWSE , ConfigDialog : : BrowseClick )
END_EVENT_TABLE ( )
ConfigDialog : : ConfigDialog ( wxWindow * parent , wxWindowID id , const wxString & title , const wxPoint & position , const wxSize & size , long style )
: wxDialog ( parent , id , title , position , size , style )
{
2008-07-24 13:40:07 +00:00
g_Config . Load ( ) ;
2008-07-23 15:20:36 +00:00
CreateGUIControls ( ) ;
}
ConfigDialog : : ~ ConfigDialog ( )
{
}
void ConfigDialog : : CreateGUIControls ( )
{
2008-07-24 13:40:07 +00:00
// buttons
m_OK = new wxButton ( this , ID_OK , wxT ( " OK " ) , wxPoint ( 404 , 208 ) , wxSize ( 73 , 25 ) , 0 , wxDefaultValidator , wxT ( " OK " ) ) ;
m_Apply = new wxButton ( this , ID_APPLY , wxT ( " Apply " ) , wxPoint ( 324 , 208 ) , wxSize ( 73 , 25 ) , 0 , wxDefaultValidator , wxT ( " Apply " ) ) ;
m_Close = new wxButton ( this , ID_CLOSE , wxT ( " Close " ) , wxPoint ( 244 , 208 ) , wxSize ( 73 , 25 ) , 0 , wxDefaultValidator , wxT ( " Close " ) ) ;
2008-07-23 15:20:36 +00:00
2008-07-24 13:40:07 +00:00
// notebook
m_Notebook = new wxNotebook ( this , ID_PAGEENHANCEMENTS , wxPoint ( 0 , 0 ) , wxSize ( 484 , 198 ) ) ;
2008-07-23 15:20:36 +00:00
m_PageVideo = new wxPanel ( m_Notebook , ID_PAGEVIDEO , wxPoint ( 4 , 24 ) , wxSize ( 476 , 170 ) ) ;
m_Notebook - > AddPage ( m_PageVideo , wxT ( " Video " ) ) ;
m_PageEnhancements = new wxPanel ( m_Notebook , ID_WXNOTEBOOKPAGE3 , wxPoint ( 4 , 24 ) , wxSize ( 476 , 170 ) ) ;
m_Notebook - > AddPage ( m_PageEnhancements , wxT ( " Enhancements " ) ) ;
m_PageAdvanced = new wxPanel ( m_Notebook , ID_PAGEADVANCED , wxPoint ( 4 , 24 ) , wxSize ( 476 , 170 ) ) ;
m_Notebook - > AddPage ( m_PageAdvanced , wxT ( " Advanced " ) ) ;
m_Fullscreen = new wxCheckBox ( m_PageVideo , ID_FULLSCREEN , wxT ( " Fullscreen " ) , wxPoint ( 12 , 16 ) , wxSize ( 137 , 25 ) , 0 , wxDefaultValidator , wxT ( " Fullscreen " ) ) ;
2008-07-24 13:40:07 +00:00
m_Fullscreen - > SetValue ( g_Config . bFullscreen ) ;
2008-07-23 15:20:36 +00:00
2008-07-24 13:40:07 +00:00
// page1
2008-07-23 15:20:36 +00:00
m_RenderToMainWindow = new wxCheckBox ( m_PageVideo , ID_RENDERTOMAINWINDOW , wxT ( " Render to Main Window " ) , wxPoint ( 12 , 40 ) , wxSize ( 137 , 25 ) , 0 , wxDefaultValidator , wxT ( " RenderToMainWindow " ) ) ;
2008-07-24 13:40:07 +00:00
m_RenderToMainWindow - > SetValue ( g_Config . renderToMainframe ) ;
2008-07-23 15:20:36 +00:00
2008-07-24 13:40:07 +00:00
// all other options doesnt to anything so lets disable them
2008-07-23 15:20:36 +00:00
wxArrayString arrayStringFor_FullscreenCB ;
m_FullscreenCB = new wxComboBox ( m_PageVideo , ID_FULLSCREENCB , wxT ( " FullscreenCB " ) , wxPoint ( 132 , 72 ) , wxSize ( 121 , 21 ) , arrayStringFor_FullscreenCB , 0 , wxDefaultValidator , wxT ( " FullscreenCB " ) ) ;
2008-07-24 13:40:07 +00:00
m_FullscreenCB - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
wxArrayString arrayStringFor_WindowResolutionCB ;
m_WindowResolutionCB = new wxComboBox ( m_PageVideo , ID_WINDOWRESOLUTIONCB , wxT ( " WxComboBox1 " ) , wxPoint ( 132 , 104 ) , wxSize ( 121 , 21 ) , arrayStringFor_WindowResolutionCB , 0 , wxDefaultValidator , wxT ( " WindowResolutionCB " ) ) ;
2008-07-24 13:40:07 +00:00
m_WindowResolutionCB - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
wxStaticText * WxStaticText1 = new wxStaticText ( m_PageVideo , ID_WXSTATICTEXT1 , wxT ( " Windowed Resolution: " ) , wxPoint ( 12 , 104 ) , wxDefaultSize , 0 , wxT ( " WxStaticText1 " ) ) ;
wxStaticText * WxStaticText2 = new wxStaticText ( m_PageVideo , ID_WXSTATICTEXT2 , wxT ( " Fullscreen Video Mode: " ) , wxPoint ( 12 , 72 ) , wxDefaultSize , 0 , wxT ( " WxStaticText2 " ) ) ;
wxArrayString arrayStringFor_AliasModeCB ;
m_AliasModeCB = new wxComboBox ( m_PageVideo , ID_ALIASMODECB , wxT ( " WxComboBox1 " ) , wxPoint ( 132 , 136 ) , wxSize ( 121 , 21 ) , arrayStringFor_AliasModeCB , 0 , wxDefaultValidator , wxT ( " AliasModeCB " ) ) ;
2008-07-24 13:40:07 +00:00
m_AliasModeCB - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
wxStaticText * WxStaticText3 = new wxStaticText ( m_PageVideo , ID_WXSTATICTEXT3 , wxT ( " Alias Mode: " ) , wxPoint ( 12 , 136 ) , wxDefaultSize , 0 , wxT ( " WxStaticText3 " ) ) ;
m_ForceFiltering = new wxCheckBox ( m_PageEnhancements , ID_FORCEFILTERING , wxT ( " Force bi/trlinear (May cause small glitches) " ) , wxPoint ( 12 , 16 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " ForceFiltering " ) ) ;
2008-07-24 13:40:07 +00:00
m_ForceFiltering - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_ForceAnsitropy = new wxCheckBox ( m_PageEnhancements , ID_FORCEANSITROPY , wxT ( " Force maximum ansitropy filtering " ) , wxPoint ( 12 , 48 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " ForceAnsitropy " ) ) ;
2008-07-24 13:40:07 +00:00
m_ForceAnsitropy - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_Wireframe = new wxCheckBox ( m_PageAdvanced , ID_WIREFRAME , wxT ( " Wireframe " ) , wxPoint ( 12 , 16 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " Wireframe " ) ) ;
2008-07-24 13:40:07 +00:00
m_Wireframe - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_DumpTextures = new wxCheckBox ( m_PageAdvanced , ID_DUMPTEXTURES , wxT ( " Dump texture to: " ) , wxPoint ( 12 , 88 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " DumpTextures " ) ) ;
2008-07-24 13:40:07 +00:00
m_DumpTextures - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_Statistics = new wxCheckBox ( m_PageAdvanced , ID_STATISTICS , wxT ( " Overlay some statistics " ) , wxPoint ( 12 , 40 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " Statistics " ) ) ;
2008-07-24 13:40:07 +00:00
m_Statistics - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_ShaderErrors = new wxCheckBox ( m_PageAdvanced , ID_SHADERERRORS , wxT ( " Show shader compilation issues " ) , wxPoint ( 12 , 64 ) , wxSize ( 233 , 25 ) , 0 , wxDefaultValidator , wxT ( " ShaderErrors " ) ) ;
2008-07-24 13:40:07 +00:00
m_ShaderErrors - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_Browse = new wxButton ( m_PageAdvanced , ID_BROWSE , wxT ( " Browse " ) , wxPoint ( 156 , 136 ) , wxSize ( 65 , 25 ) , 0 , wxDefaultValidator , wxT ( " Browse " ) ) ;
2008-07-24 13:40:07 +00:00
m_Browse - > Enable ( false ) ;
2008-07-23 15:20:36 +00:00
m_TexturePath = new wxTextCtrl ( m_PageAdvanced , ID_TEXTUREPATH , wxT ( " TexturePath " ) , wxPoint ( 20 , 136 ) , wxSize ( 129 , 25 ) , 0 , wxDefaultValidator , wxT ( " TexturePath " ) ) ;
m_TexturePath - > Enable ( false ) ;
SetTitle ( wxT ( " Opengl Plugin Configuration " ) ) ;
SetIcon ( wxNullIcon ) ;
SetSize ( 8 , 8 , 492 , 273 ) ;
Center ( ) ;
}
void ConfigDialog : : OnClose ( wxCloseEvent & /*event*/ )
{
EndModal ( 0 ) ;
}
void ConfigDialog : : ConfigDialogActivate ( wxActivateEvent & event )
{
// init dialog elements from config
}
void ConfigDialog : : BrowseClick ( wxCommandEvent & event )
{
// browse for folder
}
void ConfigDialog : : OKClick ( wxCommandEvent & event )
{
if ( ( event . GetId ( ) = = ID_APPLY ) | |
( event . GetId ( ) = = ID_OK ) )
{
2008-07-24 13:40:07 +00:00
g_Config . renderToMainframe = m_RenderToMainWindow - > GetValue ( ) ;
g_Config . bFullscreen = m_Fullscreen - > GetValue ( ) ;
g_Config . Save ( ) ;
2008-07-23 15:20:36 +00:00
}
if ( ( event . GetId ( ) = = ID_CLOSE ) | |
( event . GetId ( ) = = ID_OK ) )
{
2008-07-24 13:40:07 +00:00
Close ( ) ;
2008-07-23 15:20:36 +00:00
}
}