From 88a2dafd7070b973234998cc8b2ddb4d1f0977d8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 7 Oct 2000 21:52:01 +0000 Subject: [PATCH] fixed use of wxMenuItem::SetBitmap git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/src/xml/xh_menu.cpp | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/contrib/src/xml/xh_menu.cpp b/contrib/src/xml/xh_menu.cpp index bb3693da5b..906e675a5d 100644 --- a/contrib/src/xml/xh_menu.cpp +++ b/contrib/src/xml/xh_menu.cpp @@ -33,7 +33,7 @@ wxMenuXmlHandler::wxMenuXmlHandler() : wxObject *wxMenuXmlHandler::DoCreateResource() { - if (m_Node->GetName() == _T("menu")) + if (m_Class == _T("wxMenu")) { wxMenu *menu = new wxMenu(GetStyle()); wxString title = GetText(_T("label")); @@ -61,30 +61,25 @@ wxObject *wxMenuXmlHandler::DoCreateResource() { wxMenu *p_menu = wxDynamicCast(m_Parent, wxMenu); - if (m_Node->GetName() == _T("separator")) + if (m_Class == _T("separator")) p_menu->AppendSeparator(); - else if (m_Node->GetName() == _T("break")) + else if (m_Class == _T("break")) p_menu->Break(); - else /*menuitem*/ + else /*wxMenuItem*/ { int id = GetID(); bool checkable = GetBool(_T("checkable")); - p_menu->Append(id, GetText(_T("label")), - GetText(_T("help")), checkable); - if (id != -1) - { - p_menu->Enable(id, GetBool(_T("enabled"), TRUE)); - if (checkable) p_menu->Check(id, GetBool(_T("checked"))); - + wxMenuItem *mitem = new wxMenuItem(p_menu, id, GetText(_T("label")), + GetText(_T("help")), checkable); + #if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__) if (HasParam(_T("bitmap"))) - { - wxMenuItem *mitem = p_menu->FindItem(id); mitem->SetBitmap(GetBitmap(_T("bitmap"))); - } #endif - } + p_menu->Append(mitem); + mitem->Enable(GetBool(_T("enabled"), TRUE)); + if (checkable) mitem->Check(GetBool(_T("checked"))); } return NULL; } @@ -94,11 +89,11 @@ wxObject *wxMenuXmlHandler::DoCreateResource() bool wxMenuXmlHandler::CanHandle(wxXmlNode *node) { - return node->GetName() == _T("menu") || + return IsOfClass(node, _T("wxMenu")) || (m_InsideMenu && - (node->GetName() == _T("menuitem") || - node->GetName() == _T("break") || - node->GetName() == _T("separator")) + (IsOfClass(node, _T("wxMenuItem")) || + IsOfClass(node, _T("break")) || + IsOfClass(node, _T("separator"))) ); } @@ -130,6 +125,6 @@ wxObject *wxMenuBarXmlHandler::DoCreateResource() bool wxMenuBarXmlHandler::CanHandle(wxXmlNode *node) { - return node->GetName() == _T("menubar"); + return IsOfClass(node, _T("wxMenuBar")); } -- 2.45.2