]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_links.cpp
made GetColourFromGTKWidget() more general, it is now used for all colours
[wxWidgets.git] / src / html / m_links.cpp
index 58876ee6df396b765bc1c9a6cc7fbd0e4d081e82..588180f01e37fec2d8a88772854f650199e9385f 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        mod_links.cpp
+// Name:        m_links.cpp
 // Purpose:     wxHtml module for links & anchors
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Purpose:     wxHtml module for links & anchors
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 #pragma implementation
 #endif
 
 #pragma implementation
 #endif
 
-#include <wx/wxprec.h>
+#include "wx/wxprec.h"
 
 
-#if wxUSE_HTML
+#include "wx/defs.h"
+#if wxUSE_HTML && wxUSE_STREAMS
 
 #ifdef __BORDLANDC__
 #pragma hdrstop
 #endif
 
 #ifndef WXPRECOMP
 
 #ifdef __BORDLANDC__
 #pragma hdrstop
 #endif
 
 #ifndef WXPRECOMP
-#include <wx/wx.h>
 #endif
 
 #endif
 
-
 #include "wx/html/forcelnk.h"
 #include "wx/html/m_templ.h"
 
 
 #include "wx/html/forcelnk.h"
 #include "wx/html/m_templ.h"
 
 
-FORCE_LINK_ME(mod_links)
+FORCE_LINK_ME(m_links)
 
 
 class wxHtmlAnchorCell : public wxHtmlCell
 
 
 class wxHtmlAnchorCell : public wxHtmlCell
@@ -40,7 +39,7 @@ class wxHtmlAnchorCell : public wxHtmlCell
         wxHtmlAnchorCell(const wxString& name) : wxHtmlCell() {m_AnchorName = name;}
         virtual const wxHtmlCell* Find(int condition, const void* param) const
         {
         wxHtmlAnchorCell(const wxString& name) : wxHtmlCell() {m_AnchorName = name;}
         virtual const wxHtmlCell* Find(int condition, const void* param) const
         {
-            if ((condition == HTML_COND_ISANCHOR) && (m_AnchorName == (*((const wxString*)param))))
+            if ((condition == wxHTML_COND_ISANCHOR) && (m_AnchorName == (*((const wxString*)param))))
                 return this;
             else
                 return wxHtmlCell::Find(condition, param);
                 return this;
             else
                 return wxHtmlCell::Find(condition, param);
@@ -53,28 +52,32 @@ TAG_HANDLER_BEGIN(A, "A")
 
     TAG_HANDLER_PROC(tag)
     {
 
     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);
 
 
             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;
         }
 
             return TRUE;
         }