X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5d6954b87d910969226ffade9714db7429211f3..8f71aafa07841d85a82ba70a39a15dfc22609295:/src/xrc/xh_menu.cpp diff --git a/src/xrc/xh_menu.cpp b/src/xrc/xh_menu.cpp index 709f4e2381..bfa9ed1644 100644 --- a/src/xrc/xh_menu.cpp +++ b/src/xrc/xh_menu.cpp @@ -21,16 +21,15 @@ #include "wx/xrc/xh_menu.h" #include "wx/menu.h" +#include "wx/frame.h" wxMenuXmlHandler::wxMenuXmlHandler() : wxXmlResourceHandler(), m_insideMenu(FALSE) { - ADD_STYLE(wxMENU_TEAROFF); + XRC_ADD_STYLE(wxMENU_TEAROFF); } - - wxObject *wxMenuXmlHandler::DoCreateResource() { if (m_class == wxT("wxMenu")) @@ -70,7 +69,7 @@ wxObject *wxMenuXmlHandler::DoCreateResource() int id = GetID(); bool checkable = GetBool(wxT("checkable")); wxString label = GetText(wxT("label")); - wxString accel = GetText(wxT("accel")); + wxString accel = GetText(wxT("accel"), FALSE); wxString fullLabel = label; if (!accel.IsEmpty()) fullLabel << wxT("\t") << accel; @@ -102,27 +101,23 @@ bool wxMenuXmlHandler::CanHandle(wxXmlNode *node) ); } - - - - - - - - - - wxMenuBarXmlHandler::wxMenuBarXmlHandler() : wxXmlResourceHandler() { - ADD_STYLE(wxMB_DOCKABLE); + XRC_ADD_STYLE(wxMB_DOCKABLE); } - - wxObject *wxMenuBarXmlHandler::DoCreateResource() { wxMenuBar *menubar = new wxMenuBar(GetStyle()); CreateChildren(menubar); + + if (m_parentAsWindow) + { + wxFrame *parentFrame = wxDynamicCast(m_parent, wxFrame); + if (parentFrame) + parentFrame->SetMenuBar(menubar); + } + return menubar; } @@ -132,4 +127,3 @@ bool wxMenuBarXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxMenuBar")); } -