diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 5ef878c088..c58d244feb 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -49,14 +49,24 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow friend class wxHtmlWinModule; public: - wxHtmlWindow() : wxScrolledWindow() {} + wxHtmlWindow() { Init(); } wxHtmlWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, - const wxString& name = wxT("htmlWindow")); + const wxString& name = wxT("htmlWindow")) + { + Init(); + Create(parent, id, pos, size, style, name); + } ~wxHtmlWindow(); + bool Create(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxHW_SCROLLBAR_AUTO, + const wxString& name = wxT("htmlWindow")); + // Set HTML page and display it. !! source is HTML document itself, // it is NOT address/filename of HTML document. If you want to // specify document location, use LoadPage() istead @@ -153,6 +163,8 @@ public: virtual bool AcceptsFocusFromKeyboard() const { return FALSE; } protected: + void Init(); + // Scrolls to anchor of this name. (Anchor is #news // or #features etc. it is part of address sometimes: // http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/index.html#news) diff --git a/src/html/htmlwin.cpp b/src/html/htmlwin.cpp index 7d79fe5523..6cf959cf5f 100644 --- a/src/html/htmlwin.cpp +++ b/src/html/htmlwin.cpp @@ -72,8 +72,7 @@ WX_DEFINE_LIST(wxHtmlProcessorList); //----------------------------------------------------------------------------- -wxHtmlWindow::wxHtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, - long style, const wxString& name) : wxScrolledWindow(parent, id, pos, size, style | wxVSCROLL | wxHSCROLL, name) +void wxHtmlWindow::Init() { m_tmpMouseMoved = FALSE; m_tmpLastLink = NULL; @@ -87,15 +86,26 @@ wxHtmlWindow::wxHtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, m_Cell = NULL; m_Parser = new wxHtmlWinParser(this); m_Parser->SetFS(m_FS); - SetBorders(10); m_HistoryPos = -1; m_HistoryOn = TRUE; m_History = new wxHtmlHistoryArray; m_Processors = NULL; - m_Style = style; - SetPage(wxT("")); + m_Style = 0; + SetBorders(10); } +bool wxHtmlWindow::Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos, const wxSize& size, + long style, const wxString& name) +{ + if (!wxScrolledWindow::Create(parent, id, pos, size, + style | wxVSCROLL | wxHSCROLL, name)) + return FALSE; + + m_Style = style; + SetPage(wxT("")); + return TRUE; +} wxHtmlWindow::~wxHtmlWindow()