X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8520f1374ceec64abae3802984c4f8654d8836ba..47a4a1aec8d7064fadc98821c5f6079a6aceceeb:/samples/html/test/test.cpp diff --git a/samples/html/test/test.cpp b/samples/html/test/test.cpp index 50e10402e4..6bde933e55 100644 --- a/samples/html/test/test.cpp +++ b/samples/html/test/test.cpp @@ -9,8 +9,8 @@ ///////////////////////////////////////////////////////////////////////////// #if defined(__GNUG__) && !defined(__APPLE__) - #pragma implementation "test.cpp" - #pragma interface "test.cpp" + #pragma implementation + #pragma interface #endif // For compilers that support precompilation, includes "wx/wx.h". @@ -33,6 +33,8 @@ #include "wx/fs_inet.h" #include "wx/filedlg.h" +#include "../../sample.xpm" + // ---------------------------------------------------------------------------- // private classes // ---------------------------------------------------------------------------- @@ -44,6 +46,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,7 +75,7 @@ public: void OnProcessor(wxCommandEvent& event); private: - wxHtmlWindow *m_Html; + MyHtmlWindow *m_Html; wxHtmlProcessor *m_Processor; // Any class wishing to process wxWidgets events must use this macro @@ -174,6 +190,8 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) // ... and attach this menu bar to the frame SetMenuBar(menuBar); + SetIcon(wxIcon(sample_xpm)); + #if wxUSE_ACCEL // Create convenient accelerators for Back and Forward navigation wxAcceleratorEntry entries[2]; @@ -185,12 +203,12 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) #endif // wxUSE_ACCEL #if wxUSE_STATUSBAR - CreateStatusBar(1); + 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); @@ -242,3 +260,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; +}