From 3e729cbe15997180987992097e6d78c6b8de2b25 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 8 May 2001 22:26:39 +0000 Subject: [PATCH] added wxHtmlProcessor test git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/html/test/test.cpp | 149 ++++++++++++++++++++++--------------- 1 file changed, 90 insertions(+), 59 deletions(-) diff --git a/samples/html/test/test.cpp b/samples/html/test/test.cpp index a7130fcb79..faaf91d0f9 100644 --- a/samples/html/test/test.cpp +++ b/samples/html/test/test.cpp @@ -23,6 +23,7 @@ #include #include +#include #include // ---------------------------------------------------------------------------- @@ -30,36 +31,54 @@ // ---------------------------------------------------------------------------- // Define a new application type, each program should derive a class from wxApp - class MyApp : public wxApp - { - public: - // override base class virtuals - // ---------------------------- - - // this one is called on application startup and is a good place for the app - // initialization (doing it here and not in the ctor allows to have an error - // return: if OnInit() returns false, the application terminates) - virtual bool OnInit(); - }; +class MyApp : public wxApp +{ +public: + // override base class virtuals + // ---------------------------- + + // this one is called on application startup and is a good place for the app + // initialization (doing it here and not in the ctor allows to have an error + // return: if OnInit() returns false, the application terminates) + virtual bool OnInit(); +}; // Define a new frame type: this is going to be our main frame - class MyFrame : public wxFrame - { - public: - // ctor(s) - MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); - - // event handlers (these functions should _not_ be virtual) - void OnQuit(wxCommandEvent& event); - void OnPageOpen(wxCommandEvent& event); - void OnBack(wxCommandEvent& event); - void OnForward(wxCommandEvent& event); - - private: - wxHtmlWindow *m_Html; - // any class wishing to process wxWindows events must use this macro - DECLARE_EVENT_TABLE() - }; +class MyFrame : public wxFrame +{ +public: + // ctor(s) + MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); + + // event handlers (these functions should _not_ be virtual) + void OnQuit(wxCommandEvent& event); + void OnPageOpen(wxCommandEvent& event); + void OnBack(wxCommandEvent& event); + void OnForward(wxCommandEvent& event); + void OnProcessor(wxCommandEvent& event); + +private: + wxHtmlWindow *m_Html; + wxHtmlProcessor *m_Processor; + // any class wishing to process wxWindows events must use this macro + DECLARE_EVENT_TABLE() +}; + + +class BoldProcessor : public wxHtmlProcessor +{ + public: + virtual wxString Process(const wxString& s) const + { + wxString r(s); + r.Replace(wxT(""), wxEmptyString); + r.Replace(wxT(""), wxEmptyString); + r.Replace(wxT(""), wxEmptyString); + r.Replace(wxT(""), wxEmptyString); + printf("called\n"); + return r; + } +}; // ---------------------------------------------------------------------------- // constants @@ -73,6 +92,7 @@ Minimal_PageOpen, Minimal_Back, Minimal_Forward, + Minimal_Processor, // controls start here (the numbers are, of course, arbitrary) Minimal_Text = 1000 @@ -90,6 +110,7 @@ EVT_MENU(Minimal_PageOpen, MyFrame::OnPageOpen) EVT_MENU(Minimal_Back, MyFrame::OnBack) EVT_MENU(Minimal_Forward, MyFrame::OnForward) + EVT_MENU(Minimal_Processor, MyFrame::OnProcessor) END_EVENT_TABLE() // Create a new application object: this macro will allow wxWindows to create @@ -148,6 +169,9 @@ wxMenu *menuNav = new wxMenu; menuFile->Append(Minimal_PageOpen, "&Open HTML page..."); + menuFile->AppendSeparator(); + menuFile->Append(Minimal_Processor, "&Remove bold attribute", "", TRUE); + menuFile->AppendSeparator(); menuFile->Append(Minimal_Quit, "&Close frame"); menuNav->Append(Minimal_Back, "Go &BACK"); @@ -163,40 +187,47 @@ CreateStatusBar(1); + m_Processor = new BoldProcessor; + m_Processor->Enable(FALSE); m_Html = new wxHtmlWindow(this); - m_Html -> SetRelatedFrame(this, "HTML : %s"); - m_Html -> SetRelatedStatusBar(0); - m_Html -> ReadCustomization(wxConfig::Get()); - m_Html -> LoadPage("test.htm"); + m_Html->SetRelatedFrame(this, "HTML : %s"); + m_Html->SetRelatedStatusBar(0); + m_Html->ReadCustomization(wxConfig::Get()); + m_Html->LoadPage("test.htm"); + m_Html->AddProcessor(m_Processor); } // event handlers - void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) - { - // TRUE is to force the frame to close - m_Html -> WriteCustomization(wxConfig::Get()); - delete wxConfig::Set(NULL); - Close(TRUE); - } - - void MyFrame::OnPageOpen(wxCommandEvent& WXUNUSED(event)) - { - wxString p = wxFileSelector("Open HTML document", "", "", "", "HTML files|*.htm"); - if (p != wxEmptyString) - m_Html -> LoadPage(p); - } - - - - void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event)) - { - if (!m_Html -> HistoryBack()) wxMessageBox("You reached prehistory era!"); - } - - - void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event)) - { - if (!m_Html -> HistoryForward()) wxMessageBox("No more items in history!"); - } +void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) +{ + // TRUE is to force the frame to close + m_Html -> WriteCustomization(wxConfig::Get()); + delete wxConfig::Set(NULL); + Close(TRUE); +} + +void MyFrame::OnPageOpen(wxCommandEvent& WXUNUSED(event)) +{ + wxString p = wxFileSelector("Open HTML document", "", "", "", "HTML files|*.htm"); + if (p != wxEmptyString) + m_Html -> LoadPage(p); +} + +void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event)) +{ +if (!m_Html -> HistoryBack()) wxMessageBox("You reached prehistory era!"); +} + +void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event)) +{ +if (!m_Html -> HistoryForward()) wxMessageBox("No more items in history!"); +} + +void MyFrame::OnProcessor(wxCommandEvent& WXUNUSED(event)) +{ + m_Processor->Enable(!m_Processor->IsEnabled()); + m_Html->LoadPage(m_Html->GetOpenedPage()); + printf("%i\n", m_Processor->IsEnabled()); +} -- 2.45.2