/////////////////////////////////////////////////////////////////////////////
// Name: helpdata.h
// Purpose: wxHtmlHelpData
-// Notes: Based on htmlhelp.cpp, implementing a monolithic
+// Notes: Based on htmlhelp.cpp, implementing a monolithic
// HTML Help controller class, by Vaclav Slavik
// Author: Harm van der Heijden and Vaclav Slavik
// Created:
class WXDLLEXPORT wxHtmlBookRecord : public wxObject
{
public:
- wxHtmlBookRecord(const wxString& basepath, const wxString& title,
+ wxHtmlBookRecord(const wxString& basepath, const wxString& title,
const wxString& start) {
m_BasePath = basepath; m_Title = title; m_Start = start;
// for debugging, give the contents index obvious default values
/* 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)
+ * (as opposed to appending only)
* Note that storing index range is pointless, because the index is alphab. sorted. */
void SetContentsRange(int start, int end) { contents_start = start; contents_end = end; }
- GetContentsStart() const { return contents_start; }
- GetContentsEnd() const { return contents_end; }
+ int GetContentsStart() const { return contents_start; }
+ int GetContentsEnd() const { return contents_end; }
protected:
wxString m_BasePath;
wxString m_Title;
// This class takes input streams and scans them for occurence
// of keyword(s)
//------------------------------------------------------------------------------
-class wxSearchEngine : public wxObject
+class WXDLLEXPORT wxSearchEngine : public wxObject
{
private:
char *m_Keyword;
public:
wxSearchEngine() : wxObject() {m_Keyword = NULL;}
~wxSearchEngine() {if (m_Keyword) free(m_Keyword);}
-
+
virtual void LookFor(const wxString& keyword);
// Sets the keyword we will be searching for
// State information of a search action. I'd have prefered to make this a nested
// class inside wxHtmlHelpData, but that's against coding standards :-(
-// Never construct this class yourself, obtain a copy from
+// Never construct this class yourself, obtain a copy from
// wxHtmlHelpData::PrepareKeywordSearch(const wxString& key)
class WXDLLEXPORT wxHtmlSearchStatus
{
wxHtmlHelpData* m_Data;
wxSearchEngine m_Engine;
wxString m_Keyword, m_Name, m_LastPage;
- wxHtmlContentsItem* m_ContentsItem;
+ wxHtmlContentsItem* m_ContentsItem;
bool m_Active; // search is not finished
int m_CurIndex; // where we are now
- int m_MaxIndex; // number of files we search
+ int m_MaxIndex; // number of files we search
// For progress bar: 100*curindex/maxindex = % complete
};
public:
wxHtmlHelpData();
~wxHtmlHelpData();
-
+
void SetTempDir(const wxString& path);
// Sets directory where temporary files are stored.
// These temp files are index & contents file in binary (much faster to read)
// form. These files are NOT deleted on program's exit.
-
+
bool AddBook(const wxString& book);
// Adds new book. 'book' is location of .htb file (stands for "html book").
// See documentation for details on its format.
// Returns success.
- bool AddBookParam(const wxString& title, const wxString& contfile,
- const wxString& indexfile=wxEmptyString,
- const wxString& deftopic=wxEmptyString,
+ bool AddBookParam(const wxString& title, const wxString& contfile,
+ const wxString& indexfile=wxEmptyString,
+ const wxString& deftopic=wxEmptyString,
const wxString& path=wxEmptyString);
-
+
// Some accessing stuff
wxString FindPageByName(const wxString& page);
// returns URL of page on basis of (file)name
int GetContentsCnt() { return m_ContentsCnt; }
wxHtmlContentsItem* GetIndex() { return m_Index; }
int GetIndexCnt() { return m_IndexCnt; }
-
+
protected:
wxString m_TempPath;
-
+
wxHtmlBookRecArray m_BookRecords;
// each book has one record in this array
wxHtmlContentsItem* m_Contents;
wxHtmlContentsItem* m_Index;
int m_IndexCnt;
// list of index items
-
+
protected:
- bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys,
+ bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys,
const wxString& indexfile, const wxString& contentsfile);
// Imports .hhp files (MS HTML Help Workshop)
bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f);