//-----------------------------------------------------------------------------
-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;
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("<html><body></body></html>"));
+ return TRUE;
}
-
wxHtmlWindow::~wxHtmlWindow()
{
HistoryClear();
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))
{
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;
}
m_OpenedPage = f->GetLocation();
if (f->GetAnchor() != wxEmptyString)
{
- wxYield();
ScrollToAnchor(f->GetAnchor());
}
if (m_OpenedPageTitle == wxEmptyString)
OnSetTitle(wxFileNameFromPath(m_OpenedPage));
- SetCursor(*wxSTANDARD_CURSOR);
if (needs_refresh)
{
- wxYield();
m_tmpCanDrawLocks--;
Refresh();
}
if (a == wxEmptyString) LoadPage(l);
else LoadPage(l + wxT("#") + a);
m_HistoryOn = TRUE;
- wxYield();
m_tmpCanDrawLocks--;
Scroll(0, (*m_History)[m_HistoryPos].GetPos());
Refresh();
if (a == wxEmptyString) LoadPage(l);
else LoadPage(l + wxT("#") + a);
m_HistoryOn = TRUE;
- wxYield();
m_tmpCanDrawLocks--;
Scroll(0, (*m_History)[m_HistoryPos].GetPos());
Refresh();