X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c88293a4045cce459d50469d5cae27e8509570e1..8b3fddc49326c0b6019cd7082218726aa17a5727:/src/html/m_links.cpp diff --git a/src/html/m_links.cpp b/src/html/m_links.cpp index c3220d063b..588180f01e 100644 --- a/src/html/m_links.cpp +++ b/src/html/m_links.cpp @@ -14,17 +14,15 @@ #include "wx/wxprec.h" #include "wx/defs.h" -#if wxUSE_HTML +#if wxUSE_HTML && wxUSE_STREAMS #ifdef __BORDLANDC__ #pragma hdrstop #endif #ifndef WXPRECOMP -#include "wx/wx.h" #endif - #include "wx/html/forcelnk.h" #include "wx/html/m_templ.h" @@ -54,28 +52,32 @@ TAG_HANDLER_BEGIN(A, "A") TAG_HANDLER_PROC(tag) { - if (tag.HasParam("NAME")) { - m_WParser -> GetContainer() -> InsertCell(new wxHtmlAnchorCell(tag.GetParam("NAME"))); + if (tag.HasParam("NAME")) + { + m_WParser->GetContainer()->InsertCell(new wxHtmlAnchorCell(tag.GetParam("NAME"))); } - if (tag.HasParam("HREF")) { - wxString oldlnk = m_WParser -> GetLink(); - wxColour oldclr = m_WParser -> GetActualColor(); - int oldund = m_WParser -> GetFontUnderlined(); - - m_WParser -> SetActualColor(m_WParser -> GetLinkColor()); - m_WParser -> GetContainer() -> InsertCell(new wxHtmlColourCell(m_WParser -> GetLinkColor())); - m_WParser -> SetFontUnderlined(TRUE); - m_WParser -> GetContainer() -> InsertCell(new wxHtmlFontCell(m_WParser -> CreateCurrentFont())); - m_WParser -> SetLink(tag.GetParam("HREF")); + if (tag.HasParam("HREF")) + { + wxHtmlLinkInfo oldlnk = m_WParser->GetLink(); + wxColour oldclr = m_WParser->GetActualColor(); + int oldund = m_WParser->GetFontUnderlined(); + wxString name(tag.GetParam("HREF")), target; + + if (tag.HasParam("TARGET")) target = tag.GetParam("TARGET"); + m_WParser->SetActualColor(m_WParser->GetLinkColor()); + m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(m_WParser->GetLinkColor())); + m_WParser->SetFontUnderlined(TRUE); + m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont())); + m_WParser->SetLink(wxHtmlLinkInfo(name, target)); ParseInner(tag); - m_WParser -> SetLink(oldlnk); - m_WParser -> SetFontUnderlined(oldund); - m_WParser -> GetContainer() -> InsertCell(new wxHtmlFontCell(m_WParser -> CreateCurrentFont())); - m_WParser -> SetActualColor(oldclr); - m_WParser -> GetContainer() -> InsertCell(new wxHtmlColourCell(oldclr)); + m_WParser->SetLink(oldlnk); + m_WParser->SetFontUnderlined(oldund); + m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont())); + m_WParser->SetActualColor(oldclr); + m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(oldclr)); return TRUE; }