]> git.saurik.com Git - wxWidgets.git/commitdiff
Convert image tags to text using their alt attribute in wxHTML.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 30 Sep 2012 22:20:11 +0000 (22:20 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 30 Sep 2012 22:20:11 +0000 (22:20 +0000)
This is useful when copying wxHtmlWindow contents to clipboard, for example.

Closes #14557.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/html/m_image.cpp

index 60fee4e25ea099eb14f91a70ccdb1e9a9ab2f099..df6295ecc75ec0715d52546634e689002bd3be9b 100644 (file)
@@ -298,6 +298,11 @@ public:
     virtual wxHtmlLinkInfo *GetLink(int x = 0, int y = 0) const;
 
     void SetImage(const wxImage& img);
+
+    // If "alt" text is set, it will be used when converting this cell to text.
+    void SetAlt(const wxString& alt);
+    virtual wxString ConvertToText(wxHtmlSelection *sel) const;
+
 #if wxUSE_GIF && wxUSE_TIMER
     void AdvanceAnimation(wxTimer *timer);
     virtual void Layout(int w);
@@ -320,6 +325,7 @@ private:
     double              m_scale;
     wxHtmlImageMapCell *m_imageMap;
     wxString            m_mapName;
+    wxString            m_alt;
 
     wxDECLARE_NO_COPY_CLASS(wxHtmlImageCell);
 };
@@ -474,6 +480,16 @@ void wxHtmlImageCell::SetImage(const wxImage& img)
 #endif
 }
 
+void wxHtmlImageCell::SetAlt(const wxString& alt)
+{
+    m_alt = alt;
+}
+
+wxString wxHtmlImageCell::ConvertToText(wxHtmlSelection* WXUNUSED(sel)) const
+{
+    return m_alt;
+}
+
 #if wxUSE_GIF && wxUSE_TIMER
 void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
 {
@@ -703,6 +719,7 @@ TAG_HANDLER_BEGIN(IMG, "IMG,MAP,AREA")
                                           al, mn);
                 m_WParser->ApplyStateToCell(cel);
                 cel->SetId(tag.GetParam(wxT("id"))); // may be empty
+                cel->SetAlt(tag.GetParam(wxT("alt")));
                 m_WParser->GetContainer()->InsertCell(cel);
                 if (str)
                     delete str;