X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b835e9bf4940cc1027c0ab364816bfd4aa229a72..7a944d2fd2324ca7886d36fd3f4d7a174afdff3a:/src/html/htmlwin.cpp diff --git a/src/html/htmlwin.cpp b/src/html/htmlwin.cpp index 7d79fe5523..835b1d48ba 100644 --- a/src/html/htmlwin.cpp +++ b/src/html/htmlwin.cpp @@ -41,7 +41,7 @@ //----------------------------------------------------------------------------- // item of history list -class WXDLLEXPORT wxHtmlHistoryItem : public wxObject +class WXDLLEXPORT wxHtmlHistoryItem { public: wxHtmlHistoryItem(const wxString& p, const wxString& a) {m_Page = p, m_Anchor = a, m_Pos = 0;} @@ -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,17 +86,28 @@ 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 = 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() { HistoryClear(); @@ -204,13 +214,12 @@ bool wxHtmlWindow::AppendToPage(const wxString& source) bool wxHtmlWindow::LoadPage(const wxString& location) { + wxBusyCursor busyCursor; + wxFSFile *f; bool rt_val; bool needs_refresh = FALSE; - SetCursor(*wxHOURGLASS_CURSOR); - wxYield(); Refresh(FALSE); - m_tmpCanDrawLocks++; if (m_HistoryOn && (m_HistoryPos != -1)) { @@ -253,15 +262,13 @@ bool wxHtmlWindow::LoadPage(const wxString& location) m_RelatedFrame->SetStatusText(_("Connecting..."), m_RelatedStatusBar); Refresh(FALSE); } - - f = m_FS->OpenFile(location); + + f = m_Parser->OpenURL(wxHTML_URL_PAGE, location); if (f == NULL) { wxLogError(_("Unable to open requested HTML document: %s"), location.c_str()); m_tmpCanDrawLocks--; - - SetCursor(*wxSTANDARD_CURSOR); return FALSE; } @@ -299,7 +306,6 @@ bool wxHtmlWindow::LoadPage(const wxString& location) m_OpenedPage = f->GetLocation(); if (f->GetAnchor() != wxEmptyString) { - wxYield(); ScrollToAnchor(f->GetAnchor()); } @@ -326,11 +332,9 @@ bool wxHtmlWindow::LoadPage(const wxString& location) if (m_OpenedPageTitle == wxEmptyString) OnSetTitle(wxFileNameFromPath(m_OpenedPage)); - SetCursor(*wxSTANDARD_CURSOR); if (needs_refresh) { - wxYield(); m_tmpCanDrawLocks--; Refresh(); } @@ -488,7 +492,6 @@ bool wxHtmlWindow::HistoryBack() if (a == wxEmptyString) LoadPage(l); else LoadPage(l + wxT("#") + a); m_HistoryOn = TRUE; - wxYield(); m_tmpCanDrawLocks--; Scroll(0, (*m_History)[m_HistoryPos].GetPos()); Refresh(); @@ -519,7 +522,6 @@ bool wxHtmlWindow::HistoryForward() if (a == wxEmptyString) LoadPage(l); else LoadPage(l + wxT("#") + a); m_HistoryOn = TRUE; - wxYield(); m_tmpCanDrawLocks--; Scroll(0, (*m_History)[m_HistoryPos].GetPos()); Refresh();