#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
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
{
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()
};
};
// ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
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...
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);
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;
+}