129 lines
3.7 KiB
C
129 lines
3.7 KiB
C
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Name: helpbest.h
|
||
|
// Purpose: Tries to load MS HTML Help, falls back to wxHTML upon failure
|
||
|
// Author: Mattia Barbon
|
||
|
// Modified by:
|
||
|
// Created: 02/04/2001
|
||
|
// RCS-ID: $Id$
|
||
|
// Copyright: (c) Mattia Barbon
|
||
|
// Licence: wxWindows licence
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef _WX_HELPBEST_H_
|
||
|
#define _WX_HELPBEST_H_
|
||
|
|
||
|
#ifdef __GNUG__
|
||
|
#pragma interface "helpbest.h"
|
||
|
#endif
|
||
|
|
||
|
#include "wx/wx.h"
|
||
|
|
||
|
#if wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) && wxUSE_WXHTML_HELP
|
||
|
|
||
|
#include "wx/helpbase.h"
|
||
|
|
||
|
class WXDLLEXPORT wxBestHelpController: public wxHelpControllerBase
|
||
|
{
|
||
|
DECLARE_DYNAMIC_CLASS(wxBestHelpController)
|
||
|
|
||
|
public:
|
||
|
wxBestHelpController():m_helpControllerType( wxUseNone ),
|
||
|
m_helpController( 0 ) {}
|
||
|
~wxBestHelpController() { delete m_helpController; }
|
||
|
|
||
|
// Must call this to set the filename
|
||
|
virtual bool Initialize(const wxString& file);
|
||
|
|
||
|
// If file is "", reloads file given in Initialize
|
||
|
virtual bool LoadFile(const wxString& file = wxEmptyString)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->LoadFile( GetValidFilename( file ) );
|
||
|
}
|
||
|
|
||
|
virtual bool DisplayContents()
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplayContents();
|
||
|
}
|
||
|
|
||
|
virtual bool DisplaySection(int sectionNo)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplaySection( sectionNo );
|
||
|
}
|
||
|
|
||
|
virtual bool DisplaySection(const wxString& section)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplaySection( section );
|
||
|
}
|
||
|
|
||
|
virtual bool DisplayBlock(long blockNo)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplayBlock( blockNo );
|
||
|
}
|
||
|
|
||
|
virtual bool DisplayContextPopup(int contextId)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplayContextPopup( contextId );
|
||
|
}
|
||
|
|
||
|
virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->DisplayTextPopup( text, pos );
|
||
|
}
|
||
|
|
||
|
virtual bool KeywordSearch(const wxString& k)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->KeywordSearch( k );
|
||
|
}
|
||
|
|
||
|
virtual bool Quit()
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
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)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
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)
|
||
|
{
|
||
|
wxASSERT( m_helpController );
|
||
|
return m_helpController->GetFrameParameters( size, pos,
|
||
|
newFrameEachTime );
|
||
|
}
|
||
|
|
||
|
protected:
|
||
|
// Append/change extension if necessary.
|
||
|
wxString GetValidFilename(const wxString& file) const;
|
||
|
|
||
|
protected:
|
||
|
enum HelpControllerType { wxUseNone, wxUseHtmlHelp, wxUseChmHelp };
|
||
|
|
||
|
HelpControllerType m_helpControllerType;
|
||
|
wxHelpControllerBase* m_helpController;
|
||
|
};
|
||
|
|
||
|
#endif // wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) && wxUSE_WXHTML_HELP
|
||
|
|
||
|
#endif
|
||
|
// _WX_HELPBEST_H_
|