]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/html/helpdata.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / html / helpdata.h
index 70e388de71f50e1112a46b0073799108035875b4..36537406b08d05b1bf813bf9d76006effe9a9012 100644 (file)
@@ -2,10 +2,72 @@
 // Name:        html/helpdata.h
 // Purpose:     interface of wxHtmlHelpData
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+    @class wxHtmlBookRecord
+
+    Helper class for wxHtmlHelpData
+*/
+class wxHtmlBookRecord
+{
+public:
+    wxHtmlBookRecord(const wxString& bookfile, const wxString& basepath,
+                     const wxString& title, const wxString& start);
+
+    wxString GetBookFile() const;
+    wxString GetTitle() const;
+    wxString GetStart() const;
+    wxString GetBasePath() const;
+    
+    /* SetContentsRange: store in the bookrecord where in the index/contents lists the
+     * book's records are stored. This to facilitate searching in a specific book.
+     * This code will have to be revised when loading/removing books becomes dynamic.
+     * (as opposed to appending only)
+     * Note that storing index range is pointless, because the index is alphab. sorted. */
+    void SetContentsRange(int start, int end);
+    int GetContentsStart() const;
+    int GetContentsEnd() const;
+
+    void SetTitle(const wxString& title);
+    void SetBasePath(const wxString& path);
+    void SetStart(const wxString& start);
+
+    // returns full filename of page (which is part of the book),
+    // i.e. with book's basePath prepended. If page is already absolute
+    // path, basePath is _not_ prepended.
+    wxString GetFullPath(const wxString &page) const;
+};
+
+
+
+/**
+    @class wxHtmlHelpDataItem
+
+    Helper class for wxHtmlHelpData
+*/
+struct wxHtmlHelpDataItem
+{
+    wxHtmlHelpDataItem();
+
+    int level;
+    wxHtmlHelpDataItem *parent;
+    int id;
+    wxString name;
+    wxString page;
+    wxHtmlBookRecord *book;
+
+    // returns full filename of m_Page, i.e. with book's basePath prepended
+    wxString GetFullPath() const;
+
+    // returns item indented with spaces if it has level>1:
+    wxString GetIndentedName() const;
+};
+
+
+
+
 /**
     @class wxHtmlHelpData
 
@@ -50,17 +112,17 @@ public:
     /**
         Returns array with help books info.
     */
-    const wxHtmlBookRecArray GetBookRecArray();
+    const wxHtmlBookRecArray& GetBookRecArray() const;
 
     /**
         Returns reference to array with contents entries.
     */
-    const wxHtmlHelpDataItems GetContentsArray();
+    const wxHtmlHelpDataItems& GetContentsArray() const;
 
     /**
         Returns reference to array with index entries.
     */
-    const wxHtmlHelpDataItems GetIndexArray();
+    const wxHtmlHelpDataItems& GetIndexArray() const;
 
     /**
         Sets the temporary directory where binary cached versions of MS HTML Workshop