]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/html/helpctrl.h
Move code removing "-psn_xxx" command line arguments to common code.
[wxWidgets.git] / interface / wx / html / helpctrl.h
index bb0ebe63029e9d48d0c433b18a1d5282eb6db374..9cbea267c5919aa841ce4022ce3d7c0cb81fc8f2 100644 (file)
@@ -2,10 +2,27 @@
 // Name:        html/helpctrl.h
 // Purpose:     interface of wxHtmlHelpController
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#define wxID_HTML_HELPFRAME   (wxID_HIGHEST + 1)
+
+/// This style indicates that the window is
+/// embedded in the application and must not be
+/// destroyed by the help controller.
+#define wxHF_EMBEDDED                0x00008000
+
+/// Create a dialog for the help window.
+#define wxHF_DIALOG                  0x00010000
+
+/// Create a frame for the help window.
+#define wxHF_FRAME                   0x00020000
+
+/// Make the dialog modal when displaying help.
+#define wxHF_MODAL                   0x00040000
+
+
+
 /**
     @class wxHtmlHelpController
 
@@ -37,7 +54,7 @@
     @see wxBestHelpController, wxHtmlHelpFrame, wxHtmlHelpDialog,
          wxHtmlHelpWindow, wxHtmlModalHelp
 */
-class wxHtmlHelpController
+class wxHtmlHelpController : public wxHelpControllerBase
 {
 public:
     /**
@@ -79,6 +96,8 @@ public:
     */
     wxHtmlHelpController(int style = wxHF_DEFAULT_STYLE,
                          wxWindow* parentWindow = NULL);
+    wxHtmlHelpController(wxWindow* parentWindow, int style = wxHF_DEFAULT_STYLE);
+
 
     /**
         Adds a book (i.e. a @ref overview_html_helpformats ".hhp file"; an HTML Help
@@ -101,7 +120,7 @@ public:
         @param showWaitMsg
             If @true then a decoration-less window with progress message is displayed.
     */
-    bool AddBook(const wxFileName& bookFile, bool showWaitMsg);
+    bool AddBook(const wxFileName& bookFile, bool showWaitMsg = false);
 
     /**
         Adds a book (i.e. a @ref overview_html_helpformats ".hhp file"; an HTML Help
@@ -115,19 +134,7 @@ public:
         @param showWaitMsg
             If @true then a decoration-less window with progress message is displayed.
     */
-    bool AddBook(const wxString& bookUrl, bool showWaitMsg);
-
-    /**
-        This protected virtual method may be overridden so that when specifying the
-        @c wxHF_DIALOG style, the controller uses a different dialog.
-    */
-    virtual wxHtmlHelpDialog* CreateHelpDialog(wxHtmlHelpData* data);
-
-    /**
-        This protected virtual method may be overridden so that the controller
-        uses a different frame.
-    */
-    virtual wxHtmlHelpFrame* CreateHelpFrame(wxHtmlHelpData* data);
+    bool AddBook(const wxString& bookUrl, bool showWaitMsg = false);
 
     /**
         Displays page @a x.
@@ -145,24 +152,24 @@ public:
         -# try to find x in index (if x is for example "How To ...")
         -# switch to Search panel and start searching
     */
-    void Display(const wxString& x);
+    bool Display(const wxString& x);
 
     /**
         @overload
 
         This alternative form is used to search help contents by numeric IDs.
     */
-    void Display(const int id);
+    bool Display(int id);
 
     /**
         Displays help window and focuses contents panel.
     */
-    void DisplayContents();
+    virtual bool DisplayContents();
 
     /**
         Displays help window and focuses index panel.
     */
-    void DisplayIndex();
+    bool DisplayIndex();
 
     /**
         Displays the help window, focuses search panel and starts searching.
@@ -174,14 +181,29 @@ public:
             KeywordSearch() searches only pages listed in @c ".hhc" file(s).
             You should list all pages in the contents file.
     */
-    bool KeywordSearch(const wxString& keyword,
-                       wxHelpSearchMode mode = wxHELP_SEARCH_ALL);
+    virtual bool KeywordSearch(const wxString& keyword,
+                               wxHelpSearchMode mode = wxHELP_SEARCH_ALL);
 
     /**
         Reads the controller's setting (position of window, etc.)
     */
-    void ReadCustomization(wxConfigBase* cfg,
-                           wxString path = wxEmptyString);
+    virtual void ReadCustomization(wxConfigBase* cfg,
+                                   const wxString& path = wxEmptyString);
+
+    /**
+        Sets whether the help frame should prevent application from exiting
+        if it's the only remaining top level window.
+
+        @param enable
+            If @true, the application will not quit unless the help frame is
+            closed. Default is @false, i.e. the application does exit if only
+            the help window remains opened.
+
+        @see wxApp::SetExitOnFrameDelete()
+
+        @since 2.9.2
+    */
+    void SetShouldPreventAppExit(bool enable);
 
     /**
         Sets the path for storing temporary files - cached binary versions of index and
@@ -220,8 +242,47 @@ public:
     /**
         Stores controllers setting (position of window etc.)
     */
-    void WriteCustomization(wxConfigBase* cfg,
-                            wxString path = wxEmptyString);
+    virtual void WriteCustomization(wxConfigBase* cfg,
+                                    const wxString& path = wxEmptyString);
+
+    /**
+       Get the current help window
+    */
+    wxHtmlHelpWindow* GetHelpWindow();
+
+    /**
+       Set the help window to be managed by this controller.  This makes it
+    possible to have a help window that might not be in a wxHtmlHelpFrame or
+    dialog but is embedded in some other window in the application.  Be sure
+    to use the wxHF_EMBEDDED style in this case.
+    */
+    void SetHelpWindow(wxHtmlHelpWindow* helpWindow);
+
+    /**
+       Returns the current help frame.  (May be NULL.)
+    */
+    wxHtmlHelpFrame* GetFrame();
+
+    /**
+       Returns the current help dialog. (May be NULL.)
+    */
+    wxHtmlHelpDialog* GetDialog();
+
+
+    
+protected:
+
+    /**
+        This protected virtual method may be overridden so that when specifying the
+        @c wxHF_DIALOG style, the controller uses a different dialog.
+    */
+    virtual wxHtmlHelpDialog* CreateHelpDialog(wxHtmlHelpData* data);
+
+    /**
+        This protected virtual method may be overridden so that the controller
+        uses a different frame.
+    */
+    virtual wxHtmlHelpFrame* CreateHelpFrame(wxHtmlHelpData* data);
 };
 
 
@@ -238,7 +299,7 @@ public:
     @code
         // The help can be browsed during the lifetime of this object; when the
         // user quits the help, program execution will continue.
-        wxHtmlModalHelp help(parent, wxT("help"), wxT("My topic"));
+        wxHtmlModalHelp help(parent, "help", "My topic");
     @endcode
 
     @library{wxhtml}