]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/helpbest.cpp
missing commit
[wxWidgets.git] / src / msw / helpbest.cpp
index 2b7e2cf2b8ab46892bedae68e8f6fcc2d4a32cb5..997655790c019cae1bbb7a523799c3b281a3a783 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        helpbest.cpp
+// Name:        src/msw/helpbest.cpp
 // Purpose:     Tries to load MS HTML Help, falls back to wxHTML upon failure
 // Author:      Mattia Barbon
 // Modified by:
 // Purpose:     Tries to load MS HTML Help, falls back to wxHTML upon failure
 // Author:      Mattia Barbon
 // Modified by:
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "helpbest.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #endif
 
 #ifndef WX_PRECOMP
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx/defs.h"
+    #include "wx/log.h"
 #endif
 
 #endif
 
-#include "wx/filefn.h"
-#include "wx/log.h"
+#include "wx/filename.h"
 
 
-#if wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) \
+#if wxUSE_HELP && wxUSE_MS_HTML_HELP \
     && wxUSE_WXHTML_HELP && !defined(__WXUNIVERSAL__)
 
 #include "wx/msw/helpchm.h"
     && wxUSE_WXHTML_HELP && !defined(__WXUNIVERSAL__)
 
 #include "wx/msw/helpchm.h"
@@ -39,7 +34,7 @@ IMPLEMENT_DYNAMIC_CLASS( wxBestHelpController, wxHelpControllerBase )
 bool wxBestHelpController::Initialize( const wxString& filename )
 {
     // try wxCHMHelpController
 bool wxBestHelpController::Initialize( const wxString& filename )
 {
     // try wxCHMHelpController
-    wxCHMHelpController* chm = new wxCHMHelpController;
+    wxCHMHelpController* chm = new wxCHMHelpController(m_parentWindow);
 
     m_helpControllerType = wxUseChmHelp;
     // do not warn upon failure
 
     m_helpControllerType = wxUseChmHelp;
     // do not warn upon failure
@@ -48,6 +43,7 @@ bool wxBestHelpController::Initialize( const wxString& filename )
     if( chm->Initialize( GetValidFilename( filename ) ) )
     {
         m_helpController = chm;
     if( chm->Initialize( GetValidFilename( filename ) ) )
     {
         m_helpController = chm;
+        m_parentWindow = NULL;
         return true;
     }
 
         return true;
     }
 
@@ -55,12 +51,14 @@ bool wxBestHelpController::Initialize( const wxString& filename )
     delete chm;
 
     // try wxHtmlHelpController
     delete chm;
 
     // try wxHtmlHelpController
-    wxHtmlHelpController* html = new wxHtmlHelpController;
+    wxHtmlHelpController *
+        html = new wxHtmlHelpController(m_style, m_parentWindow);
 
     m_helpControllerType = wxUseHtmlHelp;
     if( html->Initialize( GetValidFilename( filename ) ) )
     {
         m_helpController = html;
 
     m_helpControllerType = wxUseHtmlHelp;
     if( html->Initialize( GetValidFilename( filename ) ) )
     {
         m_helpController = html;
+        m_parentWindow = NULL;
         return true;
     }
 
         return true;
     }
 
@@ -72,24 +70,29 @@ bool wxBestHelpController::Initialize( const wxString& filename )
 
 wxString wxBestHelpController::GetValidFilename( const wxString& filename ) const
 {
 
 wxString wxBestHelpController::GetValidFilename( const wxString& filename ) const
 {
-    wxString tmp = filename;
-    ::wxStripExtension( tmp );
+    wxFileName fn(filename);
 
     switch( m_helpControllerType )
     {
         case wxUseChmHelp:
 
     switch( m_helpControllerType )
     {
         case wxUseChmHelp:
-            if( ::wxFileExists( tmp + wxT(".chm") ) )
-                return tmp + wxT(".chm");
+            fn.SetExt("chm");
+            if( fn.FileExists() )
+                return fn.GetFullPath();
 
             return filename;
 
         case wxUseHtmlHelp:
 
             return filename;
 
         case wxUseHtmlHelp:
-            if( ::wxFileExists( tmp + wxT(".htb") ) )
-                return tmp + wxT(".htb");
-            if( ::wxFileExists( tmp + wxT(".zip") ) )
-                return tmp + wxT(".zip");
-            if( ::wxFileExists( tmp + wxT(".hhp") ) )
-                return tmp + wxT(".hhp");
+            fn.SetExt("htb");
+            if( fn.FileExists() )
+                return fn.GetFullPath();
+
+            fn.SetExt("zip");
+            if( fn.FileExists() )
+                return fn.GetFullPath();
+
+            fn.SetExt("hhp");
+            if( fn.FileExists() )
+                return fn.GetFullPath();
 
             return filename;
 
 
             return filename;
 
@@ -102,4 +105,4 @@ wxString wxBestHelpController::GetValidFilename( const wxString& filename ) cons
 }
 
 #endif
 }
 
 #endif
-    // wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) && wxUSE_WXHTML_HELP
+    // wxUSE_HELP && wxUSE_MS_HTML_HELP && wxUSE_WXHTML_HELP