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 header |
+Second |
+
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
| |