]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xml/xml.cpp
move default OnInternalIdle processing to wxWindowBase
[wxWidgets.git] / src / xml / xml.cpp
index 5507a4fd7746f6c0854542adc4873839105ad6be..922332b1d623ed20a0d9d770e12daea772d8c6e6 100644 (file)
@@ -30,6 +30,7 @@
 #include "wx/zstream.h"
 #include "wx/strconv.h"
 #include "wx/scopedptr.h"
+#include "wx/versioninfo.h"
 
 #include "expat.h" // from Expat
 
@@ -54,7 +55,8 @@ wxXmlNode::wxXmlNode(wxXmlNode *parent,wxXmlNodeType type,
     : m_type(type), m_name(name), m_content(content),
       m_attrs(attrs), m_parent(parent),
       m_children(NULL), m_next(next),
-      m_lineNo(lineNo)
+      m_lineNo(lineNo),
+      m_noConversion(false)
 {
     if (m_parent)
     {
@@ -74,7 +76,7 @@ wxXmlNode::wxXmlNode(wxXmlNodeType type, const wxString& name,
     : m_type(type), m_name(name), m_content(content),
       m_attrs(NULL), m_parent(NULL),
       m_children(NULL), m_next(NULL),
-      m_lineNo(lineNo)
+      m_lineNo(lineNo), m_noConversion(false)
 {}
 
 wxXmlNode::wxXmlNode(const wxXmlNode& node)
@@ -115,6 +117,7 @@ void wxXmlNode::DoCopy(const wxXmlNode& node)
     m_name = node.m_name;
     m_content = node.m_content;
     m_lineNo = node.m_lineNo;
+    m_noConversion = node.m_noConversion;
     m_children = NULL;
 
     wxXmlNode *n = node.m_children;
@@ -913,7 +916,13 @@ bool OutputNode(wxOutputStream& stream,
             break;
 
         case wxXML_TEXT_NODE:
-            rc = OutputEscapedString(stream, node->GetContent(),
+            if (node->GetNoConversion())
+            {
+                stream.Write(node->GetContent().c_str(), node->GetContent().Length());
+                rc = true;
+            }
+            else
+                rc = OutputEscapedString(stream, node->GetContent(),
                                      convMem, convFile,
                                      Escape_Text);
             break;
@@ -1027,4 +1036,12 @@ bool wxXmlDocument::Save(wxOutputStream& stream, int indentstep) const
            OutputString(stream, wxS("\n"), convMem.get(), convFile.get());
 }
 
+/*static*/ wxVersionInfo wxXmlDocument::GetLibraryVersionInfo()
+{
+    return wxVersionInfo("expat",
+                         XML_MAJOR_VERSION,
+                         XML_MINOR_VERSION,
+                         XML_MICRO_VERSION);
+}
+
 #endif // wxUSE_XML