From: Vadim Zeitlin Date: Tue, 24 Feb 2009 18:10:43 +0000 (+0000) Subject: render contents in bold, as all the browsers do X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f14217abb40904cd16deb6897af56a299d16197f render contents in bold, as all the browsers do git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/changes.txt b/docs/changes.txt index 0982ebe987..e69e2b7d26 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -480,6 +480,7 @@ All (GUI): - Moved yield functions to wxEventLoopBase and implemented for wxMSW and wxGTK a selective wxEventLoopBase::YieldFor() function. Added also wxEventLoopBase::IsYielding to help cure re-entrancy problems with Yield(). +- Render element contents in bold in wxHTML. wxGTK: diff --git a/samples/html/test/tables.htm b/samples/html/test/tables.htm index 98f34ff4a5..791a88720b 100644 --- a/samples/html/test/tables.htm +++ b/samples/html/test/tables.htm @@ -15,6 +15,10 @@ tests page...
Click here to go to original testing page...
 
+ + + +
First headerSecond
Top left
(two lines expression) @@ -67,7 +71,7 @@ gjg jg gjhfg fg gjh gjf jgf jgj f gjfgj kfajg 
-

This is "default" table - with no sizes givev: +

This is "default" table - with no sizes given:
  diff --git a/src/html/m_tables.cpp b/src/html/m_tables.cpp index ffca46df3c..b111abed67 100644 --- a/src/html/m_tables.cpp +++ b/src/html/m_tables.cpp @@ -747,28 +747,46 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH") m_WParser->OpenContainer(); - if (tag.GetName() == wxT("TH")) /*header style*/ - m_WParser->SetAlign(wxHTML_ALIGN_CENTER); - else - m_WParser->SetAlign(wxHTML_ALIGN_LEFT); + const bool isHeader = tag.GetName() == wxT("TH"); wxString als; - - als = m_rAlign; if (tag.HasParam(wxT("ALIGN"))) als = tag.GetParam(wxT("ALIGN")); + else + als = m_rAlign; als.MakeUpper(); + if (als == wxT("RIGHT")) m_WParser->SetAlign(wxHTML_ALIGN_RIGHT); else if (als == wxT("LEFT")) m_WParser->SetAlign(wxHTML_ALIGN_LEFT); else if (als == wxT("CENTER")) m_WParser->SetAlign(wxHTML_ALIGN_CENTER); + else // use default alignment + m_WParser->SetAlign(isHeader ? wxHTML_ALIGN_CENTER + : wxHTML_ALIGN_LEFT); m_WParser->OpenContainer(); + // the header should be rendered in bold by default + int boldOld wxDUMMY_INITIALIZE(0); + if ( isHeader ) + { + boldOld = m_WParser->GetFontBold(); + m_WParser->SetFontBold(true); + m_WParser->GetContainer()->InsertCell( + new wxHtmlFontCell(m_WParser->CreateCurrentFont())); + } + ParseInner(tag); + if ( isHeader ) + { + m_WParser->SetFontBold(boldOld); + m_WParser->GetContainer()->InsertCell( + new wxHtmlFontCell(m_WParser->CreateCurrentFont())); + } + // set the current container back to the enclosing one so that // text outside of
and isn't included in any cell // (this happens often enough in practice because it's common