+#if WXWIN_COMPATIBILITY_2_4
+wxHtmlContentsItem::wxHtmlContentsItem()
+ : m_Level(0), m_ID(wxID_ANY), m_Name(NULL), m_Page(NULL), m_Book(NULL),
+ m_autofree(false)
+{
+}
+
+wxHtmlContentsItem::wxHtmlContentsItem(const wxHtmlHelpDataItem& d)
+{
+ m_autofree = true;
+ m_Level = d.level;
+ m_ID = d.id;
+ m_Name = wxStrdup(d.name.c_str());
+ m_Page = wxStrdup(d.page.c_str());
+ m_Book = d.book;
+}
+
+wxHtmlContentsItem& wxHtmlContentsItem::operator=(const wxHtmlContentsItem& d)
+{
+ if (m_autofree)
+ {
+ free(m_Name);
+ free(m_Page);
+ }
+ m_autofree = true;
+ m_Level = d.m_Level;
+ m_ID = d.m_ID;
+ m_Name = d.m_Name ? wxStrdup(d.m_Name) : NULL;
+ m_Page = d.m_Page ? wxStrdup(d.m_Page) : NULL;
+ m_Book = d.m_Book;
+ return *this;
+}
+
+wxHtmlContentsItem::~wxHtmlContentsItem()
+{
+ if (m_autofree)
+ {
+ free(m_Name);
+ free(m_Page);
+ }
+}
+
+wxHtmlContentsItem* wxHtmlHelpData::GetContents()
+{
+ if (!m_cacheContents && !m_contents.empty())
+ {
+ size_t len = m_contents.size();
+ m_cacheContents = new wxHtmlContentsItem[len];
+ for (size_t i = 0; i < len; i++)
+ m_cacheContents[i] = m_contents[i];
+ }
+ return m_cacheContents;
+}
+
+int wxHtmlHelpData::GetContentsCnt()
+{
+ return m_contents.size();
+}
+
+wxHtmlContentsItem* wxHtmlHelpData::GetIndex()
+{
+ if (!m_cacheContents && !m_index.empty())
+ {
+ size_t len = m_index.size();
+ m_cacheContents = new wxHtmlContentsItem[len];
+ for (size_t i = 0; i < len; i++)
+ m_cacheContents[i] = m_index[i];
+ }
+ return m_cacheContents;
+}
+
+int wxHtmlHelpData::GetIndexCnt()
+{
+ return m_index.size();
+}
+
+void wxHtmlHelpData::CleanCompatibilityData()
+{
+ delete[] m_cacheContents;
+ m_cacheContents = NULL;
+ delete[] m_cacheIndex;
+ m_cacheIndex = NULL;
+}
+#endif // WXWIN_COMPATIBILITY_2_4
+