]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/htmlwin.cpp
Correct slider width when labels are used.
[wxWidgets.git] / src / html / htmlwin.cpp
index 8e988da39eaa1edebeefac76b4c22264d7ca2bcb..85a166212661bef6e30d1a870f0ea8fb9ad4fdb9 100644 (file)
@@ -728,19 +728,19 @@ bool wxHtmlWindow::IsSelectionEnabled() const
 
 
 #if wxUSE_CLIPBOARD
-wxString wxHtmlWindow::SelectionToText()
+wxString wxHtmlWindow::DoSelectionToText(wxHtmlSelection *sel)
 {
-    if ( !m_selection )
+    if ( !sel )
         return wxEmptyString;
 
     wxClientDC dc(this);
 
-    const wxHtmlCell *end = m_selection->GetToCell();
+    const wxHtmlCell *end = sel->GetToCell();
     wxString text;
-    wxHtmlTerminalCellsInterator i(m_selection->GetFromCell(), end);
+    wxHtmlTerminalCellsInterator i(sel->GetFromCell(), end);
     if ( i )
     {
-        text << i->ConvertToText(m_selection);
+        text << i->ConvertToText(sel);
         ++i;
     }
     const wxHtmlCell *prev = *i;
@@ -748,13 +748,25 @@ wxString wxHtmlWindow::SelectionToText()
     {
         if ( prev->GetParent() != i->GetParent() )
             text << _T('\n');
-        text << i->ConvertToText(*i == end ? m_selection : NULL);
+        text << i->ConvertToText(*i == end ? sel : NULL);
         prev = *i;
         ++i;
     }
     return text;
 }
 
+wxString wxHtmlWindow::ToText()
+{
+    if (m_Cell)
+    {
+        wxHtmlSelection sel;
+        sel.Set(m_Cell->GetFirstTerminal(), m_Cell->GetLastTerminal());
+        return DoSelectionToText(&sel);
+    }
+    else
+        return wxEmptyString;
+}
+
 #endif // wxUSE_CLIPBOARD
 
 bool wxHtmlWindow::CopySelection(ClipboardType t)