X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..c616c2e834192db06bbef18b9404824f563e335f:/src/msw/helpwin.cpp diff --git a/src/msw/helpwin.cpp b/src/msw/helpwin.cpp index 74d9160f7f..e5739bad4f 100644 --- a/src/msw/helpwin.cpp +++ b/src/msw/helpwin.cpp @@ -1,18 +1,14 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: helpwin.cpp +// Name: src/msw/helpwin.cpp // Purpose: Help system: WinHelp implementation // Author: Julian Smart // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "helpwin.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -37,9 +33,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(); @@ -50,62 +48,64 @@ IMPLEMENT_DYNAMIC_CLASS(wxWinHelpController, wxHelpControllerBase) bool wxWinHelpController::Initialize(const wxString& filename) { m_helpFile = filename; - return TRUE; + return true; } bool wxWinHelpController::LoadFile(const wxString& file) { if (!file.IsEmpty()) m_helpFile = file; - return TRUE; + return true; } bool wxWinHelpController::DisplayContents(void) { - if (m_helpFile.IsEmpty()) return FALSE; - + if (m_helpFile.IsEmpty()) return false; + wxString str = GetValidFilename(m_helpFile); - -#if defined(__WIN95__) - WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L); -#else - WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L); -#endif - return TRUE; + + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_FINDER, 0L) != 0); } bool wxWinHelpController::DisplaySection(int section) { // Use context number - if (m_helpFile.IsEmpty()) return FALSE; - + if (m_helpFile.IsEmpty()) return false; + + wxString str = GetValidFilename(m_helpFile); + + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_CONTEXT, (DWORD)section) != 0); +} + +bool wxWinHelpController::DisplayContextPopup(int contextId) +{ + if (m_helpFile.IsEmpty()) return false; + wxString str = GetValidFilename(m_helpFile); - WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section); - return TRUE; + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0); } bool wxWinHelpController::DisplayBlock(long block) { DisplaySection(block); - return TRUE; + return true; } -bool wxWinHelpController::KeywordSearch(const wxString& k) +bool wxWinHelpController::KeywordSearch(const wxString& k, + wxHelpSearchMode WXUNUSED(mode)) { - if (m_helpFile.IsEmpty()) return FALSE; - + if (m_helpFile.IsEmpty()) return false; + wxString str = GetValidFilename(m_helpFile); - - WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k); - return TRUE; + + return (WinHelp(GetSuitableHWND(this), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k) != 0); } // Can't close the help window explicitly in WinHelp bool wxWinHelpController::Quit(void) { - WinHelp(GetSuitableHWND(), 0, HELP_QUIT, 0L); - return TRUE; + return (WinHelp(GetSuitableHWND(this), 0, HELP_QUIT, 0L) != 0); } // Append extension if necessary.