X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5852e62f1fe76907832ba2c7f2b4099635e44c4b..3eabbbcc5d6a3dc2395a48eeed3da4bc894f644b:/src/xrc/xh_toolb.cpp diff --git a/src/xrc/xh_toolb.cpp b/src/xrc/xh_toolb.cpp index bfe713d9ae..0c10153648 100644 --- a/src/xrc/xh_toolb.cpp +++ b/src/xrc/xh_toolb.cpp @@ -26,6 +26,8 @@ #include "wx/toolbar.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler) wxToolBarXmlHandler::wxToolBarXmlHandler() @@ -78,6 +80,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource() kind = wxITEM_CHECK; } + #if wxUSE_MENUS // check whether we have dropdown tag inside wxMenu *menu = NULL; // menu for drop down items @@ -137,11 +140,28 @@ wxObject *wxToolBarXmlHandler::DoCreateResource() if ( GetBool(wxT("disabled")) ) m_toolbar->EnableTool(GetID(), false); + + if ( GetBool(wxS("checked")) ) + { + if ( kind == wxITEM_NORMAL ) + { + ReportParamError + ( + "checked", + "only nor tools can be checked" + ); + } + else + { + m_toolbar->ToggleTool(GetID(), true); + } + } + #if wxUSE_MENUS if ( menu ) tool->SetDropdownMenu(menu); #endif - + return m_toolbar; // must return non-NULL } @@ -221,8 +241,6 @@ wxObject *wxToolBarXmlHandler::DoCreateResource() m_isInside = false; m_toolbar = NULL; - toolbar->Realize(); - if (m_parentAsWindow && !GetBool(wxT("dontattachtoframe"))) { wxFrame *parentFrame = wxDynamicCast(m_parent, wxFrame); @@ -230,6 +248,8 @@ wxObject *wxToolBarXmlHandler::DoCreateResource() parentFrame->SetToolBar(toolbar); } + toolbar->Realize(); + return toolbar; } }