]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/cshelp.cpp
return radio box own help text when origin is Origin_Unknown to make sure GetHelpText...
[wxWidgets.git] / src / common / cshelp.cpp
index 57cea314d25c3a7544ae53c6a0c674edd75fbfbb..60b613b8a6433c917294d1d855349496a48c6d77 100644 (file)
 #include "wx/tipwin.h"
 #include "wx/cshelp.h"
 
 #include "wx/tipwin.h"
 #include "wx/cshelp.h"
 
-// wxUSE_MS_HTML_HELP is not defined under platforms other than MSW
-#ifndef wxUSE_MS_HTML_HELP
-    #define wxUSE_MS_HTML_HELP 0
-#endif
-
 #if wxUSE_MS_HTML_HELP
     #include "wx/msw/helpchm.h"     // for ShowContextHelpPopup
     #include "wx/utils.h"           // for wxGetMousePosition()
 #if wxUSE_MS_HTML_HELP
     #include "wx/msw/helpchm.h"     // for ShowContextHelpPopup
     #include "wx/utils.h"           // for wxGetMousePosition()
@@ -63,7 +58,7 @@ public:
 //// Data
     wxContextHelp* m_contextHelp;
 
 //// Data
     wxContextHelp* m_contextHelp;
 
-    DECLARE_NO_COPY_CLASS(wxContextHelpEvtHandler)
+    wxDECLARE_NO_COPY_CLASS(wxContextHelpEvtHandler);
 };
 
 // ============================================================================
 };
 
 // ============================================================================
@@ -128,8 +123,8 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
     wxCursor oldCursor = win->GetCursor();
     win->SetCursor(cursor);
 
     wxCursor oldCursor = win->GetCursor();
     win->SetCursor(cursor);
 
-#ifdef __WXMSW__
-    //    wxSetCursor(cursor);
+#ifdef __WXMAC__
+    wxSetCursor(cursor);
 #endif
 
     m_status = false;
 #endif
 
     m_status = false;
@@ -154,6 +149,10 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
 
     win->SetCursor(oldCursor);
 
 
     win->SetCursor(oldCursor);
 
+#ifdef __WXMAC__
+    wxSetCursor(wxNullCursor);
+#endif
+
     if (m_status)
     {
         wxPoint pt;
     if (m_status)
     {
         wxPoint pt;
@@ -304,7 +303,7 @@ void wxContextHelpButton::OnContextHelp(wxCommandEvent& WXUNUSED(event))
 // wxHelpProvider
 // ----------------------------------------------------------------------------
 
 // wxHelpProvider
 // ----------------------------------------------------------------------------
 
-wxHelpProvider *wxHelpProvider::ms_helpProvider = (wxHelpProvider *)NULL;
+wxHelpProvider *wxHelpProvider::ms_helpProvider = NULL;
 
 // trivial implementation of some methods which we don't want to make pure
 // virtual for convenience
 
 // trivial implementation of some methods which we don't want to make pure
 // virtual for convenience
@@ -389,6 +388,11 @@ void wxSimpleHelpProvider::RemoveHelp(wxWindowBase* window)
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
 {
 #if wxUSE_MS_HTML_HELP || wxUSE_TIPWINDOW
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
 {
 #if wxUSE_MS_HTML_HELP || wxUSE_TIPWINDOW
+#if wxUSE_MS_HTML_HELP
+    // m_helptextAtPoint will be reset by GetHelpTextMaybeAtPoint(), stash it
+    const wxPoint posTooltip = m_helptextAtPoint;
+#endif // wxUSE_MS_HTML_HELP
+
     const wxString text = GetHelpTextMaybeAtPoint(window);
 
     if ( !text.empty() )
     const wxString text = GetHelpTextMaybeAtPoint(window);
 
     if ( !text.empty() )
@@ -398,7 +402,7 @@ bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
         if ( !wxCHMHelpController::ShowContextHelpPopup
                                    (
                                         text,
         if ( !wxCHMHelpController::ShowContextHelpPopup
                                    (
                                         text,
-                                        wxGetMousePosition(),
+                                        posTooltip,
                                         (wxWindow *)window
                                    ) )
 #endif // wxUSE_MS_HTML_HELP
                                         (wxWindow *)window
                                    ) )
 #endif // wxUSE_MS_HTML_HELP