#ifndef _WX_HELPFRM_H_
#define _WX_HELPFRM_H_
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "helpfrm.h"
#endif
#if wxUSE_WXHTML_HELP
+#include "wx/helpbase.h"
#include "wx/html/helpdata.h"
#include "wx/window.h"
#include "wx/frame.h"
class WXDLLIMPEXP_CORE wxButton;
class WXDLLIMPEXP_CORE wxTextCtrl;
+class WXDLLIMPEXP_CORE wxTreeEvent;
+class WXDLLIMPEXP_CORE wxTreeCtrl;
// style flags for the Help Frame
bool navig_on;
};
+struct wxHtmlHelpMergedIndexItem;
+class wxHtmlHelpMergedIndex;
class WXDLLIMPEXP_CORE wxHelpControllerBase;
// Displays help window and focuses index.
bool DisplayIndex();
- // Searches for keyword. Returns TRUE and display page if found, return
- // FALSE otherwise
+ // Searches for keyword. Returns true and display page if found, return
+ // false otherwise
// Syntax of keyword is Altavista-like:
// * words are separated by spaces
// (but "\"hello world\"" is only one world "hello world")
// * word may be pretended by + or -
// (+ : page must contain the word ; - : page can't contain the word)
// * if there is no + or - before the word, + is default
- bool KeywordSearch(const wxString& keyword);
+ bool KeywordSearch(const wxString& keyword,
+ wxHelpSearchMode mode = wxHELP_SEARCH_ALL);
void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString)
{
// call this to let wxHtmlHelpFrame know page changed
void NotifyPageChanged();
-
+
// Refreshes Contents and Index tabs
void RefreshLists();
-
+
protected:
void Init(wxHtmlHelpData* data = NULL);
// Add books to search choice panel
void CreateSearch();
+ // Updates "merged index" structure that combines indexes of all books
+ // into better searchable structure
+ void UpdateMergedIndex();
+
// Add custom buttons to toolbar
virtual void AddToolbarButtons(wxToolBar *toolBar, int style);
int m_hfStyle;
+private:
+ void DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it);
+ wxHtmlHelpMergedIndex *m_mergedIndex;
+
DECLARE_EVENT_TABLE()
DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
};