Send full url to wxHtmlWindow::OnOpeningURL validation (and therefore use wxURL to not duplicate code). Present it in statusbar of samples/html/test application.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2004-12-16 20:32:43 +00:00
parent ea4daac45c
commit 4bfa318965
21 changed files with 79 additions and 6 deletions

View File

@@ -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,7 +73,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
@@ -185,12 +199,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 +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;
}