X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd83cb56d29385e2a87840eeb3876b976a5afc43..10769d8c47c21fe0ec5034726791a5ad4cf19475:/include/wx/cshelp.h diff --git a/include/wx/cshelp.h b/include/wx/cshelp.h index 836e76e195..d72a3d9254 100644 --- a/include/wx/cshelp.h +++ b/include/wx/cshelp.h @@ -20,6 +20,7 @@ #if wxUSE_HELP +#include "wx/help.h" #include "wx/bmpbuttn.h" // ---------------------------------------------------------------------------- @@ -77,13 +78,11 @@ private: DECLARE_EVENT_TABLE() }; -#endif // wxUSE_HELP - // ---------------------------------------------------------------------------- // classes used to implement context help support // ---------------------------------------------------------------------------- -// wxHelpProvider is an ABC used by the program implementing context help to +// wxHelpProvider is an abstract class used by the program implementing context help to // show the help text (or whatever: it may be HTML page or anything else) for // the given window. // @@ -125,6 +124,9 @@ public: // the application, for example) virtual void AddHelp(wxWindowID id, const wxString& text); + // removes the association + virtual void RemoveHelp(wxWindowBase* window); + // virtual dtor for any base class virtual ~wxHelpProvider(); @@ -143,6 +145,7 @@ public: virtual bool ShowHelp(wxWindowBase *window); virtual void AddHelp(wxWindowBase *window, const wxString& text); virtual void AddHelp(wxWindowID id, const wxString& text); + virtual void RemoveHelp(wxWindowBase* window); protected: // we use 2 hashes for storing the help strings associated with windows @@ -151,5 +154,32 @@ protected: m_hashIds; }; +// wxHelpControllerHelpProvider is an implementation of wxHelpProvider which supports +// both context identifiers and plain text help strings. If the help text is an integer, +// it is passed to wxHelpController::DisplayContextPopup. Otherwise, it shows the string +// in a tooltip as per wxSimpleHelpProvider. +class WXDLLEXPORT wxHelpControllerHelpProvider : public wxSimpleHelpProvider +{ +public: + // Note that it doesn't own the help controller. The help controller + // should be deleted separately. + wxHelpControllerHelpProvider(wxHelpControllerBase* hc = (wxHelpControllerBase*) NULL); + + // implement wxHelpProvider methods + virtual bool ShowHelp(wxWindowBase *window); + + // Other accessors + void SetHelpController(wxHelpControllerBase* hc) { m_helpController = hc; } + wxHelpControllerBase* GetHelpController() const { return m_helpController; } + +protected: + wxHelpControllerBase* m_helpController; +}; + +// Convenience function for turning context id into wxString +WXDLLEXPORT wxString wxContextId(int id); + +#endif // wxUSE_HELP + #endif // _WX_CSHELPH__