]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/html/test/test.cpp
don't use deprecated wxSTRING_MAXLEN
[wxWidgets.git] / samples / html / test / test.cpp
index 329bc799adcd4b28f8f9755781dece7792708fce..eeab3617a75903411bf9f5284557efb20b940c55 100644 (file)
@@ -71,6 +71,10 @@ public:
     void OnForward(wxCommandEvent& event);
     void OnProcessor(wxCommandEvent& event);
 
+    void OnHtmlLinkClicked(wxHtmlLinkEvent& event);
+    void OnHtmlCellHover(wxHtmlCellEvent &event);
+    void OnHtmlCellClicked(wxHtmlCellEvent &event);
+
 private:
     MyHtmlWindow *m_Html;
     wxHtmlProcessor *m_Processor;
@@ -121,6 +125,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(ID_Back, MyFrame::OnBack)
     EVT_MENU(ID_Forward, MyFrame::OnForward)
     EVT_MENU(ID_Processor, MyFrame::OnProcessor)
+
+    EVT_HTML_LINK_CLICKED(wxID_ANY, MyFrame::OnHtmlLinkClicked)
+    EVT_HTML_CELL_HOVER(wxID_ANY, MyFrame::OnHtmlCellHover)
+    EVT_HTML_CELL_CLICKED(wxID_ANY, MyFrame::OnHtmlCellClicked)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
@@ -216,6 +224,17 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
     m_Html->ReadCustomization(wxConfig::Get());
     m_Html->LoadFile(wxFileName(wxT("test.htm")));
     m_Html->AddProcessor(m_Processor);
+
+    wxTextCtrl *text = new wxTextCtrl(this, wxID_ANY, _T(""),
+                                      wxDefaultPosition, wxDefaultSize,
+                                      wxTE_MULTILINE);
+
+    delete wxLog::SetActiveTarget(new wxLogTextCtrl(text));
+
+    wxSizer *sz = new wxBoxSizer(wxVERTICAL);
+    sz->Add(m_Html, 3, wxGROW);
+    sz->Add(text, 1, wxGROW);
+    SetSizer(sz);
 }
 
 
@@ -234,10 +253,10 @@ void MyFrame::OnPageOpen(wxCommandEvent& WXUNUSED(event))
 {
 #if wxUSE_FILEDLG
     wxString p = wxFileSelector(_("Open HTML document"), wxEmptyString,
-        wxEmptyString, wxEmptyString, wxT("HTML files|*.htm"));
+        wxEmptyString, wxEmptyString, wxT("HTML files|*.htm;*.html"));
 
     if (!p.empty())
-        m_Html->LoadPage(p);
+        m_Html->LoadFile(wxFileName(p));
 #endif // wxUSE_FILEDLG
 }
 
@@ -272,6 +291,30 @@ void MyFrame::OnProcessor(wxCommandEvent& WXUNUSED(event))
     m_Html->LoadPage(m_Html->GetOpenedPage());
 }
 
+void MyFrame::OnHtmlLinkClicked(wxHtmlLinkEvent &event)
+{
+    wxLogMessage(wxT("The url '%s' has been clicked!"), event.GetLinkInfo().GetHref().c_str());
+
+    // skipping this event the default behaviour (load the clicked URL)
+    // will happen...
+    event.Skip();
+}
+
+void MyFrame::OnHtmlCellHover(wxHtmlCellEvent &event)
+{
+    wxLogMessage(wxT("Mouse moved over cell %d at %d;%d"),
+                 event.GetCell(), event.GetPoint().x, event.GetPoint().y);
+}
+
+void MyFrame::OnHtmlCellClicked(wxHtmlCellEvent &event)
+{
+    wxLogMessage(wxT("Click over cell %d at %d;%d"),
+                 event.GetCell(), event.GetPoint().x, event.GetPoint().y);
+
+    // if we don't skip the event, OnHtmlLinkClicked won't be called!
+    event.Skip();
+}
+
 wxHtmlOpeningStatus MyHtmlWindow::OnOpeningURL(wxHtmlURLType WXUNUSED(type),
                                                const wxString& url,
                                                wxString *WXUNUSED(redirect)) const