Load dialogs the proper way
This commit is contained in:
parent
07eb6564e0
commit
1c76277272
|
@ -1970,10 +1970,17 @@ void CheckThrowXRCError(T pointer,std::string name)
|
|||
wxDialog * MainFrame::LoadXRCDialog(const char * name)
|
||||
{
|
||||
wxString dname = wxString::FromUTF8(name);
|
||||
/* using this instead of LoadDialog() allows non-wxDialog classes that */
|
||||
/* are derived from wxDialog (like wxPropertySheetDialog) to work */
|
||||
wxDialog * dialog = wxXmlResource::Get()->LoadDialog(this, dname);
|
||||
CheckThrowXRCError(dialog,name);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
wxPropertySheetDialog * MainFrame::LoadXRCropertySheetDialog(const char * name)
|
||||
{
|
||||
wxString dname = wxString::FromUTF8(name);
|
||||
//Seems like the only way to do this
|
||||
wxObject * anObject = wxXmlResource::Get()->LoadObject(this, dname, wxEmptyString);
|
||||
wxDialog * dialog = wxDynamicCast(anObject, wxDialog);
|
||||
wxPropertySheetDialog * dialog = wxDynamicCast(anObject, wxPropertySheetDialog);
|
||||
CheckThrowXRCError(dialog,name);
|
||||
|
||||
/* wx-2.9.1 doesn't set parent for propertysheetdialogs for some reason */
|
||||
|
@ -2633,7 +2640,7 @@ bool MainFrame::InitMore(void)
|
|||
getfld(fp, n, wxFilePickerCtrl); \
|
||||
fp->SetValidator(wxFileDirPickerValidator(&o)); \
|
||||
} while(0)
|
||||
d=LoadXRCDialog("GameBoyConfig");
|
||||
d=LoadXRCropertySheetDialog("GameBoyConfig");
|
||||
{
|
||||
/// System and Peripherals
|
||||
getch("System", gbEmulatorType);
|
||||
|
@ -2712,7 +2719,7 @@ bool MainFrame::InitMore(void)
|
|||
}
|
||||
}
|
||||
|
||||
d=LoadXRCDialog("GameBoyAdvanceConfig");
|
||||
d=LoadXRCropertySheetDialog("GameBoyAdvanceConfig");
|
||||
{
|
||||
/// System and peripherals
|
||||
getch("SaveType", gopts.save_type);
|
||||
|
@ -2764,7 +2771,7 @@ bool MainFrame::InitMore(void)
|
|||
vfld("OvMirroring", wxChoice);
|
||||
}
|
||||
|
||||
d=LoadXRCDialog("DisplayConfig");
|
||||
d=LoadXRCropertySheetDialog("DisplayConfig");
|
||||
{
|
||||
/// On-Screen Display
|
||||
getch("SpeedIndicator", gopts.osd_speed);
|
||||
|
@ -2833,7 +2840,7 @@ bool MainFrame::InitMore(void)
|
|||
getch("IFB", gopts.ifb);
|
||||
}
|
||||
|
||||
d=LoadXRCDialog("SoundConfig");
|
||||
d=LoadXRCropertySheetDialog("SoundConfig");
|
||||
wxSlider *sl;
|
||||
#define getsl(n, o) do { \
|
||||
getfld(sl, n, wxSlider); \
|
||||
|
@ -2923,7 +2930,7 @@ bool MainFrame::InitMore(void)
|
|||
getdp("Recordings", gopts.recording_dir);
|
||||
}
|
||||
|
||||
d=LoadXRCDialog("JoypadConfig");
|
||||
d=LoadXRCropertySheetDialog("JoypadConfig");
|
||||
wxFarRadio *r = 0;
|
||||
for(int i = 0; i < 4; i++) {
|
||||
wxString pn;
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#ifndef WX_WXVBAM_H
|
||||
#define WX_WXVBAM_H
|
||||
|
||||
#include <list>
|
||||
#include <wx/propdlg.h>
|
||||
|
||||
#include "wxhead.h"
|
||||
#include "wx/sdljoy.h"
|
||||
#include "wx/joyedit.h"
|
||||
|
@ -9,7 +12,6 @@
|
|||
#ifndef NO_FFMPEG
|
||||
#include "../common/ffmpeg.h"
|
||||
#endif
|
||||
#include <list>
|
||||
|
||||
/* yeah, they aren't needed globally, but I'm too lazy to limit where needed */
|
||||
#include "../System.h"
|
||||
|
@ -243,8 +245,10 @@ private:
|
|||
void OnDropFile(wxDropFilesEvent&);
|
||||
// pop up menu in fullscreen mode
|
||||
void OnMenu(wxContextMenuEvent &);
|
||||
// Load a named wxDialog from the XRC file (also loads wxPropertySheetDialog)
|
||||
// Load a named wxDialog from the XRC file
|
||||
wxDialog * LoadXRCDialog(const char * name);
|
||||
// Load a named wxPropertySheetDialog from the XRC file
|
||||
wxPropertySheetDialog * LoadXRCropertySheetDialog(const char * name);
|
||||
// Returns the link mode to set according to the options
|
||||
LinkMode getOptionsLinkMode();
|
||||
#include "cmdhandlers.h"
|
||||
|
|
Loading…
Reference in New Issue