]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_radbx.cpp
don't overwrite the existing local file if we failed to open it but it does exist
[wxWidgets.git] / src / xrc / xh_radbx.cpp
index 9beea7ba9dfeea4cfe5b15af180d7552e51e2cb9..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()
@@ -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 <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;
     }