]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/helpfrm.h
optimizing for multiple Realize calls in sequence, moving EventHandler push to toolba...
[wxWidgets.git] / include / wx / html / helpfrm.h
index 0f6ac5b4e6d03c52fe055e06d2a9a45df167d682..255739841bd3a660296dc983b31637045f5033c0 100644 (file)
@@ -12,7 +12,7 @@
 #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
 
@@ -20,6 +20,7 @@
 
 #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 WXDLLEXPORT wxButton;
-class WXDLLEXPORT wxTextCtrl;
+class WXDLLIMPEXP_CORE wxButton;
+class WXDLLIMPEXP_CORE wxTextCtrl;
+class WXDLLIMPEXP_CORE wxTreeEvent;
+class WXDLLIMPEXP_CORE wxTreeCtrl;
 
 
 // style flags for the Help Frame
@@ -67,10 +70,12 @@ 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)
 
@@ -110,15 +115,16 @@ public:
     // 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)
         {
@@ -135,10 +141,10 @@ public:
 
     // call this to let wxHtmlHelpFrame know page changed
     void NotifyPageChanged();
-    
+
     // Refreshes Contents and Index tabs
     void RefreshLists();
-    
+
 protected:
     void Init(wxHtmlHelpData* data = NULL);
 
@@ -151,6 +157,10 @@ protected:
     // 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);
 
@@ -168,6 +178,11 @@ protected:
     void OnCloseWindow(wxCloseEvent& event);
     void OnActivate(wxActivateEvent& event);
 
+#ifdef __WXMAC__
+    void OnClose(wxCommandEvent& event);
+    void OnAbout(wxCommandEvent& event);
+#endif
+
     // Images:
     enum {
         IMG_Book = 0,
@@ -225,6 +240,10 @@ protected:
 
     int m_hfStyle;
 
+private:
+    void DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it);
+    wxHtmlHelpMergedIndex *m_mergedIndex;
+
     DECLARE_EVENT_TABLE()
     DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
 };