#ifndef WX_PRECOMP
#include "wx/frame.h"
+ #include "wx/log.h"
#include "wx/menu.h"
#endif
kind = wxITEM_RADIO;
if (GetBool(wxT("checkable")))
{
- wxASSERT_MSG( kind == wxITEM_NORMAL, _T("can't have both checkable and radio button at once") );
+ if ( kind != wxITEM_NORMAL )
+ {
+ ReportParamError
+ (
+ "checkable",
+ "menu item can't have both <radio> and <checkable> properties"
+ );
+ }
+
kind = wxITEM_CHECK;
}
wxObject *wxMenuBarXmlHandler::DoCreateResource()
{
- wxMenuBar *menubar = new wxMenuBar(GetStyle());
+ wxMenuBar *menubar = NULL;
+
+ const int style = GetStyle();
+ wxASSERT_MSG(!style || !m_instance,
+ "cannot use <style> with pre-created menubar");
+
+ if ( m_instance )
+ menubar = wxDynamicCast(m_instance, wxMenuBar);
+ if ( !menubar )
+ menubar = new wxMenuBar(style);
+
CreateChildren(menubar);
if (m_parentAsWindow)