X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9366ec4e1e8564cad0745fd727ffe15105e0a495..bcfe86f0b5aae2ea3cd6c5e9a202d19bdbb21b25:/src/xrc/xh_odcombo.cpp diff --git a/src/xrc/xh_odcombo.cpp b/src/xrc/xh_odcombo.cpp index ffd08373ef..8ee6ebc034 100644 --- a/src/xrc/xh_odcombo.cpp +++ b/src/xrc/xh_odcombo.cpp @@ -26,6 +26,8 @@ #include "wx/odcombo.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxOwnerDrawnComboBoxXmlHandler, wxXmlResourceHandler) wxOwnerDrawnComboBoxXmlHandler::wxOwnerDrawnComboBoxXmlHandler() @@ -52,14 +54,6 @@ wxObject *wxOwnerDrawnComboBoxXmlHandler::DoCreateResource() // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); - wxString *strings = (wxString *) NULL; - if (strList.GetCount() > 0) - { - strings = new wxString[strList.GetCount()]; - int count = strList.GetCount(); - for (int i = 0; i < count; i++) - strings[i]=strList[i]; - } XRC_MAKE_INSTANCE(control, wxOwnerDrawnComboBox) @@ -67,24 +61,21 @@ wxObject *wxOwnerDrawnComboBoxXmlHandler::DoCreateResource() GetID(), GetText(wxT("value")), GetPosition(), GetSize(), - strList.GetCount(), - strings, + strList, GetStyle(), wxDefaultValidator, GetName()); - wxSize ButtonSize=GetSize(wxT("buttonsize")); + wxSize sizeBtn=GetSize(wxT("buttonsize")); - if (ButtonSize != wxDefaultSize) - control->SetButtonPosition(ButtonSize.GetWidth(), ButtonSize.GetHeight()); + if (sizeBtn != wxDefaultSize) + control->SetButtonPosition(sizeBtn.GetWidth(), sizeBtn.GetHeight()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); - if (strings != NULL) - delete[] strings; strList.Clear(); // dump the strings return control; @@ -97,7 +88,7 @@ wxObject *wxOwnerDrawnComboBoxXmlHandler::DoCreateResource() // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) - str = wxGetTranslation(str); + str = wxGetTranslation(str, m_resource->GetDomain()); strList.Add(str); return NULL; @@ -106,7 +97,7 @@ wxObject *wxOwnerDrawnComboBoxXmlHandler::DoCreateResource() bool wxOwnerDrawnComboBoxXmlHandler::CanHandle(wxXmlNode *node) { -#if wxABI_VERSION >= 20700 +#if wxCHECK_VERSION(2,7,0) return (IsOfClass(node, wxT("wxOwnerDrawnComboBox")) || (m_insideBox && node->GetName() == wxT("item"))); @@ -114,12 +105,12 @@ bool wxOwnerDrawnComboBoxXmlHandler::CanHandle(wxXmlNode *node) #else // Avoid GCC bug - this fails on certain GCC 3.3 and 3.4 builds for an unknown reason -// it is believed to be related to the fact IsOfClass is inline, and node->GetPropVal +// it is believed to be related to the fact IsOfClass is inline, and node->GetAttribute // gets passed an invalid "this" pointer. On 2.7, the function is out of line, so the // above should work fine. This code is left in here so this file can easily be used // in a version backported to 2.6. All we are doing here is expanding the macro - bool fOurClass = node->GetPropVal(wxT("class"), wxEmptyString) == wxT("wxOwnerDrawnComboBox"); + bool fOurClass = node->GetAttribute(wxT("class"), wxEmptyString) == wxT("wxOwnerDrawnComboBox"); return (fOurClass || (m_insideBox && node->GetName() == wxT("item"))); #endif