X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d95e254418b19430f1f8dee85ab67d64602662ac..1be06faf7318abf88a35b299b90ceb2a49c0353b:/src/html/m_pre.cpp diff --git a/src/html/m_pre.cpp b/src/html/m_pre.cpp index 8412ee06ed..df51c4246a 100644 --- a/src/html/m_pre.cpp +++ b/src/html/m_pre.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: mod_pre.cpp +// Name: m_pre.cpp // Purpose: wxHtml module for
 ... 
tag (code citation) // Author: Vaclav Slavik // RCS-ID: $Id$ @@ -11,15 +11,16 @@ #pragma implementation #endif -#include +#include "wx/wxprec.h" -#if wxUSE_HTML +#include "wx/defs.h" +#if wxUSE_HTML && wxUSE_STREAMS #ifdef __BORDLANDC__ #pragma hdrstop #endif #ifndef WXPRECOMP -#include +#include "wx/wx.h" #endif @@ -27,9 +28,10 @@ #include "wx/html/m_templ.h" #include "wx/html/htmlcell.h" -#include +#include "wx/tokenzr.h" +#include "wx/encconv.h" -FORCE_LINK_ME(mod_pre) +FORCE_LINK_ME(m_pre) //----------------------------------------------------------------------------- @@ -69,13 +71,14 @@ wxHtmlPRECell::wxHtmlPRECell(const wxString& s, wxDC& dc) : wxHtmlCell() while (tokenizer.HasMoreTokens()) { if (i % 10 == 0) m_Text = (wxString**) realloc(m_Text, sizeof(wxString*) * (i + 10)); tmp = tokenizer.NextToken(); - tmp.Replace(" ", " ", TRUE); - tmp.Replace(""", "\"", TRUE); - tmp.Replace("<", "<", TRUE); - tmp.Replace(">", ">", TRUE); - tmp.Replace("&", "&", TRUE); - tmp.Replace("\t", " ", TRUE); - tmp.Replace("\r", "", TRUE); + tmp.Replace(wxT("©"), wxT("(c)"), TRUE); + tmp.Replace(wxT(" "), wxT(" "), TRUE); + tmp.Replace(wxT("""), wxT("\""), TRUE); + tmp.Replace(wxT("<"), wxT("<"), TRUE); + tmp.Replace(wxT(">"), wxT(">"), TRUE); + tmp.Replace(wxT("&"), wxT("&"), TRUE); + tmp.Replace(wxT("\t"), wxT(" "), TRUE); + tmp.Replace(wxT("\r"), wxT(""), TRUE); m_Text[i++] = new wxString(tmp); dc.GetTextExtent(tmp, &x, &z, &z); @@ -124,20 +127,27 @@ TAG_HANDLER_BEGIN(PRE, "PRE") m_WParser -> CloseContainer(); c = m_WParser -> OpenContainer(); - c -> SetAlignHor(HTML_ALIGN_LEFT); - c -> SetIndent(m_WParser -> GetCharHeight(), HTML_INDENT_VERTICAL); + c -> SetAlignHor(wxHTML_ALIGN_LEFT); + c -> SetIndent(m_WParser -> GetCharHeight(), wxHTML_INDENT_VERTICAL); m_WParser -> SetFontUnderlined(FALSE); m_WParser -> SetFontBold(FALSE); m_WParser -> SetFontItalic(FALSE); m_WParser -> SetFontFixed(TRUE); - m_WParser -> SetFontSize(0); + m_WParser -> SetFontSize(3); c -> InsertCell(new wxHtmlFontCell(m_WParser -> CreateCurrentFont())); { wxString cit; - cit = m_WParser -> GetSource() -> Mid(tag.GetBeginPos(), tag.GetEndPos1() - tag.GetBeginPos()); - c -> InsertCell(new wxHtmlPRECell(cit, *(m_WParser -> GetDC()))); + wxEncodingConverter *encconv = m_WParser -> GetEncodingConverter(); + cit = m_WParser -> GetSource() -> Mid(tag.GetBeginPos(), + tag.GetEndPos1() - tag.GetBeginPos()); + if (encconv) + c -> InsertCell(new wxHtmlPRECell(encconv -> Convert(cit), + *(m_WParser -> GetDC()))); + else + c -> InsertCell(new wxHtmlPRECell(cit, + *(m_WParser -> GetDC()))); } m_WParser -> SetFontUnderlined(underlined);