/* htmlsys.h : wxHtmlHelpSystem is an extension of the wxHtmlHelpController. * mainly does two things: * - extend the interface somewhat so the programmer can dictate most of the * look and feel of the htmlhelp frame. * - make some protected functions public (adding _ to the function name) so * that SWIG can wrap them. * * Harm van der Heijden 32aug1999 */ #ifndef __HELPSYS_H__ #define __HELPSYS_H__ #include #if ! wxUSE_HTML #error "wxHtml needed" #endif #include #include #include class wxHtmlHelpSystem : public wxHtmlHelpController { DECLARE_DYNAMIC_CLASS(wxHtmlHelpSystem) public: wxHtmlHelpSystem() {}; ~wxHtmlHelpSystem() {}; bool AddBookParam(const wxString& title, const wxString& contfile, const wxString& indexfile=wxEmptyString, const wxString& deftopic=wxEmptyString, const wxString& path=wxEmptyString, bool show_wait_msg=FALSE); // Alternative to AddBook(wxString& hhpfile) wxToolBar* CreateToolBar(wxFrame* frame); // creates a dockable toolbar for the frame, containing hide/show, back and forward buttons wxTreeCtrl* CreateContentsTree(wxWindow* parent); // creates a treecontrol with imagelist for books, folders etc and id wxID_HTML_TREECTRL wxListBox* CreateIndexList(wxWindow* parent); // creates a listbox with the right id virtual void CreateHelpWindow(); // Slightly different version than in wxHtmlHelpController; uses helpers above // Do nothing if the window already exists void SetControls(wxFrame* frame, wxHtmlWindow* htmlwin, wxTreeCtrl* contents=NULL, wxListBox* index=NULL, wxListBox* searchlist=NULL); // alternative for CreateHelpWindow(), sets frame, htmlwindow, contents tree, index // listbox and searchlist listbox. If null, their functionality won't be used // Some extra accessor functions wxFrame* GetFrame() { return m_Frame; } wxHtmlWindow* GetHtmlWindow() { return m_HtmlWin; } wxTreeCtrl* GetContentsTree() { return m_ContentsBox; } wxListBox* GetIndexList() { return m_IndexBox; } wxListBox* GetSearchList() { return m_SearchList; } wxImageList* GetContentsImageList() { return m_ContentsImageList; } // public interface for wxHtmlHelpControllers handlers, so wxPython can call them void OnToolbar(wxCommandEvent& event); void OnContentsSel(wxTreeEvent& event) {wxHtmlHelpController::OnContentsSel(event);} void OnIndexSel(wxCommandEvent& event) {wxHtmlHelpController::OnIndexSel(event);} void OnSearchSel(wxCommandEvent& event) {wxHtmlHelpController::OnSearchSel(event);} void OnSearch(wxCommandEvent& event) {wxHtmlHelpController::OnSearch(event);} void OnCloseWindow(wxCloseEvent& event); // some more protected functions that should be accessible from wxPython void RefreshLists(); void CreateContents() { if (!m_ContentsBox) return; wxHtmlHelpController::CreateContents(); } // Adds items to m_Contents tree control void CreateIndex() { if (! m_IndexBox) return; wxHtmlHelpController::CreateIndex(); } // Adds items to m_IndexList DECLARE_EVENT_TABLE() }; #endif