2011-03-20 18:05:19 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/msw/helpbest.h
|
|
|
|
// Purpose: Tries to load MS HTML Help, falls back to wxHTML upon failure
|
|
|
|
// Author: Mattia Barbon
|
|
|
|
// Modified by:
|
|
|
|
// Created: 02/04/2001
|
|
|
|
// Copyright: (c) Mattia Barbon
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_HELPBEST_H_
|
|
|
|
#define _WX_HELPBEST_H_
|
|
|
|
|
|
|
|
#if wxUSE_HELP && wxUSE_MS_HTML_HELP \
|
|
|
|
&& wxUSE_WXHTML_HELP && !defined(__WXUNIVERSAL__)
|
|
|
|
|
|
|
|
#include "wx/helpbase.h"
|
|
|
|
#include "wx/html/helpfrm.h" // for wxHF_DEFAULT_STYLE
|
|
|
|
|
|
|
|
class WXDLLIMPEXP_HTML wxBestHelpController: public wxHelpControllerBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxBestHelpController(wxWindow* parentWindow = NULL,
|
|
|
|
int style = wxHF_DEFAULT_STYLE)
|
|
|
|
: wxHelpControllerBase(parentWindow),
|
|
|
|
m_helpControllerType(wxUseNone),
|
|
|
|
m_helpController(NULL),
|
|
|
|
m_style(style)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual ~wxBestHelpController() { delete m_helpController; }
|
|
|
|
|
|
|
|
// 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)
|
|
|
|
{
|
|
|
|
return m_helpController->LoadFile( GetValidFilename( file ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplayContents()
|
|
|
|
{
|
|
|
|
return m_helpController->DisplayContents();
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplaySection(int sectionNo)
|
|
|
|
{
|
|
|
|
return m_helpController->DisplaySection( sectionNo );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplaySection(const wxString& section)
|
|
|
|
{
|
|
|
|
return m_helpController->DisplaySection( section );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplayBlock(long blockNo)
|
|
|
|
{
|
|
|
|
return m_helpController->DisplayBlock( blockNo );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplayContextPopup(int contextId)
|
|
|
|
{
|
|
|
|
return m_helpController->DisplayContextPopup( contextId );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos)
|
|
|
|
{
|
|
|
|
return m_helpController->DisplayTextPopup( text, pos );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool KeywordSearch(const wxString& k,
|
|
|
|
wxHelpSearchMode mode = wxHELP_SEARCH_ALL)
|
|
|
|
{
|
|
|
|
return m_helpController->KeywordSearch( k, mode );
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual bool Quit()
|
|
|
|
{
|
|
|
|
return m_helpController->Quit();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Allows one to override the default settings for the help frame.
|
|
|
|
virtual void SetFrameParameters(const wxString& title,
|
|
|
|
const wxSize& size,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
bool newFrameEachTime = false)
|
|
|
|
{
|
|
|
|
m_helpController->SetFrameParameters( title, size, pos,
|
|
|
|
newFrameEachTime );
|
|
|
|
}
|
|
|
|
|
|
|
|
// Obtains the latest settings used by the help frame and the help frame.
|
|
|
|
virtual wxFrame *GetFrameParameters(wxSize *size = NULL,
|
|
|
|
wxPoint *pos = NULL,
|
|
|
|
bool *newFrameEachTime = NULL)
|
|
|
|
{
|
|
|
|
return m_helpController->GetFrameParameters( size, pos,
|
|
|
|
newFrameEachTime );
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Set the window that can optionally be used for the help window's parent.
|
|
|
|
virtual void SetParentWindow(wxWindow* win) { m_helpController->SetParentWindow(win); }
|
|
|
|
|
|
|
|
/// Get the window that can optionally be used for the help window's parent.
|
|
|
|
virtual wxWindow* GetParentWindow() const { return m_helpController->GetParentWindow(); }
|
|
|
|
|
|
|
|
protected:
|
|
|
|
// Append/change extension if necessary.
|
|
|
|
wxString GetValidFilename(const wxString& file) const;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
enum HelpControllerType { wxUseNone, wxUseHtmlHelp, wxUseChmHelp };
|
|
|
|
|
|
|
|
HelpControllerType m_helpControllerType;
|
|
|
|
wxHelpControllerBase* m_helpController;
|
|
|
|
int m_style;
|
|
|
|
|
2016-06-26 05:25:29 +00:00
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxBestHelpController);
|
2011-03-20 18:05:19 +00:00
|
|
|
wxDECLARE_NO_COPY_CLASS(wxBestHelpController);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // wxUSE_HELP && wxUSE_MS_HTML_HELP && wxUSE_WXHTML_HELP
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// _WX_HELPBEST_H_
|