]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_xml.i
mdi fix
[wxWidgets.git] / wxPython / src / _xml.i
index 067e69b8dcbef887037299cad891c2f2aa7c9125..6b60b96a3ab782e1fbeda729b7bc954b46c9e36e 100644 (file)
@@ -85,14 +85,14 @@ public:
 
 
     // user-friendly creation:
-    %name(XmlNodeEasy) wxXmlNode(wxXmlNodeType type, const wxString& name,
-                                  const wxString& content = wxPyEmptyString);
+    %RenameCtor(XmlNodeEasy,  wxXmlNode(wxXmlNodeType type, const wxString& name,
+                                  const wxString& content = wxPyEmptyString));
 
     void AddChild(wxXmlNode *child);
-    void InsertChild(wxXmlNode *child, wxXmlNode *before_node);
+    bool InsertChild(wxXmlNode *child, wxXmlNode *before_node);
     bool RemoveChild(wxXmlNode *child);
     void AddProperty(wxXmlProperty *prop);
-    %name(AddPropertyName) void AddProperty(const wxString& name, const wxString& value);
+    %Rename(AddPropertyName,  void,  AddProperty(const wxString& name, const wxString& value));
     bool DeleteProperty(const wxString& name);
 
     // access methods:
@@ -100,6 +100,16 @@ public:
     wxString GetName() const;
     wxString GetContent() const;
 
+    bool IsWhitespaceOnly() const;
+    int GetDepth(wxXmlNode *grandparent = NULL) const;
+
+    // Gets node content from wxXML_ENTITY_NODE
+    // The problem is, <tag>content<tag> is represented as
+    // wxXML_ENTITY_NODE name="tag", content=""
+    //    |-- wxXML_TEXT_NODE or
+    //        wxXML_CDATA_SECTION_NODE name="" content="content"
+    wxString GetNodeContent() const;
+
     wxXmlNode *GetParent() const;
     wxXmlNode *GetNext() const;
     wxXmlNode *GetChildren() const;
@@ -122,15 +132,29 @@ public:
 
 
 
+// special indentation value for wxXmlDocument::Save
+enum {
+    wxXML_NO_INDENTATION
+};
+
+// flags for wxXmlDocument::Load
+enum wxXmlDocumentLoadFlag
+{
+    wxXMLDOC_NONE = 0,
+    wxXMLDOC_KEEP_WHITESPACE_NODES = 1
+};
+
+
+
 // This class holds XML data/document as parsed by XML parser.
 class wxXmlDocument : public wxObject
 {
 public:
     wxXmlDocument(const wxString& filename,
                   const wxString& encoding = wxPyUTF8String);
-    %name(XmlDocumentFromStream) wxXmlDocument(wxInputStream& stream,
-                                                const wxString& encoding = wxPyUTF8String);
-    %name(EmptyXmlDocument) wxXmlDocument();
+    %RenameCtor(XmlDocumentFromStream,  wxXmlDocument(wxInputStream& stream,
+                                                const wxString& encoding = wxPyUTF8String));
+    %RenameCtor(EmptyXmlDocument,  wxXmlDocument());
 
     ~wxXmlDocument();
 
@@ -138,13 +162,15 @@ public:
     // Parses .xml file and loads data. Returns True on success, False
     // otherwise.
     bool Load(const wxString& filename,
-              const wxString& encoding = wxPyUTF8String);
-    %name(LoadFromStream)bool Load(wxInputStream& stream,
-                                   const wxString& encoding = wxPyUTF8String);
+              const wxString& encoding = wxPyUTF8String,
+              int flags = wxXMLDOC_NONE);
+    %Rename(LoadFromStream, bool,  Load(wxInputStream& stream,
+                                        const wxString& encoding = wxPyUTF8String,
+                                        int flags = wxXMLDOC_NONE));
 
     // Saves document as .xml file.
-    bool Save(const wxString& filename) const;
-    %name(SaveToStream)bool Save(wxOutputStream& stream) const;
+    bool Save(const wxString& filename, int indentstep=1) const;
+    %Rename(SaveToStream, bool,  Save(wxOutputStream& stream, int indentstep=1) const);
 
     bool IsOk() const;
 
@@ -160,6 +186,7 @@ public:
     wxString GetFileEncoding() const;
 
     // Write-access methods:
+    wxXmlNode *DetachRoot();
     void SetRoot(wxXmlNode *node);
     void SetVersion(const wxString& version);
     void SetFileEncoding(const wxString& encoding);