Files
core/ASCOfficeRtfFile/RtfTableRow.h
Sergey.Konovalov 5aa4232313 (1.0.0.42): ASCOfficeRtfFile
Bug 17786 - Нет заливки ячейки.
Bug 17793 - Толщина линии должна быть 4.5pt.
Bug 17797 - в RTF не подхватился флаг переноса заголовка таблицы.
Bug 17811 - В RTF не протащился параметр автофигуры - положение за текстом.
Bug 17784 - первая ячейка в 5-6 строке неверной высоты.
Bug 18780 - RTF документ открывается без картинок, если она была добавлена через PrintScreen в WordPad.
для бага.Bug 17798 - В таблице не подхватилась нумерация.
Bug 22788 - [RTF] Документ с иероглифами открывается со знаками вопросов

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@56358 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-20 22:55:24 +03:00

66 lines
1.9 KiB
C++

#pragma once
#include "Basic.h"
#include "../Common/XmlUtils.h"
#include "RtfTableCell.h"
class RtfTableRow : public IDocumentElement, public ItemContainer< RtfTableCellPtr >
{
public: RtfRowProperty m_oProperty;
public: int GetType()
{
return TYPE_RTF_TABLE_ROW;
}
public: RtfTableRow()
{
}
public: CString RenderToRtf(RenderParameter oRenderParameter)
{
CString sResult;
sResult.Append(_T("\n"));
if( RENDER_TO_RTF_PARAM_NESTED == oRenderParameter.nType )
{
for( int i = 0; i < (int)m_aArray.GetCount(); i++ )
{
sResult.Append( m_aArray[i]->RenderToRtf( oRenderParameter ) );
}
sResult.Append(_T("{\\*\\nesttableprops"));
sResult.Append( m_oProperty.RenderToRtf( oRenderParameter ) );
sResult.Append(_T("\\nestrow}{\\nonesttables \\par}"));
}
else
{
sResult.Append( m_oProperty.RenderToRtf( oRenderParameter ) );
for( int i = 0; i < (int)m_aArray.GetCount(); i++ )
{
sResult.Append( m_aArray[i]->RenderToRtf( oRenderParameter ) );
}
sResult.Append(_T("\\row"));
}
return sResult;
}
public: CString RenderToOOX(RenderParameter oRenderParameter)
{
XmlUtils::CXmlWriter oXmlWriter;
oXmlWriter.WriteNodeBegin(_T("w:tr"),0);
RenderParameter oNewParam = oRenderParameter;
oNewParam.nType = RENDER_TO_OOX_PARAM_UNKNOWN;
CString sRowProp = m_oProperty.RenderToOOX(oNewParam);
if( false == sRowProp.IsEmpty() )
{
CString sXml;
sXml.Format(_T("<w:trPr>%s</w:trPr>"), sRowProp);
oXmlWriter.WriteString(sXml);
}
for(int i = 0 ; i < (int)m_aArray.GetCount(); i++)
{
oXmlWriter.WriteString( m_aArray[i]->RenderToOOX(oNewParam) );
}
oXmlWriter.WriteNodeEnd(_T("w:tr"));
return oXmlWriter.GetXmlString();
}
};
typedef boost::shared_ptr<RtfTableRow> RtfTableRowPtr;