X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/392c5133ff8aba785fece7aef8f63f99843e8aa1..8ba1d512d3dfc1b61ab24bde52ea0689db798a49:/include/wx/msw/helpchm.h?ds=sidebyside diff --git a/include/wx/msw/helpchm.h b/include/wx/msw/helpchm.h index 859290f94c..13d062de38 100644 --- a/include/wx/msw/helpchm.h +++ b/include/wx/msw/helpchm.h @@ -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(param)); + } + + // even simpler wrappers using GetParentWindow() and GetValidFilename() as + // the first 2 HtmlHelp() parameters + bool CallHtmlHelp(unsigned cmd, WXWPARAM param) + { + return CallHtmlHelp(GetParentWindow(), GetValidFilename().wx_str(), + cmd, param); + } + + bool CallHtmlHelp(unsigned cmd, const void *param = NULL) + { + return CallHtmlHelp(cmd, reinterpret_cast(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_