// Licence: wxWindows licence
//-----------------------------------------------------------------------------
-//-----------------------------------------------------------------------------
-// GCC implementation
-//-----------------------------------------------------------------------------
-
-#ifdef __GNUG__
- #pragma implementation "myframe.h"
-#endif
-
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
#include "wx/wx.h"
#endif
+#include "wx/sysopt.h"
+
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
// 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)
// 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
- // Give the frame a optional statusbar. The '1' just means one field.
+ // Give the frame an optional statusbar. The '1' just means one field.
// A gripsizer will automatically get put on into the corner, if that
// is the normal OS behaviour for frames on that platform. Helptext
// for menu items and toolbar tools will automatically get displayed
// 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.
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();
}
#if wxUSE_LISTCTRL
// There is no data in the listctrl. This will add some columns
- // and some data. You don't need use any pointers
+ // and some data. You don't need to use any pointers
// at all to manipulate the controls, just simply use the XRCCTL(...) macros.
// "controls_treectrl" is the name of this control in the XRC.
// (1) Insert a column, with the column header of "Name"