]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_radbx.cpp
use WX_ASSERT_STR/SIZET_EQUAL instead of CPPUNIT_ASSERT_EQUAL with casts
[wxWidgets.git] / src / xrc / xh_radbx.cpp
index 83be9a2d291f93d00e894e871d76fc5123432090..dbbf54b5e450b55e82489f4f3bb01d3f605030f0 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/intl.h"
+    #include "wx/radiobox.h"
 #endif
 
-#include "wx/radiobox.h"
-
 IMPLEMENT_DYNAMIC_CLASS(wxRadioBoxXmlHandler, wxXmlResourceHandler)
 
 wxRadioBoxXmlHandler::wxRadioBoxXmlHandler()
@@ -81,37 +80,53 @@ wxObject *wxRadioBoxXmlHandler::DoCreateResource()
 
         SetupWindow(control);
 
-#if wxUSE_TOOLTIPS
         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 <item tooltip="...">Label</item> constructs here
+        // we handle handle <item tooltip="..." helptext="...">Label</item> 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;
     }