wxHTML: don't include extra whitespace in table cells
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
22a9029e23
commit
55ad60c94c
@ -666,10 +666,12 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
|
||||
TAG_HANDLER_VARS
|
||||
wxHtmlTableCell* m_Table;
|
||||
wxString m_tAlign, m_rAlign;
|
||||
wxHtmlContainerCell *m_enclosingContainer;
|
||||
|
||||
TAG_HANDLER_CONSTR(TABLE)
|
||||
{
|
||||
m_Table = NULL;
|
||||
m_enclosingContainer = NULL;
|
||||
m_tAlign = m_rAlign = wxEmptyString;
|
||||
}
|
||||
|
||||
@ -682,9 +684,8 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
|
||||
if (tag.GetName() == wxT("TABLE"))
|
||||
{
|
||||
wxHtmlTableCell *oldt = m_Table;
|
||||
wxHtmlContainerCell *oldcont;
|
||||
|
||||
oldcont = c = m_WParser->OpenContainer();
|
||||
m_enclosingContainer = c = m_WParser->OpenContainer();
|
||||
|
||||
m_Table = new wxHtmlTableCell(c, tag, m_WParser->GetPixelScale());
|
||||
|
||||
@ -718,11 +719,12 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetAlign(oldAlign);
|
||||
m_WParser->SetContainer(oldcont);
|
||||
m_WParser->SetContainer(m_enclosingContainer);
|
||||
m_WParser->CloseContainer();
|
||||
|
||||
m_Table = oldt;
|
||||
return true;
|
||||
|
||||
return true; // ParseInner() called
|
||||
}
|
||||
|
||||
|
||||
@ -764,8 +766,19 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
|
||||
m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
|
||||
|
||||
m_WParser->OpenContainer();
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
// 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
|
||||
// to use whitespace between </td> and the next <td>):
|
||||
m_WParser->SetContainer(m_enclosingContainer);
|
||||
|
||||
return true; // ParseInner() called
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user