/////////////////////////////////////////////////////////////////////////////
-// Name: htmlwin.cpp
+// Name: src/html/htmlwin.cpp
// Purpose: wxHtmlWindow class for parsing & displaying HTML (implementation)
// Author: Vaclav Slavik
// RCS-ID: $Id$
#include "wx/wxprec.h"
-#include "wx/defs.h"
-#if wxUSE_HTML && wxUSE_STREAMS
-
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
+#if wxUSE_HTML && wxUSE_STREAMS
+
#ifndef WXPRECOMP
+ #include "wx/list.h"
#include "wx/log.h"
#include "wx/intl.h"
#include "wx/dcclient.h"
#include "wx/frame.h"
+ #include "wx/dcmemory.h"
+ #include "wx/timer.h"
+ #include "wx/settings.h"
#endif
#include "wx/html/htmlwin.h"
#include "wx/html/htmlproc.h"
-#include "wx/list.h"
#include "wx/clipbrd.h"
#include "wx/dataobj.h"
-#include "wx/timer.h"
-#include "wx/dcmemory.h"
-#include "wx/settings.h"
#include "wx/arrimpl.cpp"
#include "wx/listimpl.cpp"
wxCursor cur;
if (cell)
- cur = cell->GetCursor();
+ cur = cell->GetMouseCursor(m_interface);
else
- cur = *wxSTANDARD_CURSOR;
+ cur = m_interface->GetHTMLCursor(
+ wxHtmlWindowInterface::HTMLCursor_Default);
+
m_interface->GetHTMLWindow()->SetCursor(cur);
if (lnk != m_tmpLastLink)
// wxHtmlWindow
//-----------------------------------------------------------------------------
+wxList wxHtmlWindow::m_Filters;
+wxHtmlFilter *wxHtmlWindow::m_DefaultFilter = NULL;
+wxHtmlProcessorList *wxHtmlWindow::m_GlobalProcessors = NULL;
+wxCursor *wxHtmlWindow::ms_cursorLink = NULL;
+wxCursor *wxHtmlWindow::ms_cursorText = NULL;
+
+void wxHtmlWindow::CleanUpStatics()
+{
+ wxDELETE(m_DefaultFilter);
+ WX_CLEAR_LIST(wxList, m_Filters);
+ if (m_GlobalProcessors)
+ WX_CLEAR_LIST(wxHtmlProcessorList, *m_GlobalProcessors);
+ wxDELETE(m_GlobalProcessors);
+ wxDELETE(ms_cursorLink);
+ wxDELETE(ms_cursorText);
+}
void wxHtmlWindow::Init()
{
if (m_Style & wxHW_SCROLLBAR_NEVER)
{
- SetScrollbars(wxHTML_SCROLL_STEP, 1, m_Cell->GetWidth() / wxHTML_SCROLL_STEP, 0); // always off
+ SetScrollbars(1, 1, 0, 0); // always off
GetClientSize(&ClientWidth, &ClientHeight);
m_Cell->Layout(ClientWidth);
}
-wxList wxHtmlWindow::m_Filters;
-wxHtmlFilter *wxHtmlWindow::m_DefaultFilter = NULL;
-wxHtmlProcessorList *wxHtmlWindow::m_GlobalProcessors = NULL;
-
-void wxHtmlWindow::CleanUpStatics()
-{
- wxDELETE(m_DefaultFilter);
- WX_CLEAR_LIST(wxList, m_Filters);
- if (m_GlobalProcessors)
- WX_CLEAR_LIST(wxHtmlProcessorList, *m_GlobalProcessors);
- wxDELETE(m_GlobalProcessors);
-}
-
-
-
void wxHtmlWindow::AddFilter(wxHtmlFilter *filter)
{
m_Filters.Append(filter);
#endif // wxUSE_STATUSBAR
}
+/*static*/
+wxCursor wxHtmlWindow::GetDefaultHTMLCursor(HTMLCursor type)
+{
+ switch (type)
+ {
+ case HTMLCursor_Link:
+ if ( !ms_cursorLink )
+ ms_cursorLink = new wxCursor(wxCURSOR_HAND);
+ return *ms_cursorLink;
+
+ case HTMLCursor_Text:
+ if ( !ms_cursorText )
+ ms_cursorText = new wxCursor(wxCURSOR_IBEAM);
+ return *ms_cursorText;
+
+ case HTMLCursor_Default:
+ default:
+ return *wxSTANDARD_CURSOR;
+ }
+}
+
+wxCursor wxHtmlWindow::GetHTMLCursor(HTMLCursor type) const
+{
+ return GetDefaultHTMLCursor(type);
+}
+
//-----------------------------------------------------------------------------
// wxHtmlWinModule
FORCE_WXHTML_MODULES()
#endif // wxUSE_HTML
-