]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/helpchm.h
Use wmain() if supported by the compiler/CRT instead of main().
[wxWidgets.git] / include / wx / msw / helpchm.h
index 859290f94ca462c0f25fe364c97a82f359578220..8d139155b0894106e22f62546751b6271354461f 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        helpchm.h
+// Name:        wx/msw/helpchm.h
 // Purpose:     Help system: MS HTML Help implementation
 // Author:      Julian Smart
 // Modified by:
@@ -9,14 +9,14 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_HELPCHM_H_
-#define _WX_HELPCHM_H_
+#ifndef _WX_MSW_HELPCHM_H_
+#define _WX_MSW_HELPCHM_H_
 
 #if wxUSE_MS_HTML_HELP
 
 #include "wx/helpbase.h"
 
-class WXDLLEXPORT wxCHMHelpController : public wxHelpControllerBase
+class WXDLLIMPEXP_CORE wxCHMHelpController : public wxHelpControllerBase
 {
 public:
     wxCHMHelpController(wxWindow* parentWindow = NULL): wxHelpControllerBase(parentWindow) { }
@@ -45,16 +45,46 @@ public:
                                      wxWindow *window);
 
 protected:
-    // Append extension if necessary.
-    wxString GetValidFilename(const wxString& file) const;
+    // get the name of the CHM file we use from our m_helpFile
+    wxString GetValidFilename() const;
+
+    // Call HtmlHelp() with the provided parameters (both overloads do the same
+    // thing but allow to avoid casts in the calling code) and return false
+    // (but don't crash) if HTML help is unavailable
+    static bool CallHtmlHelp(wxWindow *win, const wxChar *str,
+                             unsigned cmd, WXWPARAM param);
+    static bool CallHtmlHelp(wxWindow *win, const wxChar *str,
+                             unsigned cmd, const void *param = NULL)
+    {
+        return CallHtmlHelp(win, str, cmd, reinterpret_cast<WXWPARAM>(param));
+    }
+
+    // even simpler wrappers using GetParentWindow() and GetValidFilename() as
+    // the first 2 HtmlHelp() parameters
+    bool CallHtmlHelp(unsigned cmd, WXWPARAM param)
+    {
+        return CallHtmlHelp(GetParentWindow(), GetValidFilename().t_str(),
+                            cmd, param);
+    }
+
+    bool CallHtmlHelp(unsigned cmd, const void *param = NULL)
+    {
+        return CallHtmlHelp(cmd, reinterpret_cast<WXWPARAM>(param));
+    }
+
+    // wrapper around CallHtmlHelp(HH_DISPLAY_TEXT_POPUP): only one of text and
+    // contextId parameters can be non-NULL/non-zero
+    static bool DoDisplayTextPopup(const wxChar *text,
+                                   const wxPoint& pos,
+                                   int contextId,
+                                   wxWindow *window);
+
 
-protected:
     wxString m_helpFile;
 
-    DECLARE_CLASS(wxCHMHelpController)
+    DECLARE_DYNAMIC_CLASS(wxCHMHelpController)
 };
 
 #endif // wxUSE_MS_HTML_HELP
 
-#endif
-// _WX_HELPCHM_H_
+#endif // _WX_MSW_HELPCHM_H_