From: Václav Slavík Date: Thu, 23 Dec 1999 21:12:23 +0000 (+0000) Subject: wxHtmlWindow::OnLinkClicked and wxHtmlCell::Get/SetLink and wxHtmlWinParser::GetSetLi... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/846914d18d70a51a43f1ebfe0c850a64708cb772 wxHtmlWindow::OnLinkClicked and wxHtmlCell::Get/SetLink and wxHtmlWinParser::GetSetLink now work with wxHtmlLinkInfo instead of wxString (making it ready for frames) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex index 2ff1de9f8a..0d4e36165f 100644 --- a/docs/latex/wx/classes.tex +++ b/docs/latex/wx/classes.tex @@ -103,6 +103,7 @@ \input hthelpct.tex \input hthlpdat.tex \input hthlpfrm.tex +\input htlnkinf.tex \input htparser.tex \input htprint.tex \input httag.tex diff --git a/docs/latex/wx/htcell.tex b/docs/latex/wx/htcell.tex index bc8494274d..b59bb47f29 100644 --- a/docs/latex/wx/htcell.tex +++ b/docs/latex/wx/htcell.tex @@ -129,9 +129,10 @@ Returns height of the cell (m_Height member). \membersection{wxHtmlCell::GetLink}\label{wxhtmlcellgetlink} -\constfunc{virtual wxString}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}} +\constfunc{virtual wxHtmlLinkInfo*}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}} -Returns hypertext link if associated with this cell or empty string otherwise. +Returns hypertext link if associated with this cell or NULL otherwise. +See \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}. (Note: this makes sense only for visible tags). \wxheading{Parameters} @@ -216,10 +217,10 @@ button is pressed, FALSE otherwise} \membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink} -\func{void}{SetLink}{\param{const wxString\& }{link}} +\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}} Sets the hypertext link asocciated with this cell. (Default value -is wxEmptyString (no link)) +is \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}("", "") (no link)) \membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext} diff --git a/docs/latex/wx/htlnkinf.tex b/docs/latex/wx/htlnkinf.tex new file mode 100644 index 0000000000..a6aca8d507 --- /dev/null +++ b/docs/latex/wx/htlnkinf.tex @@ -0,0 +1,48 @@ +% +% automatically generated by HelpGen from +% x.h at 23/Dec/99 21:30:20 +% + + +\section{\class{wxHtmlLinkInfo}}\label{wxhtmllinkinfo} + +This class stores all neccessary information about hypertext +links (as represented by {\tt } tag in HTML documents). In +current implementation it stores URL and target frame name. +{\it Note that frames are not currently supported by wxHTML!} + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + + +\latexignore{\rtfignore{\wxheading{Members}}} + + +\membersection{wxHtmlLinkInfo::wxHtmlLinkInfo}\label{wxhtmllinkinfowxhtmllinkinfo} + +\func{}{wxHtmlLinkInfo}{\void} + +Default ctor. + +\membersection{wxHtmlLinkInfo::wxHtmlLinkInfo}\label{wxhtmllinkinfowxhtmllinkinfo} + +\func{}{wxHtmlLinkInfo}{\param{const wxString\& }{href}, \param{const wxString\& }{target = wxEmptyString}} + +Construct hypertext link from HREF (aka URL) and TARGET (name of target +frame). + + +\membersection{wxHtmlLinkInfo::GetHref}\label{wxhtmllinkinfogethref} + +\func{wxString}{GetHref}{\void} + +Returns {\it HREF} value of the {\tt } tag. + +\membersection{wxHtmlLinkInfo::GetTarget}\label{wxhtmllinkinfogettarget} + +\func{wxString}{GetTarget}{\void} + +Returns {\it TARGET} value of the {\tt } tag (this value +is used to specify in which frame should be the page pointed +by {\helpref{Href}{wxhtmllinkinfogethref} opened). diff --git a/docs/latex/wx/htwindow.tex b/docs/latex/wx/htwindow.tex index bbca02309e..cee42f33d7 100644 --- a/docs/latex/wx/htwindow.tex +++ b/docs/latex/wx/htwindow.tex @@ -121,11 +121,13 @@ FALSE if an error occured, TRUE otherwise \membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked} -\func{virtual void}{OnLinkClicked}{\param{const wxString\& }{link}} +\func{virtual void}{OnLinkClicked}{\param{wxHtmlLinkInfo* }{link}} Called when user clicks on hypertext link. Default behaviour is to call \helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else. +Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}. + \membersection{wxHtmlWindow::OnSetTitle}\label{wxhtmlwindowonsettitle} diff --git a/docs/latex/wx/htwinprs.tex b/docs/latex/wx/htwinprs.tex index 1ea0e4e5d0..dabac42bb2 100644 --- a/docs/latex/wx/htwinprs.tex +++ b/docs/latex/wx/htwinprs.tex @@ -147,9 +147,10 @@ Returns TRUE if actual font is underlined, FALSE otherwise. \membersection{wxHtmlWinParser::GetLink}\label{wxhtmlwinparsergetlink} -\constfunc{const wxString\&}{GetLink}{\void} +\constfunc{const wxHtmlLinkInfo\&}{GetLink}{\void} -Returns actual hypertext link. (This value is non-empty string +Returns actual hypertext link. (This value has non-empty +\helpref{Href}{wxhtmllinkinfogethref}} string if the parser is between {\tt } and {\tt } tags, wxEmptyString otherwise. @@ -229,7 +230,7 @@ Sets italic flag of actualfont. {\it x} is either TRUE of FALSE. \func{void}{SetFontSize}{\param{int }{s}} -Sets actual font size (HTML size varies from -2 to +4) +Sets actual font size (HTML size varies from 1 to 7) \membersection{wxHtmlWinParser::SetFontUnderlined}\label{wxhtmlwinparsersetfontunderlined} @@ -245,9 +246,11 @@ Sets fonts. This method is identical to \helpref{wxHtmlWindow::SetFonts}{wxhtmlw \membersection{wxHtmlWinParser::SetLink}\label{wxhtmlwinparsersetlink} -\func{void}{SetLink}{\param{const wxString\& }{link}} +\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}} -Sets actual hypertext link. wxEmptyString means no link. +Sets actual hypertext link. Empty link is represented +by \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo} with {\it Href} equal +to wxEmptyString. \membersection{wxHtmlWinParser::SetLinkColor}\label{wxhtmlwinparsersetlinkcolor} diff --git a/include/wx/html/htmlcell.h b/include/wx/html/htmlcell.h index 272bba684b..72f78c844b 100644 --- a/include/wx/html/htmlcell.h +++ b/include/wx/html/htmlcell.h @@ -24,6 +24,8 @@ #include "wx/html/htmldefs.h" #include "wx/window.h" + +class wxHtmlLinkInfo; class wxHtmlCell; class wxHtmlContainerCell; @@ -38,8 +40,8 @@ class wxHtmlContainerCell; class WXDLLEXPORT wxHtmlCell : public wxObject { public: - wxHtmlCell() : wxObject() {m_Next = NULL; m_Parent = NULL; m_Width = m_Height = m_Descent = 0; m_CanLiveOnPagebreak = TRUE;} - virtual ~wxHtmlCell() {if (m_Next) delete m_Next;}; + wxHtmlCell(); + virtual ~wxHtmlCell(); void SetParent(wxHtmlContainerCell *p) {m_Parent = p;} wxHtmlContainerCell *GetParent() const {return m_Parent;} @@ -49,7 +51,7 @@ class WXDLLEXPORT wxHtmlCell : public wxObject int GetWidth() const {return m_Width;} int GetHeight() const {return m_Height;} int GetDescent() const {return m_Descent;} - virtual wxString GetLink(int WXUNUSED(x) = 0, + virtual wxHtmlLinkInfo* GetLink(int WXUNUSED(x) = 0, int WXUNUSED(y) = 0) const { return m_Link; } // returns the link associated with this cell. The position is position within @@ -58,7 +60,7 @@ class WXDLLEXPORT wxHtmlCell : public wxObject // members access methods virtual void SetPos(int x, int y) {m_PosX = x, m_PosY = y;} - void SetLink(const wxString& link) {m_Link = link;} + void SetLink(const wxHtmlLinkInfo& link); void SetNext(wxHtmlCell *cell) {m_Next = cell;} // members writin methods @@ -120,7 +122,7 @@ class WXDLLEXPORT wxHtmlCell : public wxObject // m_Descent is used to position text&images.. long m_PosX, m_PosY; // position where the fragment is drawn - wxString m_Link; + wxHtmlLinkInfo *m_Link; // destination address if this fragment is hypertext link, "" otherwise bool m_CanLiveOnPagebreak; // true if this cell can be placed on pagebreak, false otherwise @@ -222,7 +224,7 @@ class WXDLLEXPORT wxHtmlContainerCell : public wxHtmlCell // Layout() void SetBackgroundColour(const wxColour& clr) {m_UseBkColour = TRUE; m_BkColour = clr;} void SetBorder(const wxColour& clr1, const wxColour& clr2) {m_UseBorder = TRUE; m_BorderColour1 = clr1, m_BorderColour2 = clr2;} - virtual wxString GetLink(int x = 0, int y = 0) const; + virtual wxHtmlLinkInfo* GetLink(int x = 0, int y = 0) const; virtual const wxHtmlCell* Find(int condition, const void* param) const; virtual void OnMouseClick(wxWindow *parent, int x, int y, bool left, bool middle, bool right); @@ -301,7 +303,34 @@ class WXDLLEXPORT wxHtmlWidgetCell : public wxHtmlCell -#endif +//-------------------------------------------------------------------------------- +// wxHtmlLinkInfo +// Internal data structure. It represents hypertext link +//-------------------------------------------------------------------------------- + +class wxHtmlLinkInfo : public wxObject +{ + public: + wxHtmlLinkInfo() : wxObject() + { m_Href = m_Target = wxEmptyString; } + wxHtmlLinkInfo(const wxString& href, const wxString& target = wxEmptyString) : wxObject() + { m_Href = href; m_Target = target; } + wxHtmlLinkInfo(const wxHtmlLinkInfo& l) + { m_Href = l.m_Href, m_Target = l.m_Target; } + wxHtmlLinkInfo& operator=(const wxHtmlLinkInfo& l) + { m_Href = l.m_Href, m_Target = l.m_Target; return *this; } + + wxString GetHref() const { return m_Href; } + wxString GetTarget() const { return m_Target; } + + private: + wxString m_Href, m_Target; +}; + + + + +#endif // wxUSE_HTML #endif // _WX_HTMLCELL_H_ diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 6b155c693b..f394d69680 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -136,7 +136,7 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow static void AddFilter(wxHtmlFilter *filter); // Adds input filter - virtual void OnLinkClicked(const wxString& link); + virtual void OnLinkClicked(wxHtmlLinkInfo *link); // called when users clicked on hypertext link. Default behavior is to // call LoadPage(loc) @@ -200,7 +200,7 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow bool m_tmpMouseMoved; // a flag indicated if mouse moved // (if TRUE we will try to change cursor in last call to OnIdle) - wxString m_tmpLastLink; + wxHtmlLinkInfo *m_tmpLastLink; // contains last link name int m_tmpCanDrawLocks; // if >0 contents of the window is not redrawn diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index 66161eb56b..bbfb4a8198 100644 --- a/include/wx/html/winpars.h +++ b/include/wx/html/winpars.h @@ -51,7 +51,7 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser double GetPixelScale() {return m_PixelScale;} int GetCharHeight() const {return m_CharHeight;} int GetCharWidth() const {return m_CharWidth;} - // NOTE : these functions do _not_ return _actual_ + // NOTE : these functions do _not_ return _actual_ // height/width. They return h/w of default font // for this DC. If you want actual values, call // GetDC() -> GetChar...() @@ -82,7 +82,7 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser // container int GetFontSize() const {return m_FontSize;} - void SetFontSize(int s) {m_FontSize = s;} + void SetFontSize(int s); int GetFontBold() const {return m_FontBold;} void SetFontBold(int x) {m_FontBold = x;} int GetFontItalic() const {return m_FontItalic;} @@ -98,12 +98,11 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser void SetLinkColor(const wxColour& clr) {m_LinkColor = clr;} const wxColour& GetActualColor() const {return m_ActualColor;} void SetActualColor(const wxColour& clr) {m_ActualColor = clr;} - const wxString& GetLink() const {return m_Link;} - void SetLink(const wxString& link) {m_Link = link; m_UseLink = link.Length() > 0;} + const wxHtmlLinkInfo& GetLink() const {return m_Link;} + void SetLink(const wxHtmlLinkInfo& link); virtual wxFont* CreateCurrentFont(); // creates font depending on m_Font* members. - // (note : it calls wxHtmlWindow's CreateCurrentFont...) protected: virtual void AddText(const char *txt); @@ -128,7 +127,7 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser wxColour m_LinkColor; wxColour m_ActualColor; // basic font parameters. - wxString m_Link; + wxHtmlLinkInfo m_Link; // actual hypertext link or empty string bool m_UseLink; // TRUE if m_Link is not empty @@ -141,7 +140,7 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser // table of loaded fonts. 1st four indexes are 0 or 1, depending on on/off // state of these flags (from left to right): // [bold][italic][underlined][fixed_size] - // last index is font size : from 0 to 7 (remapped from html sizes -2 to +4) + // last index is font size : from 0 to 6 (remapped from html sizes 1 to 7) // Note : this table covers all possible combinations of fonts, but not // all of them are used, so many items in table are usually NULL. int m_FontsSizes[7]; diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp index a3d20ab2c0..38988b6cb2 100644 --- a/src/html/htmlcell.cpp +++ b/src/html/htmlcell.cpp @@ -33,14 +33,29 @@ // wxHtmlCell //----------------------------------------------------------------------------- +wxHtmlCell::wxHtmlCell() : wxObject() +{ + m_Next = NULL; + m_Parent = NULL; + m_Width = m_Height = m_Descent = 0; + m_CanLiveOnPagebreak = TRUE; + m_Link = NULL; +} + +wxHtmlCell::~wxHtmlCell() +{ + if (m_Link) delete m_Link; + if (m_Next) delete m_Next; +} + void wxHtmlCell::OnMouseClick(wxWindow *parent, int x, int y, bool WXUNUSED(left), bool WXUNUSED(middle), bool WXUNUSED(right)) { - wxString lnk = GetLink(x, y); - if (lnk != wxEmptyString) + wxHtmlLinkInfo *lnk = GetLink(x, y); + if (lnk != NULL) ((wxHtmlWindow*)parent) -> OnLinkClicked(lnk); // note : this overcasting is legal because parent is *always* wxHtmlWindow } @@ -49,7 +64,6 @@ void wxHtmlCell::OnMouseClick(wxWindow *parent, int x, int y, bool wxHtmlCell::AdjustPagebreak(int *pagebreak) { - if ((!m_CanLiveOnPagebreak) && m_PosY < *pagebreak && m_PosY + m_Height > *pagebreak) { *pagebreak = m_PosY; @@ -65,6 +79,13 @@ bool wxHtmlCell::AdjustPagebreak(int *pagebreak) +void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link) +{ + if (m_Link) delete m_Link; + m_Link = new wxHtmlLinkInfo(link); +} + + //----------------------------------------------------------------------------- // wxHtmlWordCell @@ -344,7 +365,7 @@ void wxHtmlContainerCell::DrawInvisible(wxDC& dc, int x, int y) -wxString wxHtmlContainerCell::GetLink(int x, int y) const +wxHtmlLinkInfo *wxHtmlContainerCell::GetLink(int x, int y) const { wxHtmlCell *c = m_Cells; int cx, cy, cw, ch; @@ -356,7 +377,7 @@ wxString wxHtmlContainerCell::GetLink(int x, int y) const return c -> GetLink(x - cx, y - cy); c = c -> GetNext(); } - return wxEmptyString; + return NULL; } diff --git a/src/html/htmlwin.cpp b/src/html/htmlwin.cpp index 0f0b5d67a8..380ed40818 100644 --- a/src/html/htmlwin.cpp +++ b/src/html/htmlwin.cpp @@ -44,7 +44,7 @@ wxHtmlWindow::wxHtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, long style, const wxString& name) : wxScrolledWindow(parent, id, pos, size, wxVSCROLL, name) { m_tmpMouseMoved = FALSE; - m_tmpLastLink = wxEmptyString; + m_tmpLastLink = NULL; m_tmpCanDrawLocks = 0; m_FS = new wxFileSystem(); m_RelatedStatusBar = -1; @@ -421,9 +421,9 @@ void wxHtmlWindow::AddFilter(wxHtmlFilter *filter) -void wxHtmlWindow::OnLinkClicked(const wxString& link) +void wxHtmlWindow::OnLinkClicked(wxHtmlLinkInfo *link) { - LoadPage(link); + LoadPage(link -> GetHref()); } @@ -522,7 +522,7 @@ void wxHtmlWindow::OnIdle(wxIdleEvent& event) if (m_tmpMouseMoved && (m_Cell != NULL)) { int sx, sy; int x, y; - wxString lnk; + wxHtmlLinkInfo *lnk; ViewStart(&sx, &sy); sx *= wxHTML_SCROLL_STEP; sy *= wxHTML_SCROLL_STEP; wxGetMousePosition(&x, &y); @@ -530,13 +530,14 @@ void wxHtmlWindow::OnIdle(wxIdleEvent& event) lnk = m_Cell -> GetLink(sx + x, sy + y); if (lnk != m_tmpLastLink) { - if (lnk == wxEmptyString) { + if (lnk == NULL) { SetCursor(cur_arrow); if (m_RelatedStatusBar != -1) m_RelatedFrame -> SetStatusText(wxEmptyString, m_RelatedStatusBar); } else { SetCursor(cur_hand); - if (m_RelatedStatusBar != -1) m_RelatedFrame -> SetStatusText(lnk, m_RelatedStatusBar); + if (m_RelatedStatusBar != -1) + m_RelatedFrame -> SetStatusText(lnk -> GetHref(), m_RelatedStatusBar); } m_tmpLastLink = lnk; } diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp index 96e6b112dd..4c32fbe5e9 100644 --- a/src/html/m_image.cpp +++ b/src/html/m_image.cpp @@ -60,7 +60,7 @@ class wxHtmlImageMapAreaCell : public wxHtmlCell int radius; public: wxHtmlImageMapAreaCell( celltype t, wxString &coords, double pixel_scale = 1.0); - virtual wxString GetLink( int x = 0, int y = 0 ) const; + virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const; }; @@ -80,7 +80,7 @@ wxHtmlImageMapAreaCell::wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::celltype coords.Add( (int)(pixel_scale * (double)wxAtoi( x.c_str())) ); } -wxString wxHtmlImageMapAreaCell::GetLink( int x, int y ) const +wxHtmlLinkInfo *wxHtmlImageMapAreaCell::GetLink( int x, int y ) const { switch (type) { case RECT: @@ -181,7 +181,7 @@ wxString wxHtmlImageMapAreaCell::GetLink( int x, int y ) const wxHtmlImageMapAreaCell *a = (wxHtmlImageMapAreaCell*)m_Next; return a->GetLink( x, y ); } - return wxEmptyString; + return NULL; } @@ -206,7 +206,7 @@ class wxHtmlImageMapCell : public wxHtmlCell protected: wxString m_Name; public: - virtual wxString GetLink( int x = 0, int y = 0 ) const; + virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const; virtual const wxHtmlCell *Find( int cond, const void *param ) const; }; @@ -216,7 +216,7 @@ wxHtmlImageMapCell::wxHtmlImageMapCell( wxString &name ) m_Name = name ; } -wxString wxHtmlImageMapCell::GetLink( int x, int y ) const +wxHtmlLinkInfo *wxHtmlImageMapCell::GetLink( int x, int y ) const { wxHtmlImageMapAreaCell *a = (wxHtmlImageMapAreaCell*)m_Next; if (a) @@ -252,7 +252,7 @@ class wxHtmlImageCell : public wxHtmlCell wxHtmlImageCell(wxFSFile *input, int w = -1, int h = -1, int align = wxHTML_ALIGN_BOTTOM, wxString mapname = wxEmptyString); ~wxHtmlImageCell() {if (m_Image) delete m_Image; } void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2); - virtual wxString GetLink( int x = 0, int y = 0 ) const; + virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const; }; @@ -310,7 +310,7 @@ void wxHtmlImageCell::Draw(wxDC& dc, int x, int y, int view_y1, int view_y2) wxHtmlCell::Draw(dc, x, y, view_y1, view_y2); } -wxString wxHtmlImageCell::GetLink( int x, int y ) const +wxHtmlLinkInfo *wxHtmlImageCell::GetLink( int x, int y ) const { if (m_MapName.IsEmpty()) return wxHtmlCell::GetLink( x, y ); @@ -412,7 +412,9 @@ TAG_HANDLER_BEGIN(IMG, "IMG,MAP,AREA") } if (cel != NULL && tag.HasParam("HREF")) { wxString tmp = tag.GetParam("HREF"); - cel->SetLink( tmp ); + wxString target = wxEmptyString; + if (tag.HasParam("TARGET")) target = tag.GetParam("TARGET"); + cel->SetLink( wxHtmlLinkInfo(tmp, target)); } if (cel != NULL) m_WParser->GetContainer()->InsertCell( cel ); } diff --git a/src/html/m_links.cpp b/src/html/m_links.cpp index c3220d063b..a20252dfd1 100644 --- a/src/html/m_links.cpp +++ b/src/html/m_links.cpp @@ -59,15 +59,17 @@ TAG_HANDLER_BEGIN(A, "A") } if (tag.HasParam("HREF")) { - wxString oldlnk = m_WParser -> GetLink(); + 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(tag.GetParam("HREF")); + m_WParser -> SetLink(wxHtmlLinkInfo(name, target)); ParseInner(tag);