From 52c60628fad3afc4aac4953dbce53b6cc75110d7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 3 Feb 2024 19:26:53 +0100 Subject: [PATCH] Don't use wxXmlNode directly in wxPropertyGridXmlHandler Use wxXmlResourceHandler functions such as GetNodeContent(), GetNodeName() and GetNodeAttribute() instead, which are defined in the core library and so don't create a dependency on wxxrc. --- src/xrc/xh_propgrid.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/xrc/xh_propgrid.cpp b/src/xrc/xh_propgrid.cpp index a4af1b32a2..443ff1210e 100644 --- a/src/xrc/xh_propgrid.cpp +++ b/src/xrc/xh_propgrid.cpp @@ -17,8 +17,6 @@ #include "wx/propgrid/manager.h" #include "wx/propgrid/propgrid.h" -#include "wx/xml/xml.h" - #ifndef WX_PRECOMP #include "wx/intl.h" #endif @@ -109,12 +107,12 @@ void wxPropertyGridXmlHandler::HandlePropertyGridParams() wxObject *wxPropertyGridXmlHandler::DoCreateResource() { const wxXmlNode* node = m_node; - wxString nodeName = node->GetName(); + wxString nodeName = GetNodeName(node); if ( nodeName == wxT("property") ) { // property - wxString clas = node->GetAttribute("class"); + wxString clas = GetNodeAttribute(node, "class"); wxString label; wxString sLabel(wxT("label")); @@ -141,8 +139,8 @@ wxObject *wxPropertyGridXmlHandler::DoCreateResource() wxPGChoices choices; if ( choicesNode ) { - choices = m_populator->ParseChoices( choicesNode->GetNodeContent(), - choicesNode->GetAttribute("id")); + choices = m_populator->ParseChoices( GetNodeContent(choicesNode), + GetNodeAttribute(choicesNode, "id")); } wxPGProperty* property = m_populator->Add( clas, label, name, pValue, &choices ); @@ -172,15 +170,15 @@ wxObject *wxPropertyGridXmlHandler::DoCreateResource() else if ( nodeName == wxT("attribute") ) { // attribute - wxString s1 = node->GetAttribute("name"); + wxString s1 = GetNodeAttribute(node, "name"); if ( s1.length() ) { - wxPGPropertyValuesFlags flags = node->GetAttribute("recurse") == "1" + wxPGPropertyValuesFlags flags = GetNodeAttribute(node, "recurse") == "1" ? wxPGPropertyValuesFlags::Recurse : wxPGPropertyValuesFlags::DontRecurse; - m_populator->AddAttribute( s1, node->GetAttribute("type"), - node->GetNodeContent(), flags ); + m_populator->AddAttribute( s1, GetNodeAttribute(node, "type"), + GetNodeContent(node), flags ); } } else if( m_class == wxT("wxPropertyGrid")) @@ -210,20 +208,20 @@ wxObject *wxPropertyGridXmlHandler::DoCreateResource() // // Add choices list outside of a property - m_populator->ParseChoices( node->GetNodeContent(), - node->GetAttribute("id")); + m_populator->ParseChoices( GetNodeContent(node), + GetNodeAttribute(node, "id")); } else if ( nodeName == wxT("splitterpos") ) { // splitterpos wxASSERT(m_populator); - wxString sIndex = node->GetAttribute("index"); + wxString sIndex = GetNodeAttribute(node, "index"); long index; if ( !sIndex.ToLong(&index, 10) ) index = 0; - wxString s = node->GetNodeContent(); + wxString s = GetNodeContent(node); long pos; if ( wxPropertyGridPopulator::ToLongPCT(s, &pos, m_pg->GetClientSize().x) ) m_populator->GetState()->DoSetSplitter( pos, index ); @@ -278,7 +276,7 @@ wxObject *wxPropertyGridXmlHandler::DoCreateResource() bool wxPropertyGridXmlHandler::CanHandle(wxXmlNode *node) { - wxString name = node->GetName(); + const wxString name = GetNodeName(node); return ( (