/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "htmlwin.h"
#pragma implementation "htmlproc.h"
#endif
#endif // wxUSE_CLIPBOARD
HistoryClear();
- if (m_Cell) delete m_Cell;
+ delete m_selection;
+
+ delete m_Cell;
+
+ if ( m_Processors )
+ {
+ WX_CLEAR_LIST(wxHtmlProcessorList, *m_Processors);
+ }
delete m_Parser;
delete m_FS;
// pass HTML through registered processors:
if (m_Processors || m_GlobalProcessors)
{
- wxHtmlProcessorList::Node *nodeL, *nodeG;
+ wxHtmlProcessorList::compatibility_iterator nodeL, nodeG;
int prL, prG;
- nodeL = (m_Processors) ? m_Processors->GetFirst() : NULL;
- nodeG = (m_GlobalProcessors) ? m_GlobalProcessors->GetFirst() : NULL;
+ nodeL = (m_Processors) ? m_Processors->GetFirst() : wxHtmlProcessorList::compatibility_iterator();
+ nodeG = (m_GlobalProcessors) ? m_GlobalProcessors->GetFirst() : wxHtmlProcessorList::compatibility_iterator();
// VS: there are two lists, global and local, both of them sorted by
// priority. Since we have to go through _both_ lists with
else
{
- wxNode *node;
+ wxList::compatibility_iterator node;
wxString src = wxEmptyString;
if (m_RelatedStatusBar != -1)
if (!m_Processors)
{
m_Processors = new wxHtmlProcessorList;
- m_Processors->DeleteContents(TRUE);
}
- wxHtmlProcessorList::Node *node;
+ wxHtmlProcessorList::compatibility_iterator node;
for (node = m_Processors->GetFirst(); node; node = node->GetNext())
{
if (!m_GlobalProcessors)
{
m_GlobalProcessors = new wxHtmlProcessorList;
- m_GlobalProcessors->DeleteContents(TRUE);
}
- wxHtmlProcessorList::Node *node;
+ wxHtmlProcessorList::compatibility_iterator node;
for (node = m_GlobalProcessors->GetFirst(); node; node = node->GetNext())
{
void wxHtmlWindow::CleanUpStatics()
{
wxDELETE(m_DefaultFilter);
- m_Filters.DeleteContents(TRUE);
- m_Filters.Clear();
+ WX_CLEAR_LIST(wxList, m_Filters);
+ if (m_GlobalProcessors)
+ WX_CLEAR_LIST(wxHtmlProcessorList, *m_GlobalProcessors);
wxDELETE(m_GlobalProcessors);
}
#endif // wxUSE_CLIPBOARD
-void wxHtmlWindow::CopySelection(ClipboardType t)
+bool wxHtmlWindow::CopySelection(ClipboardType t)
{
#if wxUSE_CLIPBOARD
if ( m_selection )
//
// TODO: this should be abstracted at wxClipboard level!
if ( t == Primary )
- return;
+ return false;
#endif // __UNIX__/!__UNIX__
if ( wxTheClipboard->Open() )
wxTheClipboard->Close();
wxLogTrace(_T("wxhtmlselection"),
_("Copied to clipboard:\"%s\""), txt.c_str());
+
+ return true;
}
}
#endif // wxUSE_CLIPBOARD
+
+ return false;
}
// do nothing here
}
-void wxHtmlWindow::OnEraseBackground(wxEraseEvent& event)
+void wxHtmlWindow::OnEraseBackground(wxEraseEvent& WXUNUSED(event))
{
}
}
-void wxHtmlWindow::OnMouseMove(wxMouseEvent& event)
+void wxHtmlWindow::OnMouseMove(wxMouseEvent& WXUNUSED(event))
{
m_tmpMouseMoved = true;
}
{
SelectLine(CalcUnscrolledPosition(event.GetPosition()));
- CopySelection();
+ (void) CopySelection();
}
else
{
m_makingSelection = false;
// did the user move the mouse far enough from starting point?
- if ( m_selection )
+ if ( CopySelection(Primary) )
{
- CopySelection(Primary);
-
// we don't want mouse up event that ended selecting to be
// handled as mouse click and e.g. follow hyperlink:
return;
if ( IsSelectionEnabled() &&
event.GetKeyCode() == 'C' && event.ControlDown() )
{
- if ( m_selection )
- CopySelection();
+ (void) CopySelection();
}
}
-void wxHtmlWindow::OnCopy(wxCommandEvent& event)
+void wxHtmlWindow::OnCopy(wxCommandEvent& WXUNUSED(event))
{
- if ( m_selection )
- CopySelection();
+ (void) CopySelection();
}
void wxHtmlWindow::OnDoubleClick(wxMouseEvent& event)
{
SelectWord(CalcUnscrolledPosition(event.GetPosition()));
- CopySelection(Primary);
+ (void) CopySelection(Primary);
m_lastDoubleClick = wxGetLocalTimeMillis();
}
IMPLEMENT_ABSTRACT_CLASS(wxHtmlProcessor,wxObject)
+#if wxUSE_EXTENDED_RTTI
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxHtmlWindow, wxScrolledWindow,"wx/html/htmlwin.h")
+
+wxBEGIN_PROPERTIES_TABLE(wxHtmlWindow)
+/*
+ TODO PROPERTIES
+ style , wxHW_SCROLLBAR_AUTO
+ borders , (dimension)
+ url , string
+ htmlcode , string
+*/
+wxEND_PROPERTIES_TABLE()
+
+wxBEGIN_HANDLERS_TABLE(wxHtmlWindow)
+wxEND_HANDLERS_TABLE()
+
+wxCONSTRUCTOR_5( wxHtmlWindow , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle )
+#else
IMPLEMENT_DYNAMIC_CLASS(wxHtmlWindow,wxScrolledWindow)
+#endif
BEGIN_EVENT_TABLE(wxHtmlWindow, wxScrolledWindow)
EVT_SIZE(wxHtmlWindow::OnSize)