]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/richtext/richtextxml.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / richtext / richtextxml.h
index 44a933cb48caa789508222166f5d5f82cca9c372..14ce5236d821a9b47fccbd097fea1424427fc22a 100644 (file)
@@ -16,6 +16,7 @@
  * Includes
  */
 
+#include "wx/hashmap.h"
 #include "wx/richtext/richtextbuffer.h"
 #include "wx/richtext/richtextstyles.h"
 
@@ -97,6 +98,17 @@ public:
     wxString GetText(wxXmlNode *node, const wxString& param = wxEmptyString, bool translate = false);
     static wxXmlNode* FindNode(wxXmlNode* node, const wxString& name);
 
+    /**
+        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:
 #if wxUSE_STREAMS
     virtual bool DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& stream);
@@ -108,6 +120,8 @@ protected:
     wxMBConv* m_convMem;
     wxMBConv* m_convFile;
 #endif
+
+    static wxStringToStringHashMap sm_nodeNameToClassMap;
 };
 
 #endif