From 60982deac8747c0572be62e1de56139a5cd581df Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 13 Jul 2005 18:05:00 +0000 Subject: [PATCH] added test for wxXmlResource::Unload() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/xrc/myframe.cpp | 25 ++++++++++++++++++++++--- samples/xrc/myframe.h | 2 ++ samples/xrc/rc/menu.xrc | 8 ++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/samples/xrc/myframe.cpp b/samples/xrc/myframe.cpp index a12311059e..fc8a812c68 100644 --- a/samples/xrc/myframe.cpp +++ b/samples/xrc/myframe.cpp @@ -82,6 +82,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) @@ -136,6 +139,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 +168,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(); } diff --git a/samples/xrc/myframe.h b/samples/xrc/myframe.h index eb5b2540e0..3a144d44f6 100644 --- a/samples/xrc/myframe.h +++ b/samples/xrc/myframe.h @@ -44,6 +44,8 @@ public: private: // Event handlers (these functions should _not_ be virtual) + void OnUnloadResourceMenuCommand(wxCommandEvent& event); + void OnReloadResourceMenuCommand(wxCommandEvent& event); void OnExitToolOrMenuCommand(wxCommandEvent& event); void OnAboutToolOrMenuCommand(wxCommandEvent& event); void OnNonDerivedDialogToolOrMenuCommand(wxCommandEvent& event); diff --git a/samples/xrc/rc/menu.xrc b/samples/xrc/rc/menu.xrc index 1257cc72a0..bc8ecc0e89 100644 --- a/samples/xrc/rc/menu.xrc +++ b/samples/xrc/rc/menu.xrc @@ -7,6 +7,14 @@ + + + Unload basic dialog resource + + + + Reload basic dialog resource + Exit this application -- 2.45.2