#ifndef _WX_HELPFRM_H_
#define _WX_HELPFRM_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "helpfrm.h"
#endif
#include "wx/defs.h"
-#if wxUSE_HTML
+#if wxUSE_WXHTML_HELP
+#include "wx/helpbase.h"
#include "wx/html/helpdata.h"
#include "wx/window.h"
#include "wx/frame.h"
#include "wx/html/htmlwin.h"
#include "wx/html/htmprint.h"
+class WXDLLIMPEXP_CORE wxButton;
+class WXDLLIMPEXP_CORE wxTextCtrl;
+class WXDLLIMPEXP_CORE wxTreeEvent;
+class WXDLLIMPEXP_CORE wxTreeCtrl;
+
// style flags for the Help Frame
#define wxHF_TOOLBAR 0x0001
bool navig_on;
};
+struct wxHtmlHelpMergedIndexItem;
+class wxHtmlHelpMergedIndex;
-class WXDLLEXPORT wxHelpControllerBase;
+class WXDLLIMPEXP_CORE wxHelpControllerBase;
-class WXDLLEXPORT wxHtmlHelpFrame : public wxFrame
+class WXDLLIMPEXP_HTML wxHtmlHelpFrame : public wxFrame
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpFrame)
// 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();
-protected:
- void Init(wxHtmlHelpData* data = NULL);
-
// Refreshes Contents and Index tabs
void RefreshLists();
+protected:
+ void Init(wxHtmlHelpData* data = NULL);
+
// Adds items to m_Contents tree control
void CreateContents();
// 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);
void OnSearch(wxCommandEvent& event);
void OnBookmarksSel(wxCommandEvent& event);
void OnCloseWindow(wxCloseEvent& event);
+ void OnActivate(wxActivateEvent& event);
+
+#ifdef __WXMAC__
+ void OnClose(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
+#endif
// Images:
enum {
IMG_Book = 0,
IMG_Folder,
- IMG_Page,
- IMG_RootFolder
+ IMG_Page
};
protected:
// below are various pointers to GUI components
wxHtmlWindow *m_HtmlWin;
wxSplitterWindow *m_Splitter;
- wxNotebook *m_NavigPan;
+ wxPanel *m_NavigPan;
+ wxNotebook *m_NavigNotebook;
wxTreeCtrl *m_ContentsBox;
wxTextCtrl *m_IndexText;
wxButton *m_IndexButton;
#endif
wxHashTable *m_PagesHash;
wxHelpControllerBase* m_helpController;
-
+
int m_hfStyle;
+private:
+ void DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it);
+ wxHtmlHelpMergedIndex *m_mergedIndex;
+
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
};
-#endif // wxUSE_HTML
+#endif // wxUSE_WXHTML_HELP
#endif