X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/96bbbe1be125a66ab03402ef541a88b54dfe31dc..38b97c15acf982020caf8291c2ccc0b0a36eceab:/wxPython/contrib/xrc/_xml.i diff --git a/wxPython/contrib/xrc/_xml.i b/wxPython/contrib/xrc/_xml.i deleted file mode 100644 index 067e69b8dc..0000000000 --- a/wxPython/contrib/xrc/_xml.i +++ /dev/null @@ -1,189 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: _xml.i -// Purpose: SWIG interface for other wxXml classes -// -// Author: Robin Dunn -// -// Created: 4-June-2001 -// RCS-ID: $Id$ -// Copyright: (c) 2003 by Total Control Software -// Licence: wxWindows license -///////////////////////////////////////////////////////////////////////////// - -// Not a %module - - -//--------------------------------------------------------------------------- -%newgroup - - -// In order to provide wrappers for wxXmlResourceHandler we need to also -// provide the classes for representing and parsing XML. - - -// Represents XML node type. -enum wxXmlNodeType -{ - // note: values are synchronized with xmlElementType from libxml - wxXML_ELEMENT_NODE, - wxXML_ATTRIBUTE_NODE, - wxXML_TEXT_NODE, - wxXML_CDATA_SECTION_NODE, - wxXML_ENTITY_REF_NODE, - wxXML_ENTITY_NODE, - wxXML_PI_NODE, - wxXML_COMMENT_NODE, - wxXML_DOCUMENT_NODE, - wxXML_DOCUMENT_TYPE_NODE, - wxXML_DOCUMENT_FRAG_NODE, - wxXML_NOTATION_NODE, - wxXML_HTML_DOCUMENT_NODE -}; - - - -// Represents node property(ies). -// Example: in "src" is property with value -// "hello.gif" and "id" is property with value "3". -class wxXmlProperty -{ -public: - wxXmlProperty(const wxString& name = wxPyEmptyString, - const wxString& value = wxPyEmptyString, - wxXmlProperty *next = NULL); - - wxString GetName() const; - wxString GetValue() const; - wxXmlProperty *GetNext() const; - - void SetName(const wxString& name); - void SetValue(const wxString& value); - void SetNext(wxXmlProperty *next); -}; - - - - -// Represents node in XML document. Node has name and may have content -// and properties. Most common node types are wxXML_TEXT_NODE (name and props -// are irrelevant) and wxXML_ELEMENT_NODE (e.g. in hi there is -// element with name="title", irrelevant content and one child (wxXML_TEXT_NODE -// with content="hi"). -// -// If wxUSE_UNICODE is 0, all strings are encoded in the encoding given to Load -// (default is UTF-8). -class wxXmlNode -{ -public: - wxXmlNode(wxXmlNode *parent = NULL, - wxXmlNodeType type = 0, - const wxString& name = wxPyEmptyString, - const wxString& content = wxPyEmptyString, - wxXmlProperty *props = NULL, - wxXmlNode *next = NULL); - ~wxXmlNode(); - - - // user-friendly creation: - %name(XmlNodeEasy) wxXmlNode(wxXmlNodeType type, const wxString& name, - const wxString& content = wxPyEmptyString); - - void AddChild(wxXmlNode *child); - void InsertChild(wxXmlNode *child, wxXmlNode *before_node); - bool RemoveChild(wxXmlNode *child); - void AddProperty(wxXmlProperty *prop); - %name(AddPropertyName) void AddProperty(const wxString& name, const wxString& value); - bool DeleteProperty(const wxString& name); - - // access methods: - wxXmlNodeType GetType() const; - wxString GetName() const; - wxString GetContent() const; - - wxXmlNode *GetParent() const; - wxXmlNode *GetNext() const; - wxXmlNode *GetChildren() const; - - wxXmlProperty *GetProperties() const; - wxString GetPropVal(const wxString& propName, - const wxString& defaultVal) const; - bool HasProp(const wxString& propName) const; - - void SetType(wxXmlNodeType type); - void SetName(const wxString& name); - void SetContent(const wxString& con); - - void SetParent(wxXmlNode *parent); - void SetNext(wxXmlNode *next); - void SetChildren(wxXmlNode *child); - - void SetProperties(wxXmlProperty *prop); -}; - - - -// 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(); - - ~wxXmlDocument(); - - - // 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); - - // Saves document as .xml file. - bool Save(const wxString& filename) const; - %name(SaveToStream)bool Save(wxOutputStream& stream) const; - - bool IsOk() const; - - // Returns root node of the document. - wxXmlNode *GetRoot() const; - - // Returns version of document (may be empty). - wxString GetVersion() const; - - // Returns encoding of document (may be empty). - // Note: this is the encoding original file was saved in, *not* the - // encoding of in-memory representation! - wxString GetFileEncoding() const; - - // Write-access methods: - void SetRoot(wxXmlNode *node); - void SetVersion(const wxString& version); - void SetFileEncoding(const wxString& encoding); - -// %extend { -// // Returns encoding of in-memory representation of the document (same -// // as passed to Load or ctor, defaults to UTF-8). NB: this is -// // meaningless in Unicode build where data are stored as wchar_t* -// wxString GetEncoding() { -// %#if wxUSE_UNICODE -// return wxPyEmptyString; -// %#else -// return self->GetEncoding(); -// %#endif -// } -// void SetEncoding(const wxString& enc) { -// %#if wxUSE_UNICODE -// // do nothing -// %#else -// self->SetEncoding(enc); -// %#endif -// } -// } -}; - -//--------------------------------------------------------------------------- -//---------------------------------------------------------------------------