X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f6bd7c1c5d9c63824c6e74982ac4b583b31d9fe..90b78a567f3271fede518e42de3f90eef10a3fdb:/samples/html/test/test.cpp diff --git a/samples/html/test/test.cpp b/samples/html/test/test.cpp index d9e8cd3c22..d3efde3d9e 100644 --- a/samples/html/test/test.cpp +++ b/samples/html/test/test.cpp @@ -21,7 +21,7 @@ #endif // For all others, include the necessary headers (this file is usually all you -// need because it includes almost all "standard" wxWindows headers +// need because it includes almost all "standard" wxWidgets headers #ifndef WX_PRECOMP #include "wx/wx.h" #endif @@ -44,6 +44,20 @@ public: virtual bool OnInit(); }; +// Define a new html window type: this is a wrapper for handling wxHtmlWindow events +class MyHtmlWindow : public wxHtmlWindow +{ +public: + MyHtmlWindow(wxWindow *parent) : wxHtmlWindow( parent ) { } + + virtual wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType WXUNUSED(type), + const wxString& WXUNUSED(url), + wxString *WXUNUSED(redirect)) const; + +private: + DECLARE_NO_COPY_CLASS(MyHtmlWindow) +}; + // Define a new frame type: this is going to be our main frame class MyFrame : public wxFrame { @@ -59,10 +73,10 @@ public: void OnProcessor(wxCommandEvent& event); private: - wxHtmlWindow *m_Html; + MyHtmlWindow *m_Html; wxHtmlProcessor *m_Processor; - // Any class wishing to process wxWindows events must use this macro + // Any class wishing to process wxWidgets events must use this macro DECLARE_EVENT_TABLE() }; @@ -97,7 +111,7 @@ enum }; // ---------------------------------------------------------------------------- -// event tables and other macros for wxWindows +// event tables and other macros for wxWidgets // ---------------------------------------------------------------------------- BEGIN_EVENT_TABLE(MyFrame, wxFrame) @@ -130,7 +144,7 @@ bool MyApp::OnInit() wxFileSystem::AddHandler(new wxInternetFSHandler); #endif - SetVendorName(wxT("wxWindows")); + SetVendorName(wxT("wxWidgets")); SetAppName(wxT("wxHtmlTest")); // the following call to wxConfig::Get will use it to create an object... @@ -184,13 +198,17 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) SetAcceleratorTable(accel); #endif // wxUSE_ACCEL - CreateStatusBar(1); +#if wxUSE_STATUSBAR + CreateStatusBar(2); +#endif // wxUSE_STATUSBAR m_Processor = new BoldProcessor; m_Processor->Enable(false); - m_Html = new wxHtmlWindow(this); + m_Html = new MyHtmlWindow(this); m_Html->SetRelatedFrame(this, _("HTML : %s")); +#if wxUSE_STATUSBAR m_Html->SetRelatedStatusBar(0); +#endif // wxUSE_STATUSBAR m_Html->ReadCustomization(wxConfig::Get()); m_Html->LoadFile(wxFileName(wxT("test.htm"))); m_Html->AddProcessor(m_Processor); @@ -238,3 +256,11 @@ void MyFrame::OnProcessor(wxCommandEvent& WXUNUSED(event)) m_Processor->Enable(!m_Processor->IsEnabled()); m_Html->LoadPage(m_Html->GetOpenedPage()); } + +wxHtmlOpeningStatus MyHtmlWindow::OnOpeningURL(wxHtmlURLType WXUNUSED(type), + const wxString& url, + wxString *WXUNUSED(redirect)) const +{ + GetRelatedFrame()->SetStatusText(url + _T(" lately opened"),1); + return wxHTML_OPEN; +}