#include "wx/msw/helpwin.h"
-#if USE_HELP
+#if wxUSE_HELP
#include <time.h>
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
#include <wx/msw/private.h>
#endif
{
}
-bool wxWinHelpController::Initialize(const wxString& filename, int server)
+bool wxWinHelpController::Initialize(const wxString& filename)
{
m_helpFile = filename;
return TRUE;
bool wxWinHelpController::DisplayContents(void)
{
- if (m_helpFile == "") return FALSE;
+ if (m_helpFile == _T("")) return FALSE;
+
+ wxString str = m_helpFile;
+ size_t len = str.Length();
+ if (!(str[(size_t)(len-1)] == _T('p') && str[(size_t)(len-2)] == _T('l') && str[(size_t)(len-3)] == _T('h') && str[(size_t)(len-4)] == _T('.')))
+ str += _T(".hlp");
- char buf[_MAXPATHLEN];
- strcpy(buf, (const char*) m_helpFile);
- size_t len = strlen(buf);
- if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
- strcat(buf, ".hlp");
if (wxTheApp->GetTopWindow())
{
#if defined(__WIN95__)
- WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_FINDER, 0L);
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_FINDER, 0L);
#else
- WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_CONTENTS, 0L);
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTENTS, 0L);
#endif
return TRUE;
}
bool wxWinHelpController::DisplaySection(int section)
{
- // No WinHelp equivalent for this
- return FALSE;
+ // Use context number
+ if (m_helpFile == _T("")) return FALSE;
+
+ wxString str = m_helpFile;
+ size_t len = str.Length();
+ if (!(str[(size_t)(len-1)] == _T('p') && str[(size_t)(len-2)] == _T('l') && str[(size_t)(len-3)] == _T('h') && str[(size_t)(len-4)] == _T('.')))
+ str += _T(".hlp");
+
+ if (wxTheApp->GetTopWindow())
+ {
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section);
+ return TRUE;
+ }
+ return FALSE;
}
bool wxWinHelpController::DisplayBlock(long block)
{
// Use context number -- a very rough equivalent to block id!
- if (!m_helpFile) return FALSE;
+ if (m_helpFile == _T("")) return FALSE;
+
+ wxString str = m_helpFile;
+ size_t len = str.Length();
+ if (!(str[(size_t)(len-1)] == 'p' && str[(size_t)(len-2)] == 'l' && str[(size_t)(len-3)] == 'h' && str[(size_t)(len-4)] == '.'))
+ str += _T(".hlp");
- char buf[_MAXPATHLEN];
- strcpy(buf, m_helpFile);
- size_t len = strlen(buf);
- if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
- strcat(buf, ".hlp");
if (wxTheApp->GetTopWindow())
{
- WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_CONTEXT, (DWORD)block);
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)block);
return TRUE;
}
return FALSE;
bool wxWinHelpController::KeywordSearch(const wxString& k)
{
- if (m_helpFile == "") return FALSE;
+ if (m_helpFile == _T("")) return FALSE;
+
+ wxString str = m_helpFile;
+ size_t len = str.Length();
+ if (!(str[(size_t)(len-1)] == _T('p') && str[(size_t)(len-2)] == _T('l') && str[(size_t)(len-3)] == _T('h') && str[(size_t)(len-4)] == _T('.')))
+ str += _T(".hlp");
- char buf[_MAXPATHLEN];
- strcpy(buf, m_helpFile);
- size_t len = strlen(buf);
- if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
- strcat(buf, ".hlp");
if (wxTheApp->GetTopWindow())
{
- WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_PARTIALKEY, (DWORD)(const char*) k);
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k);
return TRUE;
}
return FALSE;
// Can't close the help window explicitly in WinHelp
bool wxWinHelpController::Quit(void)
{
- return TRUE;
+ if (wxTheApp->GetTopWindow())
+ {
+ WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), 0, HELP_QUIT, 0L);
+ return TRUE;
+ }
+ else
+ return FALSE;
}
// Don't get notified of WinHelp quitting
{
}
-#endif // USE_HELP
+#endif // wxUSE_HELP