X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/43e8916ff3fd271e55c9daa6660cb8ea5ff7efe6..f2c88494b6978bee502f4c856ba9dc7e3b7c3954:/samples/xrc/myframe.cpp?ds=sidebyside diff --git a/samples/xrc/myframe.cpp b/samples/xrc/myframe.cpp index a12311059e..29296978d9 100644 --- a/samples/xrc/myframe.cpp +++ b/samples/xrc/myframe.cpp @@ -7,14 +7,6 @@ // Licence: wxWindows licence //----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// GCC implementation -//----------------------------------------------------------------------------- - -#ifdef __GNUG__ - #pragma implementation "myframe.h" -#endif - //----------------------------------------------------------------------------- // Standard wxWidgets headers //----------------------------------------------------------------------------- @@ -32,6 +24,8 @@ #include "wx/wx.h" #endif +#include "wx/sysopt.h" + //----------------------------------------------------------------------------- // Header of this .cpp file //----------------------------------------------------------------------------- @@ -82,6 +76,9 @@ // ID name to help new users emphasize this point which is often overlooked // when starting out with wxWidgets. BEGIN_EVENT_TABLE(MyFrame, wxFrame) + EVT_MENU(XRCID("unload_resource_menuitem"), MyFrame::OnUnloadResourceMenuCommand) + EVT_MENU(XRCID("reload_resource_menuitem"), MyFrame::OnReloadResourceMenuCommand) + EVT_MENU(XRCID("exit_tool_or_menuitem"), MyFrame::OnExitToolOrMenuCommand) EVT_MENU(XRCID("exit_tool_or_menuitem"), MyFrame::OnExitToolOrMenuCommand) EVT_MENU(XRCID("non_derived_dialog_tool_or_menuitem"), MyFrame::OnNonDerivedDialogToolOrMenuCommand) EVT_MENU(XRCID("derived_tool_or_menuitem"), MyFrame::OnDerivedDialogToolOrMenuCommand) @@ -120,6 +117,7 @@ MyFrame::MyFrame(wxWindow* parent) // NOTE: For toolbars you currently should do it exactly like this. // With toolbars, you currently can't create one, and set it later. It // needs to be all in one step. + wxSystemOptions::SetOption ( wxT("msw.remap"), 0 ); SetToolBar(wxXmlResource::Get()->LoadToolBar(this, wxT("main_toolbar"))); #if wxUSE_STATUSBAR @@ -136,6 +134,23 @@ MyFrame::MyFrame(wxWindow* parent) // Private methods //----------------------------------------------------------------------------- +void MyFrame::OnUnloadResourceMenuCommand(wxCommandEvent& WXUNUSED(event)) +{ + if ( wxXmlResource::Get()->Unload(wxT("rc/basicdlg.xrc")) ) + wxLogMessage(_T("Basic dialog resource has now been unloaded, you ") + _T("won't be able to use it before loading it again")); + else + wxLogWarning(_T("Failed to unload basic dialog resource")); +} + +void MyFrame::OnReloadResourceMenuCommand(wxCommandEvent& WXUNUSED(event)) +{ + if ( wxXmlResource::Get()->Load(wxT("rc/basicdlg.xrc")) ) + wxLogStatus(_T("Basic dialog resource has been loaded.")); + else + wxLogError(_T("Failed to load basic dialog resource")); +} + void MyFrame::OnExitToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) { // true is to force the frame to close. @@ -148,9 +163,8 @@ void MyFrame::OnNonDerivedDialogToolOrMenuCommand(wxCommandEvent& WXUNUSED(event wxDialog dlg; // "non_derived_dialog" is the name of the wxDialog XRC node that should // be loaded. - wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("non_derived_dialog")); - dlg.ShowModal(); - + if ( wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("non_derived_dialog")) ) + dlg.ShowModal(); }