1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxHtmlHelpController
4 // Notes: Based on htmlhelp.cpp, implementing a monolithic
5 // HTML Help controller class, by Vaclav Slavik
6 // Author: Harm van der Heijden and Vaclav Slavik
8 // Copyright: (c) Harm van der Heijden and Vaclav Slavik
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_HELPCTRL_H_
13 #define _WX_HELPCTRL_H_
23 #include "wx/html/helpfrm.h"
25 class WXDLLEXPORT wxHtmlHelpController
: public wxEvtHandler
27 DECLARE_DYNAMIC_CLASS(wxHtmlHelpController
)
30 wxHtmlHelpController(int style
= wxHF_DEFAULTSTYLE
);
31 virtual ~wxHtmlHelpController();
33 void SetTitleFormat(const wxString
& format
);
34 void SetTempDir(const wxString
& path
) { m_helpData
.SetTempDir(path
); }
35 bool AddBook(const wxString
& book
, bool show_wait_msg
= FALSE
);
36 bool Display(const wxString
& x
)
38 CreateHelpWindow(); return m_helpFrame
->Display(x
);
42 CreateHelpWindow(); return m_helpFrame
->Display(id
);
44 bool DisplayContents()
46 CreateHelpWindow(); return m_helpFrame
->DisplayContents();
50 CreateHelpWindow(); return m_helpFrame
->DisplayIndex();
52 bool KeywordSearch(const wxString
& keyword
)
54 CreateHelpWindow(); return m_helpFrame
->KeywordSearch(keyword
);
56 wxHtmlHelpFrame
* GetFrame() { return m_helpFrame
; }
57 void UseConfig(wxConfigBase
*config
, const wxString
& rootpath
= wxEmptyString
)
60 m_ConfigRoot
= rootpath
;
61 if (m_helpFrame
) m_helpFrame
-> UseConfig(config
, rootpath
);
62 ReadCustomization(config
, rootpath
);
64 // Assigns config object to the Ctrl. This config is then
65 // used in subsequent calls to Read/WriteCustomization of both help
66 // Ctrl and it's wxHtmlWindow
67 virtual void ReadCustomization(wxConfigBase
*cfg
, const wxString
& path
= wxEmptyString
);
68 virtual void WriteCustomization(wxConfigBase
*cfg
, const wxString
& path
= wxEmptyString
);
69 virtual void CreateHelpWindow(bool show_progress
= FALSE
);
70 virtual void DestroyHelpWindow()
72 //if (m_Config) WriteCustomization(m_Config, m_ConfigRoot);
73 if (m_helpFrame
) m_helpFrame
->Destroy();
77 void OnCloseFrame(wxCloseEvent
& evt
) { m_helpFrame
= NULL
; evt
.Skip(); }
78 wxHtmlHelpData m_helpData
;
79 wxHtmlHelpFrame
* m_helpFrame
;
80 wxConfigBase
*m_Config
;
81 wxString m_ConfigRoot
;
82 wxString m_titleFormat
;
89 #endif // _WX_HELPCTRL_H_