X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/721ab9053804ef63e42f33841e242753f1ed66aa..236a9de39afa090fdee3cf91cb5364ceca69e3f8:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index f9efaaa048..b36d1c62e6 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -29,6 +29,7 @@ #endif #include "wx/html/helpfrm.h" +#include "wx/html/helpctrl.h" #include "wx/notebook.h" #include "wx/imaglist.h" #include "wx/treectrl.h" @@ -91,6 +92,7 @@ class wxHtmlHelpHashData : public wxObject public: wxHtmlHelpHashData(int index, wxTreeItemId id) : wxObject() { m_Index = index; m_Id = id;} + ~wxHtmlHelpHashData() {} int m_Index; wxTreeItemId m_Id; @@ -183,6 +185,7 @@ void wxHtmlHelpFrame::Init(wxHtmlHelpData* data) m_PagesHash = NULL; m_UpdateContents = TRUE; + m_helpController = (wxHelpControllerBase*) NULL; } // Create: builds the GUI components. @@ -456,12 +459,13 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& ti wxHtmlHelpFrame::~wxHtmlHelpFrame() { - PopEventHandler(); // wxhtmlhelpcontroller + // PopEventHandler(); // wxhtmlhelpcontroller (not any more!) delete m_ContentsImageList; if (m_DataCreated) delete m_Data; if (m_NormalFonts) delete m_NormalFonts; if (m_FixedFonts) delete m_FixedFonts; + if (m_PagesHash) delete m_PagesHash; } @@ -603,7 +607,7 @@ bool wxHtmlHelpFrame::KeywordSearch(const wxString& keyword) wxProgressDialog progress(_("Searching..."), _("No matching page found yet"), status.GetMaxIndex(), this, - wxPD_APP_MODAL | wxPD_CAN_ABORT | wxPD_AUTO_HIDE | wxGA_SMOOTH); + wxPD_APP_MODAL | wxPD_CAN_ABORT | wxPD_AUTO_HIDE); while (status.IsActive()) { curi = status.GetCurIndex(); @@ -923,7 +927,7 @@ class wxHtmlHelpFrameOptionsDialog : public wxDialog "")); } - void OnUpdate(wxCloseEvent& event) + void OnUpdate(wxCommandEvent& event) { UpdateTestWin(); } @@ -1144,7 +1148,10 @@ void wxHtmlHelpFrame::OnToolbar(wxCommandEvent& event) { if (m_Printer == NULL) m_Printer = new wxHtmlEasyPrinting(_("Help Printing"), this); - m_Printer -> PrintFile(m_HtmlWin -> GetOpenedPage()); + if (!m_HtmlWin -> GetOpenedPage()) + wxLogWarning(_("Cannot print empty page.")); + else + m_Printer -> PrintFile(m_HtmlWin -> GetOpenedPage()); } break; #endif @@ -1308,6 +1315,11 @@ void wxHtmlHelpFrame::OnCloseWindow(wxCloseEvent& evt) if (m_Config) WriteCustomization(m_Config, m_ConfigRoot); + if (m_helpController && m_helpController->IsKindOf(CLASSINFO(wxHtmlHelpController))) + { + ((wxHtmlHelpController*) m_helpController)->OnCloseFrame(evt); + } + evt.Skip(); }