- 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 <th> element contents in bold in wxHTML.
wxGTK:
<BR>Click <a href="test.htm">here</a> to go to original testing page...
<BR>
<CENTER><TABLE CELLSPACING=5 BORDER COLS=2 WIDTH="40%" NOSAVE >
+<TR>
+<TH>First header</TH>
+<TH>Second</TH>
+</TR>
<TR ALIGN=CENTER NOSAVE>
<TD WIDTH="40%" NOSAVE>Top left
<BR>(two lines expression)
</TR>
</TABLE>
-<P>This is "default" table - with no sizes givev:
+<P>This is "default" table - with no sizes given:
<BR>
<TABLE BORDER COLS=4 WIDTH="100%" NOSAVE >
<TR NOSAVE>
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 <th> and <td> isn't included in any cell
// (this happens often enough in practice because it's common