X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8ec2b48446fa4f17187dcd73c3a314e4030333f6..7e548f6b13a27eee6f2740d922cab636f0b305e0:/include/wx/html/helpctrl.h diff --git a/include/wx/html/helpctrl.h b/include/wx/html/helpctrl.h index 77e84f1e95..06e6bdc7ee 100644 --- a/include/wx/html/helpctrl.h +++ b/include/wx/html/helpctrl.h @@ -1,11 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpctrl.h // Purpose: wxHtmlHelpController -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik -// Created: -// RCS-ID: +// RCS-ID: $Id$ // Copyright: (c) Harm van der Heijden and Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -15,63 +14,96 @@ #include "wx/defs.h" -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "helpctrl.h" #endif -#if wxUSE_HTML +#if wxUSE_WXHTML_HELP -#include "helpfrm.h" +#include "wx/helpbase.h" +#include "wx/html/helpfrm.h" -class WXDLLEXPORT wxHtmlHelpController : public wxEvtHandler +#define wxID_HTML_HELPFRAME (wxID_HIGHEST + 1) + +class WXDLLIMPEXP_HTML wxHtmlHelpController : public wxHelpControllerBase // wxEvtHandler { + DECLARE_DYNAMIC_CLASS(wxHtmlHelpController) + public: - wxHtmlHelpController(); + wxHtmlHelpController(int style = wxHF_DEFAULT_STYLE); virtual ~wxHtmlHelpController(); void SetTitleFormat(const wxString& format); void SetTempDir(const wxString& path) { m_helpData.SetTempDir(path); } - bool AddBook(const wxString& book, bool show_wait_msg = FALSE); - bool Display(const wxString& x) { - CreateHelpWindow(); return m_helpFrame->Display(x); - } - bool Display(int id) { - CreateHelpWindow(); return m_helpFrame->Display(id); - } - bool DisplayContents() { - CreateHelpWindow(); return m_helpFrame->DisplayContents(); - } - bool DisplayIndex() { - CreateHelpWindow(); return m_helpFrame->DisplayIndex(); - } - bool KeywordSearch(const wxString& keyword) { - CreateHelpWindow(); return KeywordSearch(keyword); - } + bool AddBook(const wxString& book_url, bool show_wait_msg = FALSE); + bool AddBook(const wxFileName& book_file, bool show_wait_msg = FALSE); + + bool Display(const wxString& x); + bool Display(int id); + bool DisplayContents(); + bool DisplayIndex(); + bool KeywordSearch(const wxString& keyword, + wxHelpSearchMode mode = wxHELP_SEARCH_ALL); + wxHtmlHelpFrame* GetFrame() { return m_helpFrame; } - void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString) { - m_Config = config; m_ConfigRoot = rootpath; - ReadCustomization(config, rootpath); - } + void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString); + // Assigns config object to the Ctrl. This config is then // used in subsequent calls to Read/WriteCustomization of both help // Ctrl and it's wxHtmlWindow virtual void ReadCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString); virtual void WriteCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString); - virtual void CreateHelpWindow(bool show_progress = FALSE); - virtual void DestroyHelpWindow() { - //if (m_Config) WriteCustomization(m_Config, m_ConfigRoot); - if (m_helpFrame) m_helpFrame->Destroy(); - } + + //// Backward compatibility with wxHelpController API + + virtual bool Initialize(const wxString& file, int WXUNUSED(server) ) { return Initialize(file); } + virtual bool Initialize(const wxString& file); + virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {} + virtual bool LoadFile(const wxString& file = wxT("")); + virtual bool DisplaySection(int sectionNo); + virtual bool DisplaySection(const wxString& section) { return Display(section); } + virtual bool DisplayBlock(long blockNo) { return DisplaySection(blockNo); } + virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos); + + virtual void SetFrameParameters(const wxString& title, + const wxSize& size, + const wxPoint& pos = wxDefaultPosition, + bool newFrameEachTime = FALSE); + /// 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); + + // Get direct access to help data: + wxHtmlHelpData *GetHelpData() { return &m_helpData; } + + virtual bool Quit() ; + virtual void OnQuit() {}; + + void OnCloseFrame(wxCloseEvent& evt); + + // Make the help controller's frame 'modal' if + // needed + void AddGrabIfNeeded(); + protected: - void OnCloseFrame(wxCloseEvent& evt) { m_helpFrame = NULL; evt.Skip(); } - wxHtmlHelpData m_helpData; - wxHtmlHelpFrame* m_helpFrame; - wxConfigBase *m_Config; - wxString m_ConfigRoot; - wxString m_titleFormat; - DECLARE_EVENT_TABLE() + virtual wxHtmlHelpFrame* CreateHelpFrame(wxHtmlHelpData *data); + + virtual void CreateHelpWindow(); + virtual void DestroyHelpWindow(); + + wxHtmlHelpData m_helpData; + wxHtmlHelpFrame* m_helpFrame; + wxConfigBase * m_Config; + wxString m_ConfigRoot; + wxString m_titleFormat; + int m_FrameStyle; + // DECLARE_EVENT_TABLE() + + DECLARE_NO_COPY_CLASS(wxHtmlHelpController) }; -#endif +#endif // wxUSE_WXHTML_HELP #endif // _WX_HELPCTRL_H_