91 lines
3.3 KiB
C
91 lines
3.3 KiB
C
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Name: wx/msw/helpchm.h
|
||
|
// Purpose: Help system: MS HTML Help implementation
|
||
|
// Author: Julian Smart
|
||
|
// Modified by:
|
||
|
// Created: 16/04/2000
|
||
|
// RCS-ID: $Id: helpchm.h 67254 2011-03-20 00:14:35Z DS $
|
||
|
// Copyright: (c) Julian Smart
|
||
|
// Licence: wxWindows licence
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef _WX_MSW_HELPCHM_H_
|
||
|
#define _WX_MSW_HELPCHM_H_
|
||
|
|
||
|
#if wxUSE_MS_HTML_HELP
|
||
|
|
||
|
#include "wx/helpbase.h"
|
||
|
|
||
|
class WXDLLIMPEXP_CORE wxCHMHelpController : public wxHelpControllerBase
|
||
|
{
|
||
|
public:
|
||
|
wxCHMHelpController(wxWindow* parentWindow = NULL): wxHelpControllerBase(parentWindow) { }
|
||
|
|
||
|
// Must call this to set the filename
|
||
|
virtual bool Initialize(const wxString& file);
|
||
|
virtual bool Initialize(const wxString& file, int WXUNUSED(server) ) { return Initialize( file ); }
|
||
|
|
||
|
// If file is "", reloads file given in Initialize
|
||
|
virtual bool LoadFile(const wxString& file = wxEmptyString);
|
||
|
virtual bool DisplayContents();
|
||
|
virtual bool DisplaySection(int sectionNo);
|
||
|
virtual bool DisplaySection(const wxString& section);
|
||
|
virtual bool DisplayBlock(long blockNo);
|
||
|
virtual bool DisplayContextPopup(int contextId);
|
||
|
virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos);
|
||
|
virtual bool KeywordSearch(const wxString& k,
|
||
|
wxHelpSearchMode mode = wxHELP_SEARCH_ALL);
|
||
|
virtual bool Quit();
|
||
|
|
||
|
wxString GetHelpFile() const { return m_helpFile; }
|
||
|
|
||
|
// helper of DisplayTextPopup(), also used in wxSimpleHelpProvider::ShowHelp
|
||
|
static bool ShowContextHelpPopup(const wxString& text,
|
||
|
const wxPoint& pos,
|
||
|
wxWindow *window);
|
||
|
|
||
|
protected:
|
||
|
// get the name of the CHM file we use from our m_helpFile
|
||
|
wxString GetValidFilename() const;
|
||
|
|
||
|
// Call HtmlHelp() with the provided parameters (both overloads do the same
|
||
|
// thing but allow to avoid casts in the calling code) and return false
|
||
|
// (but don't crash) if HTML help is unavailable
|
||
|
static bool CallHtmlHelp(wxWindow *win, const wxChar *str,
|
||
|
unsigned cmd, WXWPARAM param);
|
||
|
static bool CallHtmlHelp(wxWindow *win, const wxChar *str,
|
||
|
unsigned cmd, const void *param = NULL)
|
||
|
{
|
||
|
return CallHtmlHelp(win, str, cmd, reinterpret_cast<WXWPARAM>(param));
|
||
|
}
|
||
|
|
||
|
// even simpler wrappers using GetParentWindow() and GetValidFilename() as
|
||
|
// the first 2 HtmlHelp() parameters
|
||
|
bool CallHtmlHelp(unsigned cmd, WXWPARAM param)
|
||
|
{
|
||
|
return CallHtmlHelp(GetParentWindow(), GetValidFilename().wx_str(),
|
||
|
cmd, param);
|
||
|
}
|
||
|
|
||
|
bool CallHtmlHelp(unsigned cmd, const void *param = NULL)
|
||
|
{
|
||
|
return CallHtmlHelp(cmd, reinterpret_cast<WXWPARAM>(param));
|
||
|
}
|
||
|
|
||
|
// wrapper around CallHtmlHelp(HH_DISPLAY_TEXT_POPUP): only one of text and
|
||
|
// contextId parameters can be non-NULL/non-zero
|
||
|
static bool DoDisplayTextPopup(const wxChar *text,
|
||
|
const wxPoint& pos,
|
||
|
int contextId,
|
||
|
wxWindow *window);
|
||
|
|
||
|
|
||
|
wxString m_helpFile;
|
||
|
|
||
|
DECLARE_CLASS(wxCHMHelpController)
|
||
|
};
|
||
|
|
||
|
#endif // wxUSE_MS_HTML_HELP
|
||
|
|
||
|
#endif // _WX_MSW_HELPCHM_H_
|