X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3295e23873ab52d5be80c52b8647909546936ae2..cb73e6001f891ae46b12a1e4ca39b93649cb6099:/src/msw/helpchm.cpp diff --git a/src/msw/helpchm.cpp b/src/msw/helpchm.cpp index 88dff23aab..902829aca0 100644 --- a/src/msw/helpchm.cpp +++ b/src/msw/helpchm.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "helpchm.h" #endif @@ -25,66 +25,15 @@ #include "wx/filefn.h" #include "wx/msw/helpchm.h" -#include "wx/dynlib.h" +#include "wx/dynload.h" -#include "wx/msw/private.h" - -// instead of including htmlhelp.h, duplicate the things from it we need here +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/app.h" +#endif -enum -{ - HH_DISPLAY_TOPIC, - HH_DISPLAY_TOC, - HH_DISPLAY_INDEX, - HH_DISPLAY_SEARCH, - HH_SET_WIN_TYPE, - HH_GET_WIN_TYPE, - HH_GET_WIN_HANDLE, - HH_ENUM_INFO_TYPE, - HH_SET_INFO_TYPE, - HH_SYNC, - HH_RESERVED1, - HH_RESERVED2, - HH_RESERVED3, - HH_KEYWORD_LOOKUP, - HH_DISPLAY_TEXT_POPUP, - HH_HELP_CONTEXT, - HH_TP_HELP_CONTEXTMENU, - HH_TP_HELP_WM_HELP, - HH_CLOSE_ALL, - HH_ALINK_LOOKUP, - HH_GET_LAST_ERROR, - HH_ENUM_CATEGORY, - HH_ENUM_CATEGORY_IT, - HH_RESET_IT_FILTER, - HH_SET_INCLUSIVE_FILTER, - HH_SET_EXCLUSIVE_FILTER -}; - -struct HH_POPUP -{ - int cbStruct; - HINSTANCE hinst; - UINT idString; - LPCTSTR pszText; - POINT pt; - COLORREF clrForeground; - COLORREF clrBackground; - RECT rcMargins; - LPCTSTR pszFont; -}; - -struct HH_AKLINK -{ - int cbStruct; - BOOL fReserved; - LPCTSTR pszKeywords; - LPCTSTR pszUrl; - LPCTSTR pszMsgText; - LPCTSTR pszMsgTitle; - LPCTSTR pszWindow; - BOOL fIndexOnFail; -}; +#include "wx/msw/private.h" +#include "wx/msw/missing.h" // ---------------------------------------------------------------------------- // utility functions to manage the loading/unloading @@ -93,34 +42,33 @@ struct HH_AKLINK #ifndef UNICODE typedef HWND ( WINAPI * HTMLHELP )( HWND, LPCSTR, UINT, DWORD ); - #define HTMLHELP_NAME "HtmlHelpA" + #define HTMLHELP_NAME wxT("HtmlHelpA") #else // ANSI typedef HWND ( WINAPI * HTMLHELP )( HWND, LPCWSTR, UINT, DWORD ); - #define HTMLHELP_NAME "HtmlHelpW" + #define HTMLHELP_NAME wxT("HtmlHelpW") #endif // dll symbol handle static HTMLHELP gs_htmlHelp = 0; -static wxPluginLibrary *gs_libHtmlHelp = NULL; static bool LoadHtmlHelpLibrary() { - gs_libHtmlHelp = wxPluginManager::LoadLibrary( _T("HHCTRL.OCX"), wxDL_DEFAULT | wxDL_VERBATIM ); + wxPluginLibrary *lib = wxPluginManager::LoadLibrary( _T("HHCTRL.OCX"), wxDL_DEFAULT | wxDL_VERBATIM ); - if( !gs_libHtmlHelp ) + 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; } else { - gs_htmlHelp = (HTMLHELP)gs_libHtmlHelp->GetSymbol( HTMLHELP_NAME ); + gs_htmlHelp = (HTMLHELP)lib->GetSymbol( HTMLHELP_NAME ); if( !gs_htmlHelp ) { wxLogError(_("Failed to initialize MS HTML Help.")); - gs_libHtmlHelp->UnrefLib(); + lib->UnrefLib(); return FALSE ; } } @@ -130,12 +78,10 @@ static bool LoadHtmlHelpLibrary() static void UnloadHtmlHelpLibrary() { - if( gs_htmlHelp ) + if ( gs_htmlHelp ) { - wxPluginManager::UnloadLibrary( _T("HHCTRL.OCX") ); - gs_libHtmlHelp->UnrefLib(); - - gs_htmlHelp = 0; + if (wxPluginManager::UnloadLibrary( _T("HHCTRL.OCX") )) + gs_htmlHelp = 0; } }