]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/cshelp.cpp
Relax Unity menu interdiction hack to allow popup menus in modal dialogs.
[wxWidgets.git] / src / common / cshelp.cpp
index 57cea314d25c3a7544ae53c6a0c674edd75fbfbb..f0f72c147bcd15f8e6219d883da4d0cad787df3d 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;
@@ -233,7 +232,7 @@ bool wxContextHelpEvtHandler::ProcessEvent(wxEvent& event)
 // Dispatch the help event to the relevant window
 bool wxContextHelp::DispatchEvent(wxWindow* win, const wxPoint& pt)
 {
 // Dispatch the help event to the relevant window
 bool wxContextHelp::DispatchEvent(wxWindow* win, const wxPoint& pt)
 {
-    wxCHECK_MSG( win, false, _T("win parameter can't be NULL") );
+    wxCHECK_MSG( win, false, wxT("win parameter can't be NULL") );
 
     wxHelpEvent helpEvent(wxEVT_HELP, win->GetId(), pt,
                           wxHelpEvent::Origin_HelpButton);
 
     wxHelpEvent helpEvent(wxEVT_HELP, win->GetId(), pt,
                           wxHelpEvent::Origin_HelpButton);
@@ -285,7 +284,7 @@ wxContextHelpButton::wxContextHelpButton(wxWindow* parent,
                                          long style)
 #if defined(__WXPM__)
                    : wxBitmapButton(parent, id, wxBitmap(wxCSQUERY_BITMAP
                                          long style)
 #if defined(__WXPM__)
                    : wxBitmapButton(parent, id, wxBitmap(wxCSQUERY_BITMAP
-                                                         ,wxBITMAP_TYPE_RESOURCE
+                                                         ,wxBITMAP_TYPE_BMP_RESOURCE
                                                         ),
                                     pos, size, style)
 #else
                                                         ),
                                     pos, size, style)
 #else
@@ -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
@@ -333,7 +332,7 @@ wxString wxHelpProvider::GetHelpTextMaybeAtPoint(wxWindowBase *window)
     if ( m_helptextAtPoint != wxDefaultPosition ||
             m_helptextOrigin != wxHelpEvent::Origin_Unknown )
     {
     if ( m_helptextAtPoint != wxDefaultPosition ||
             m_helptextOrigin != wxHelpEvent::Origin_Unknown )
     {
-        wxCHECK_MSG( window, wxEmptyString, _T("window must not be NULL") );
+        wxCHECK_MSG( window, wxEmptyString, wxT("window must not be NULL") );
 
         wxPoint pt = m_helptextAtPoint;
         wxHelpEvent::Origin origin = m_helptextOrigin;
 
         wxPoint pt = m_helptextAtPoint;
         wxHelpEvent::Origin origin = m_helptextOrigin;
@@ -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
@@ -468,7 +472,7 @@ bool wxHelpControllerHelpProvider::ShowHelp(wxWindowBase *window)
 // Convenience function for turning context id into wxString
 wxString wxContextId(int id)
 {
 // Convenience function for turning context id into wxString
 wxString wxContextId(int id)
 {
-    return wxString::Format(_T("%d"), id);
+    return wxString::Format(wxT("%d"), id);
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------