]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/helpfrm.h
Applied patch [ 1218833 ] [wxMSW] wxListBox optimisation for XP
[wxWidgets.git] / include / wx / html / helpfrm.h
index 42562e92ec5d73473fd19f964f9ece9955a3402c..255739841bd3a660296dc983b31637045f5033c0 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_HELPFRM_H_
 #define _WX_HELPFRM_H_
 
 #ifndef _WX_HELPFRM_H_
 #define _WX_HELPFRM_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "helpfrm.h"
 #endif
 
 #pragma interface "helpfrm.h"
 #endif
 
@@ -20,6 +20,7 @@
 
 #if wxUSE_WXHTML_HELP
 
 
 #if wxUSE_WXHTML_HELP
 
+#include "wx/helpbase.h"
 #include "wx/html/helpdata.h"
 #include "wx/window.h"
 #include "wx/frame.h"
 #include "wx/html/helpdata.h"
 #include "wx/window.h"
 #include "wx/frame.h"
 #include "wx/stattext.h"
 #include "wx/html/htmlwin.h"
 #include "wx/html/htmprint.h"
 #include "wx/stattext.h"
 #include "wx/html/htmlwin.h"
 #include "wx/html/htmprint.h"
-class WXDLLEXPORT wxButton;
+
+class WXDLLIMPEXP_CORE wxButton;
+class WXDLLIMPEXP_CORE wxTextCtrl;
+class WXDLLIMPEXP_CORE wxTreeEvent;
+class WXDLLIMPEXP_CORE wxTreeCtrl;
 
 
 // style flags for the Help Frame
 
 
 // style flags for the Help Frame
@@ -65,10 +70,12 @@ struct wxHtmlHelpFrameCfg
     bool navig_on;
 };
 
     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)
 
 {
     DECLARE_DYNAMIC_CLASS(wxHtmlHelpFrame)
 
@@ -108,15 +115,16 @@ public:
     // Displays help window and focuses index.
     bool DisplayIndex();
 
     // 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
     // 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)
         {
 
     void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString)
         {
@@ -134,12 +142,12 @@ public:
     // call this to let wxHtmlHelpFrame know page changed
     void NotifyPageChanged();
 
     // call this to let wxHtmlHelpFrame know page changed
     void NotifyPageChanged();
 
-protected:
-    void Init(wxHtmlHelpData* data = NULL);
-
     // Refreshes Contents and Index tabs
     void RefreshLists();
 
     // Refreshes Contents and Index tabs
     void RefreshLists();
 
+protected:
+    void Init(wxHtmlHelpData* data = NULL);
+
     // Adds items to m_Contents tree control
     void CreateContents();
 
     // Adds items to m_Contents tree control
     void CreateContents();
 
@@ -149,6 +157,10 @@ protected:
     // Add books to search choice panel
     void CreateSearch();
 
     // 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);
 
     // Add custom buttons to toolbar
     virtual void AddToolbarButtons(wxToolBar *toolBar, int style);
 
@@ -164,13 +176,18 @@ protected:
     void OnSearch(wxCommandEvent& event);
     void OnBookmarksSel(wxCommandEvent& event);
     void OnCloseWindow(wxCloseEvent& event);
     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,
 
     // Images:
     enum {
         IMG_Book = 0,
         IMG_Folder,
-        IMG_Page,
-        IMG_RootFolder
+        IMG_Page
     };
 
 protected:
     };
 
 protected:
@@ -223,7 +240,12 @@ protected:
 
     int m_hfStyle;
 
 
     int m_hfStyle;
 
+private:
+    void DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it);
+    wxHtmlHelpMergedIndex *m_mergedIndex;
+
     DECLARE_EVENT_TABLE()
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
 };
 
 #endif // wxUSE_WXHTML_HELP
 };
 
 #endif // wxUSE_WXHTML_HELP