X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e0b3e85b5a3cf492e176b1a8e6f13d23cda3acf4..19e30148e18cc99296b26503c155e5cef59045f4:/src/generic/helpext.cpp diff --git a/src/generic/helpext.cpp b/src/generic/helpext.cpp index abac836452..9f165b3a50 100644 --- a/src/generic/helpext.cpp +++ b/src/generic/helpext.cpp @@ -40,8 +40,17 @@ #include #endif +#ifdef __WXMSW__ +#include +#endif + IMPLEMENT_CLASS(wxExtHelpController, wxHTMLHelpControllerBase) +/// Name of environment variable to set help browser. +#define WXEXTHELP_ENVVAR_BROWSER "WX_HELPBROWSER" +/// Is browser a netscape browser? +#define WXEXTHELP_ENVVAR_BROWSERISNETSCAPE "WX_HELPBROWSER_NS" + /** This class implements help via an external browser. It requires the name of a directory containing the documentation @@ -77,7 +86,7 @@ void wxExtHelpController::SetViewer(const wxString& viewer, long flags) } bool -wxExtHelpController::DisplayHelp(wxString const &relativeURL) +wxExtHelpController::DisplayHelp(const wxString &relativeURL) { wxBusyCursor b; // display a busy cursor @@ -85,7 +94,7 @@ wxExtHelpController::DisplayHelp(wxString const &relativeURL) #if defined(__WXMSW__) wxString url; url << m_MapFile << '\\' << relativeURL.BeforeFirst('#'); - bool bOk = (int)ShellExecute(NULL, "open", url, + bool bOk = (int)ShellExecute(NULL, wxT("open"), url.c_str(), NULL, NULL, SW_SHOWNORMAL ) > 32; if ( !bOk ) { @@ -94,7 +103,9 @@ wxExtHelpController::DisplayHelp(wxString const &relativeURL) } else return true; + #elif defined(__WXPM__) + wxString url; url << m_MapFile << '\\' << relativeURL.BeforeFirst('#'); // will have to fix for OS/2, later.....DW @@ -107,8 +118,16 @@ wxExtHelpController::DisplayHelp(wxString const &relativeURL) // } // else return TRUE; -#else - // assume UNIX + +#elif defined(__DOS__) + + wxString command; + command = m_BrowserName; + command << wxT(" file://") + << m_MapFile << WXEXTHELP_SEPARATOR << relativeURL; + return wxExecute(command) != 0; + +#else // UNIX wxString command; if(m_BrowserIsNetscape) // try re-loading first @@ -126,7 +145,7 @@ wxExtHelpController::DisplayHelp(wxString const &relativeURL) // cannot use wxFileExists, because it's a link pointing to a // non-existing location if(wxFileExists(lockfile)) #endif - { + { long success; command << m_BrowserName << wxT(" -remote openURL(") << wxT("file://") << m_MapFile