#ifndef _WX_HELPFRM_H_
#define _WX_HELPFRM_H_
-#ifdef __GNUG__
-#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
-#define wxHF_CONTENTS 0x0002
-#define wxHF_INDEX 0x0004
-#define wxHF_SEARCH 0x0008
-#define wxHF_BOOKMARKS 0x0010
-#define wxHF_OPENFILES 0x0020
-#define wxHF_PRINT 0x0040
-#define wxHF_FLATTOOLBAR 0x0080
-#define wxHF_DEFAULTSTYLE (wxHF_TOOLBAR | wxHF_CONTENTS | wxHF_INDEX | \
- wxHF_SEARCH | wxHF_BOOKMARKS | wxHF_PRINT)
-
-
-// Command IDs :
-enum
-{
- wxID_HTML_PANEL = wxID_HIGHEST + 1,
- wxID_HTML_BACK,
- wxID_HTML_FORWARD,
- wxID_HTML_UPNODE,
- wxID_HTML_UP,
- wxID_HTML_DOWN,
- wxID_HTML_PRINT,
- wxID_HTML_OPENFILE,
- wxID_HTML_OPTIONS,
- wxID_HTML_BOOKMARKSLIST,
- wxID_HTML_BOOKMARKSADD,
- wxID_HTML_BOOKMARKSREMOVE,
- wxID_HTML_TREECTRL,
- wxID_HTML_INDEXPAGE,
- wxID_HTML_INDEXLIST,
- wxID_HTML_INDEXTEXT,
- wxID_HTML_INDEXBUTTON,
- wxID_HTML_INDEXBUTTONALL,
- wxID_HTML_NOTEBOOK,
- wxID_HTML_SEARCHPAGE,
- wxID_HTML_SEARCHTEXT,
- wxID_HTML_SEARCHLIST,
- wxID_HTML_SEARCHBUTTON,
- wxID_HTML_SEARCHCHOICE,
- wxID_HTML_COUNTINFO,
- wxID_HTML_HELPFRAME // the id of wxHtmlHelpController's helpframe
-};
+#define wxHF_TOOLBAR 0x0001
+#define wxHF_CONTENTS 0x0002
+#define wxHF_INDEX 0x0004
+#define wxHF_SEARCH 0x0008
+#define wxHF_BOOKMARKS 0x0010
+#define wxHF_OPEN_FILES 0x0020
+#define wxHF_PRINT 0x0040
+#define wxHF_FLAT_TOOLBAR 0x0080
+#define wxHF_MERGE_BOOKS 0x0100
+#define wxHF_ICONS_BOOK 0x0200
+#define wxHF_ICONS_BOOK_CHAPTER 0x0400
+#define wxHF_ICONS_FOLDER 0x0000 // this is 0 since it is default
+#define wxHF_DEFAULT_STYLE (wxHF_TOOLBAR | wxHF_CONTENTS | \
+ wxHF_INDEX | wxHF_SEARCH | \
+ wxHF_BOOKMARKS | wxHF_PRINT)
+//compatibility:
+#define wxHF_OPENFILES wxHF_OPEN_FILES
+#define wxHF_FLATTOOLBAR wxHF_FLAT_TOOLBAR
+#define wxHF_DEFAULTSTYLE wxHF_DEFAULT_STYLE
struct wxHtmlHelpFrameCfg
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)
wxHtmlHelpFrame(wxHtmlHelpData* data = NULL) { Init(data); }
wxHtmlHelpFrame(wxWindow* parent, wxWindowID wxWindowID,
const wxString& title = wxEmptyString,
- int style = wxHF_DEFAULTSTYLE, wxHtmlHelpData* data = NULL);
+ int style = wxHF_DEFAULT_STYLE, wxHtmlHelpData* data = NULL);
bool Create(wxWindow* parent, wxWindowID id, const wxString& title = wxEmptyString,
- int style = wxHF_DEFAULTSTYLE);
+ int style = wxHF_DEFAULT_STYLE);
~wxHtmlHelpFrame();
wxHtmlHelpData* GetData() { return m_Data; }
// 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;
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