wxObject *wxMenuXmlHandler::DoCreateResource()
{
- if (m_Node->GetName() == _T("menu"))
+ if (m_Class == wxT("wxMenu"))
{
wxMenu *menu = new wxMenu(GetStyle());
- wxString title = GetText(_T("label"));
- wxString help = GetText(_T("help"));
+ wxString title = GetText(wxT("label"));
+ wxString help = GetText(wxT("help"));
bool oldins = m_InsideMenu;
m_InsideMenu = TRUE;
{
wxMenu *p_menu = wxDynamicCast(m_Parent, wxMenu);
- if (m_Node->GetName() == _T("separator"))
+ if (m_Class == wxT("separator"))
p_menu->AppendSeparator();
- else if (m_Node->GetName() == _T("break"))
+ else if (m_Class == wxT("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")));
-
+ bool checkable = GetBool(wxT("checkable"));
+
+ wxMenuItem *mitem = new wxMenuItem(p_menu, id, GetText(wxT("label")),
+ GetText(wxT("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")));
- }
+ if (HasParam(wxT("bitmap")))
+ mitem->SetBitmap(GetBitmap(wxT("bitmap")));
#endif
- }
+ p_menu->Append(mitem);
+ mitem->Enable(GetBool(wxT("enabled"), TRUE));
+ if (checkable) mitem->Check(GetBool(wxT("checked")));
}
return NULL;
}
bool wxMenuXmlHandler::CanHandle(wxXmlNode *node)
{
- return node->GetName() == _T("menu") ||
+ return IsOfClass(node, wxT("wxMenu")) ||
(m_InsideMenu &&
- (node->GetName() == _T("menuitem") ||
- node->GetName() == _T("break") ||
- node->GetName() == _T("separator"))
+ (IsOfClass(node, wxT("wxMenuItem")) ||
+ IsOfClass(node, wxT("break")) ||
+ IsOfClass(node, wxT("separator")))
);
}
bool wxMenuBarXmlHandler::CanHandle(wxXmlNode *node)
{
- return node->GetName() == _T("menubar");
+ return IsOfClass(node, wxT("wxMenuBar"));
}