X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..1ecc323f2609c8afea31948b9eac2d965cc84f5e:/src/msw/helpwin.cpp diff --git a/src/msw/helpwin.cpp b/src/msw/helpwin.cpp index a65b579e4c..72339e4d98 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,16 +13,15 @@ #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/filename.h" #include "wx/msw/helpwin.h" #include @@ -33,9 +32,11 @@ #include -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,27 +94,28 @@ 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. wxString wxWinHelpController::GetValidFilename(const wxString& file) const { wxString path, name, ext; - wxSplitPath(file, & path, & name, & ext); + wxFileName::SplitPath(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");