X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..dd9f8b6bb6935360a8271dc3e8749fb026b601a8:/src/msw/helpwin.cpp?ds=sidebyside

diff --git a/src/msw/helpwin.cpp b/src/msw/helpwin.cpp
index a65b579e4c..e33ad6c8de 100644
--- a/src/msw/helpwin.cpp
+++ b/src/msw/helpwin.cpp
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        helpwin.cpp
+// Name:        src/msw/helpwin.cpp
 // Purpose:     Help system: WinHelp implementation
 // Author:      Julian Smart
 // Modified by:
@@ -13,15 +13,14 @@
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
+#if wxUSE_HELP
+
 #ifndef WX_PRECOMP
-#include "wx/defs.h"
 #endif
 
-#if wxUSE_HELP
-
 #include "wx/filefn.h"
 #include "wx/msw/helpwin.h"
 
@@ -33,9 +32,11 @@
 
 #include <string.h>
 
-static HWND GetSuitableHWND()
+static HWND GetSuitableHWND(wxWinHelpController* controller)
 {
-    if (wxTheApp->GetTopWindow())
+    if (controller->GetParentWindow())
+        return (HWND) controller->GetParentWindow()->GetHWND();
+    else if (wxTheApp->GetTopWindow())
         return (HWND) wxTheApp->GetTopWindow()->GetHWND();
     else
         return GetDesktopWindow();
@@ -51,41 +52,37 @@ bool wxWinHelpController::Initialize(const wxString& filename)
 
 bool wxWinHelpController::LoadFile(const wxString& file)
 {
-    if (!file.IsEmpty())
+    if (!file.empty())
         m_helpFile = file;
     return true;
 }
 
 bool wxWinHelpController::DisplayContents(void)
 {
-    if (m_helpFile.IsEmpty()) return false;
+    if (m_helpFile.empty()) return false;
 
     wxString str = GetValidFilename(m_helpFile);
 
-#if defined(__WIN95__)
-    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L) != 0);
-#else
-    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L) != 0);
-#endif
+    return (WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_FINDER, 0L) != 0);
 }
 
 bool wxWinHelpController::DisplaySection(int section)
 {
     // Use context number
-    if (m_helpFile.IsEmpty()) return false;
+    if (m_helpFile.empty()) return false;
 
     wxString str = GetValidFilename(m_helpFile);
 
-    return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section) != 0);
+    return (WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_CONTEXT, (DWORD)section) != 0);
 }
 
 bool wxWinHelpController::DisplayContextPopup(int contextId)
 {
-    if (m_helpFile.IsEmpty()) return false;
+    if (m_helpFile.empty()) return false;
 
     wxString str = GetValidFilename(m_helpFile);
 
-    return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0);
+    return (WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_CONTEXTPOPUP, (DWORD) contextId) != 0);
 }
 
 bool wxWinHelpController::DisplayBlock(long block)
@@ -97,17 +94,18 @@ bool wxWinHelpController::DisplayBlock(long block)
 bool wxWinHelpController::KeywordSearch(const wxString& k,
                                         wxHelpSearchMode WXUNUSED(mode))
 {
-    if (m_helpFile.IsEmpty()) return false;
+    if (m_helpFile.empty()) return false;
 
     wxString str = GetValidFilename(m_helpFile);
 
-    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k) != 0);
+    return WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_PARTIALKEY,
+                   (ULONG_PTR)k.wx_str()) != 0;
 }
 
 // Can't close the help window explicitly in WinHelp
 bool wxWinHelpController::Quit(void)
 {
-    return (WinHelp(GetSuitableHWND(), 0, HELP_QUIT, 0L) != 0);
+    return WinHelp(GetSuitableHWND(this), 0, HELP_QUIT, 0) != 0;
 }
 
 // Append extension if necessary.
@@ -117,7 +115,7 @@ wxString wxWinHelpController::GetValidFilename(const wxString& file) const
     wxSplitPath(file, & path, & name, & ext);
 
     wxString fullName;
-    if (path.IsEmpty())
+    if (path.empty())
         fullName = name + wxT(".hlp");
     else if (path.Last() == wxT('\\'))
         fullName = path + name + wxT(".hlp");