X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e7ad1cab887c2f1cd1a624ec0aec60d20b4d6e2..7344108e8a129a3f9b4df5ab0f98a1713db03b89:/interface/wx/richtext/richtextxml.h diff --git a/interface/wx/richtext/richtextxml.h b/interface/wx/richtext/richtextxml.h index 9c11dbe355..b5a838c6ea 100644 --- a/interface/wx/richtext/richtextxml.h +++ b/interface/wx/richtext/richtextxml.h @@ -3,7 +3,7 @@ // Purpose: interface of wxRichTextXMLHandler // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -35,9 +35,9 @@ public: /** Constructor. */ - wxRichTextXMLHandler(const wxString& name = wxT("XML"), - const wxString& ext = wxT("xml"), - int type = wxRICHTEXT_TYPE_XML) const; + wxRichTextXMLHandler(const wxString& name = "XML", + const wxString& ext = "xml", + int type = wxRICHTEXT_TYPE_XML); /** Returns @true. @@ -49,28 +49,10 @@ public: */ virtual bool CanSave() const; - /** - Creates XML code for a given character or paragraph style. - */ - wxString CreateStyle(const wxTextAttr& attr, bool isPara = false); - - /** - Loads buffer context from the given stream. - */ - bool DoLoadFile(wxRichTextBuffer* buffer, wxInputStream& stream); - - /** - Saves buffer context to the given stream. - */ - bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream); - /** Recursively exports an object to the stream. */ - bool ExportXML(wxOutputStream& stream, wxMBConv* convMem, - wxMBConv* convFile, - wxRichTextObject& obj, - int level); + bool ExportXML(wxOutputStream& stream, wxRichTextObject& obj, int level); /** Helper function: gets node context. @@ -87,12 +69,6 @@ public: */ wxString GetParamValue(wxXmlNode* node, const wxString& param); - /** - Helper function: gets style parameters from the given XML node. - */ - bool GetStyle(wxTextAttr& attr, wxXmlNode* node, - bool isPara = false); - /** Helper function: gets text from the node. */ @@ -108,6 +84,29 @@ public: /** Recursively imports an object. */ - bool ImportXML(wxRichTextBuffer* buffer, wxXmlNode* node); + bool ImportXML(wxRichTextBuffer* buffer, wxRichTextObject* obj, wxXmlNode* node); + + /** + Call with XML node name, C++ class name so that wxRTC can read in the node. + If you add a custom object, call this. + */ + static void RegisterNodeName(const wxString& nodeName, const wxString& className) { sm_nodeNameToClassMap[nodeName] = className; } + + /** + Cleans up the mapping between node name and C++ class. + */ + static void ClearNodeToClassMap() { sm_nodeNameToClassMap.clear(); } + +protected: + + /** + Loads buffer context from the given stream. + */ + virtual bool DoLoadFile(wxRichTextBuffer* buffer, wxInputStream& stream); + + /** + Saves buffer context to the given stream. + */ + virtual bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream); };