X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d64ad2c7e18f23ae0d6458a009bf832c04dde2aa..18b32eb5b56cde55d91a4796ac167d9c61180770:/src/xrc/xh_radbx.cpp diff --git a/src/xrc/xh_radbx.cpp b/src/xrc/xh_radbx.cpp index 9beea7ba9d..dbbf54b5e4 100644 --- a/src/xrc/xh_radbx.cpp +++ b/src/xrc/xh_radbx.cpp @@ -21,10 +21,9 @@ #ifndef WX_PRECOMP #include "wx/intl.h" + #include "wx/radiobox.h" #endif -#include "wx/radiobox.h" - IMPLEMENT_DYNAMIC_CLASS(wxRadioBoxXmlHandler, wxXmlResourceHandler) wxRadioBoxXmlHandler::wxRadioBoxXmlHandler() @@ -84,32 +83,50 @@ wxObject *wxRadioBoxXmlHandler::DoCreateResource() const unsigned count = labels.size(); for( unsigned i = 0; i < count; i++ ) { +#if wxUSE_TOOLTIPS if ( !tooltips[i].empty() ) control->SetItemToolTip(i, tooltips[i]); +#endif // wxUSE_TOOLTIPS +#if wxUSE_HELP + if ( helptextSpecified[i] ) + control->SetItemHelpText(i, helptexts[i]); +#endif // wxUSE_HELP } labels.clear(); // dump the strings + tooltips.clear(); // dump the tooltips + helptexts.clear(); // dump the helptexts + helptextSpecified.clear(); + return control; } else // inside the radiobox element { - // we handle Label constructs here + // we handle handle Label constructs here wxString str = GetNodeContent(m_node); + wxString tooltip; - m_node->GetPropVal(wxT("tooltip"), &tooltip); + m_node->GetAttribute(wxT("tooltip"), &tooltip); + + wxString helptext; + bool hasHelptext = m_node->GetAttribute(wxT("helptext"), &helptext); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) { - str = wxGetTranslation(str); + str = wxGetTranslation(str, m_resource->GetDomain()); if ( !tooltip.empty() ) - tooltip = wxGetTranslation(tooltip); + tooltip = wxGetTranslation(tooltip, m_resource->GetDomain()); + if ( hasHelptext ) + helptext = wxGetTranslation(helptext, m_resource->GetDomain()); } labels.push_back(str); tooltips.push_back(tooltip); + helptexts.push_back(helptext); + helptextSpecified.push_back(hasHelptext); return NULL; }