X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..48a102f9e553f6b05185708ddc60f61be66ff3f5:/src/msw/helpchm.cpp diff --git a/src/msw/helpchm.cpp b/src/msw/helpchm.cpp index 2871a9f782..2d964b0011 100644 --- a/src/msw/helpchm.cpp +++ b/src/msw/helpchm.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: helpchm.cpp +// Name: src/msw/helpchm.cpp // Purpose: Help system: MS HTML Help implementation // Author: Julian Smart // Modified by: @@ -9,10 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma implementation "helpchm.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -20,12 +16,12 @@ #pragma hdrstop #endif -#if wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) +#if wxUSE_HELP && wxUSE_MS_HTML_HELP #include "wx/filefn.h" #include "wx/msw/helpchm.h" -#include "wx/dynlib.h" +#include "wx/dynload.h" #ifndef WX_PRECOMP #include "wx/intl.h" @@ -33,7 +29,7 @@ #endif #include "wx/msw/private.h" -#include "wx/msw/missing.h" +#include "wx/msw/htmlhelp.h" // ---------------------------------------------------------------------------- // utility functions to manage the loading/unloading @@ -58,7 +54,7 @@ static bool LoadHtmlHelpLibrary() if( !lib ) { wxLogError(_("MS HTML Help functions are unavailable because the MS HTML Help library is not installed on this machine. Please install it.")); - return FALSE; + return false; } else { @@ -69,26 +65,27 @@ static bool LoadHtmlHelpLibrary() wxLogError(_("Failed to initialize MS HTML Help.")); lib->UnrefLib(); - return FALSE ; + return false ; } } - return TRUE; + return true; } static void UnloadHtmlHelpLibrary() { if ( gs_htmlHelp ) { - wxPluginManager::UnloadLibrary( _T("HHCTRL.OCX") ); - - gs_htmlHelp = 0; + if (wxPluginManager::UnloadLibrary( _T("HHCTRL.OCX") )) + gs_htmlHelp = 0; } } -static HWND GetSuitableHWND() +static HWND GetSuitableHWND(wxCHMHelpController* controller) { - if (wxTheApp->GetTopWindow()) + if (controller->GetParentWindow()) + return (HWND) controller->GetParentWindow()->GetHWND(); + else if (wxTheApp->GetTopWindow()) return (HWND) wxTheApp->GetTopWindow()->GetHWND(); else return GetDesktopWindow(); @@ -100,60 +97,60 @@ bool wxCHMHelpController::Initialize(const wxString& filename) { // warn on failure if( !LoadHtmlHelpLibrary() ) - return FALSE; + return false; m_helpFile = filename; - return TRUE; + return true; } bool wxCHMHelpController::LoadFile(const wxString& file) { if (!file.IsEmpty()) m_helpFile = file; - return TRUE; + return true; } bool wxCHMHelpController::DisplayContents() { - if (m_helpFile.IsEmpty()) return FALSE; + if (m_helpFile.IsEmpty()) return false; wxString str = GetValidFilename(m_helpFile); - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TOPIC, 0L); - return TRUE; + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TOPIC, 0L); + return true; } // Use topic or HTML filename bool wxCHMHelpController::DisplaySection(const wxString& section) { - if (m_helpFile.IsEmpty()) return FALSE; + if (m_helpFile.IsEmpty()) return false; wxString str = GetValidFilename(m_helpFile); // Is this an HTML file or a keyword? - bool isFilename = (section.Find(wxT(".htm")) != -1); + bool isFilename = (section.Find(wxT(".htm")) != wxNOT_FOUND); if (isFilename) - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TOPIC, (DWORD) (const wxChar*) section); + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TOPIC, (DWORD) (const wxChar*) section); else KeywordSearch(section); - return TRUE; + return true; } // Use context number bool wxCHMHelpController::DisplaySection(int section) { - if (m_helpFile.IsEmpty()) return FALSE; + if (m_helpFile.IsEmpty()) return false; wxString str = GetValidFilename(m_helpFile); - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_HELP_CONTEXT, (DWORD)section); - return TRUE; + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_HELP_CONTEXT, (DWORD)section); + return true; } bool wxCHMHelpController::DisplayContextPopup(int contextId) { - if (m_helpFile.IsEmpty()) return FALSE; + if (m_helpFile.IsEmpty()) return false; wxString str = GetValidFilename(m_helpFile); @@ -172,8 +169,8 @@ bool wxCHMHelpController::DisplayContextPopup(int contextId) popup.pszFont = NULL; popup.pszText = NULL; - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); - return TRUE; + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); + return true; } bool wxCHMHelpController::DisplayTextPopup(const wxString& text, const wxPoint& pos) @@ -189,8 +186,8 @@ bool wxCHMHelpController::DisplayTextPopup(const wxString& text, const wxPoint& popup.pszFont = NULL; popup.pszText = (const wxChar*) text; - gs_htmlHelp(GetSuitableHWND(), NULL, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); - return TRUE; + gs_htmlHelp(GetSuitableHWND(this), NULL, HH_DISPLAY_TEXT_POPUP, (DWORD) & popup); + return true; } bool wxCHMHelpController::DisplayBlock(long block) @@ -198,9 +195,10 @@ bool wxCHMHelpController::DisplayBlock(long block) return DisplaySection(block); } -bool wxCHMHelpController::KeywordSearch(const wxString& k) +bool wxCHMHelpController::KeywordSearch(const wxString& k, + wxHelpSearchMode WXUNUSED(mode)) { - if (m_helpFile.IsEmpty()) return FALSE; + if (m_helpFile.IsEmpty()) return false; wxString str = GetValidFilename(m_helpFile); @@ -214,15 +212,15 @@ bool wxCHMHelpController::KeywordSearch(const wxString& k) link.pszWindow = NULL ; link.fIndexOnFail = TRUE ; - gs_htmlHelp(GetSuitableHWND(), (const wxChar*) str, HH_KEYWORD_LOOKUP, (DWORD)& link); - return TRUE; + gs_htmlHelp(GetSuitableHWND(this), (const wxChar*) str, HH_KEYWORD_LOOKUP, (DWORD)& link); + return true; } bool wxCHMHelpController::Quit() { - gs_htmlHelp(GetSuitableHWND(), 0, HH_CLOSE_ALL, 0L); + gs_htmlHelp(GetSuitableHWND(this), 0, HH_CLOSE_ALL, 0L); - return TRUE; + return true; } // Append extension if necessary. @@ -247,4 +245,3 @@ wxCHMHelpController::~wxCHMHelpController() } #endif // wxUSE_HELP -