diff options
-rw-r--r-- | sw/source/filter/ww8/rtfattributeoutput.cxx | 2740 | ||||
-rw-r--r-- | sw/source/filter/ww8/rtfattributeoutput.hxx | 328 |
2 files changed, 1579 insertions, 1489 deletions
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx index 36d4637f6fc8..d3fb6724241c 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.cxx +++ b/sw/source/filter/ww8/rtfattributeoutput.cxx @@ -108,77 +108,76 @@ using namespace nsFieldFlags; using namespace sw::util; using namespace ::com::sun::star; -static OString OutTBLBorderLine(RtfExport &rExport, const SvxBorderLine* pLine, const sal_Char* pStr) +static OString OutTBLBorderLine(RtfExport& rExport, const SvxBorderLine* pLine, const sal_Char* pStr) { OStringBuffer aRet; - if ( !pLine->isEmpty() ) + if (!pLine->isEmpty()) { aRet.append(pStr); // single line switch (pLine->GetBorderLineStyle()) { - case table::BorderLineStyle::SOLID: - { - if( DEF_LINE_WIDTH_0 == pLine->GetWidth() ) - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRHAIR); - else - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRS); - } - break; - case table::BorderLineStyle::DOTTED: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDOT); - break; - case table::BorderLineStyle::DASHED: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDASH); - break; - case table::BorderLineStyle::DOUBLE: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDB); - break; - case table::BorderLineStyle::THINTHICK_SMALLGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHSG); - break; - case table::BorderLineStyle::THINTHICK_MEDIUMGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHMG); - break; - case table::BorderLineStyle::THINTHICK_LARGEGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHLG); - break; - case table::BorderLineStyle::THICKTHIN_SMALLGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNSG); - break; - case table::BorderLineStyle::THICKTHIN_MEDIUMGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNMG); - break; - case table::BorderLineStyle::THICKTHIN_LARGEGAP: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNLG); - break; - case table::BorderLineStyle::EMBOSSED: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDREMBOSS); - break; - case table::BorderLineStyle::ENGRAVED: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRENGRAVE); - break; - case table::BorderLineStyle::OUTSET: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDROUTSET); - break; - case table::BorderLineStyle::INSET: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRINSET); - break; - case table::BorderLineStyle::NONE: - default: - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRNONE); - break; + case table::BorderLineStyle::SOLID: + { + if (DEF_LINE_WIDTH_0 == pLine->GetWidth()) + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRHAIR); + else + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRS); + } + break; + case table::BorderLineStyle::DOTTED: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDOT); + break; + case table::BorderLineStyle::DASHED: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDASH); + break; + case table::BorderLineStyle::DOUBLE: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRDB); + break; + case table::BorderLineStyle::THINTHICK_SMALLGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHSG); + break; + case table::BorderLineStyle::THINTHICK_MEDIUMGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHMG); + break; + case table::BorderLineStyle::THINTHICK_LARGEGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTNTHLG); + break; + case table::BorderLineStyle::THICKTHIN_SMALLGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNSG); + break; + case table::BorderLineStyle::THICKTHIN_MEDIUMGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNMG); + break; + case table::BorderLineStyle::THICKTHIN_LARGEGAP: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTHTNLG); + break; + case table::BorderLineStyle::EMBOSSED: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDREMBOSS); + break; + case table::BorderLineStyle::ENGRAVED: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRENGRAVE); + break; + case table::BorderLineStyle::OUTSET: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDROUTSET); + break; + case table::BorderLineStyle::INSET: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRINSET); + break; + case table::BorderLineStyle::NONE: + default: + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRNONE); + break; } - double const fConverted( ::editeng::ConvertBorderWidthToWord( - pLine->GetBorderLineStyle(), pLine->GetWidth()) ); - if ( 255 >= pLine->GetWidth() ) // That value comes from RTF specs + double const fConverted(::editeng::ConvertBorderWidthToWord(pLine->GetBorderLineStyle(), pLine->GetWidth())); + if (255 >= pLine->GetWidth()) // That value comes from RTF specs { - aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRW).append( - static_cast<sal_Int32>(fConverted)); + aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRW).append(static_cast<sal_Int32>(fConverted)); } else - { // use \brdrth to double the value range... + { + // use \brdrth to double the value range... aRet.append(OOO_STRING_SVTOOLS_RTF_BRDRTH OOO_STRING_SVTOOLS_RTF_BRDRW); aRet.append(static_cast<sal_Int32>(fConverted) / 2); } @@ -189,8 +188,8 @@ static OString OutTBLBorderLine(RtfExport &rExport, const SvxBorderLine* pLine, return aRet.makeStringAndClear(); } -static OString OutBorderLine(RtfExport &rExport, const SvxBorderLine* pLine, - const sal_Char* pStr, sal_uInt16 nDist, SvxShadowLocation eShadowLocation = SVX_SHADOW_NONE) +static OString OutBorderLine(RtfExport& rExport, const SvxBorderLine* pLine, + const sal_Char* pStr, sal_uInt16 nDist, SvxShadowLocation eShadowLocation = SVX_SHADOW_NONE) { OStringBuffer aRet; aRet.append(OutTBLBorderLine(rExport, pLine, pStr)); @@ -201,7 +200,7 @@ static OString OutBorderLine(RtfExport &rExport, const SvxBorderLine* pLine, return aRet.makeStringAndClear(); } -void RtfAttributeOutput::RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript ) +void RtfAttributeOutput::RTLAndCJKState(bool bIsRTL, sal_uInt16 nScript) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* @@ -213,56 +212,60 @@ void RtfAttributeOutput::RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript ) strikethrough is some ms developers "something is wrong signal" debugging code that we're triggering ? */ - if (bIsRTL) { + if (bIsRTL) + { m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LTRCH); m_aStylesEnd.append(' '); m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_RTLCH); - } else { + } + else + { m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_RTLCH); m_aStylesEnd.append(' '); m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LTRCH); } - switch (nScript) { - case i18n::ScriptType::LATIN: - m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LOCH); - break; - case i18n::ScriptType::ASIAN: - m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_DBCH); - break; - case i18n::ScriptType::COMPLEX: - /* noop */ - break; - default: - /* should not happen? */ - break; + switch (nScript) + { + case i18n::ScriptType::LATIN: + m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LOCH); + break; + case i18n::ScriptType::ASIAN: + m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_DBCH); + break; + case i18n::ScriptType::COMPLEX: + /* noop */ + break; + default: + /* should not happen? */ + break; } } -void RtfAttributeOutput::StartParagraph( ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo ) +void RtfAttributeOutput::StartParagraph(ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); // Output table/table row/table cell starts if needed - if ( pTextNodeInfo.get() ) + if (pTextNodeInfo.get()) { sal_uInt32 nRow = pTextNodeInfo->getRow(); sal_uInt32 nCell = pTextNodeInfo->getCell(); // New cell/row? - if ( m_nTableDepth > 0 && !m_bTableCellOpen ) + if (m_nTableDepth > 0 && !m_bTableCellOpen) { - ww8::WW8TableNodeInfoInner::Pointer_t pDeepInner( pTextNodeInfo->getInnerForDepth( m_nTableDepth ) ); - OSL_ENSURE( pDeepInner, "TableNodeInfoInner not found"); + ww8::WW8TableNodeInfoInner::Pointer_t pDeepInner(pTextNodeInfo->getInnerForDepth(m_nTableDepth)); + OSL_ENSURE(pDeepInner, "TableNodeInfoInner not found"); // Make sure we always start a row between ending one and starting a cell. // In case of subtables, we may not get the first cell. if (pDeepInner && (pDeepInner->getCell() == 0 || m_bTableRowEnded)) { m_bTableRowEnded = false; - StartTableRow( pDeepInner ); + StartTableRow(pDeepInner); } - StartTableCell( pDeepInner ); + StartTableCell(pDeepInner); } // Again, if depth was incremented, start a new table even if we skipped the first cell. @@ -273,17 +276,17 @@ void RtfAttributeOutput::StartParagraph( ww8::WW8TableNodeInfo::Pointer_t pTextN // continue the table cell] sal_uInt32 nCurrentDepth = pTextNodeInfo->getDepth(); - if ( nCurrentDepth > m_nTableDepth ) + if (nCurrentDepth > m_nTableDepth) { // Start all the tables that begin here - for ( sal_uInt32 nDepth = m_nTableDepth + 1; nDepth <= pTextNodeInfo->getDepth(); ++nDepth ) + for (sal_uInt32 nDepth = m_nTableDepth + 1; nDepth <= pTextNodeInfo->getDepth(); ++nDepth) { - ww8::WW8TableNodeInfoInner::Pointer_t pInner( pTextNodeInfo->getInnerForDepth( nDepth ) ); + ww8::WW8TableNodeInfoInner::Pointer_t pInner(pTextNodeInfo->getInnerForDepth(nDepth)); m_bLastTable = (nDepth == pTextNodeInfo->getDepth()); - StartTable( pInner ); - StartTableRow( pInner ); - StartTableCell( pInner ); + StartTable(pInner); + StartTableRow(pInner); + StartTableCell(pInner); } m_nTableDepth = nCurrentDepth; @@ -294,7 +297,7 @@ void RtfAttributeOutput::StartParagraph( ww8::WW8TableNodeInfo::Pointer_t pTextN OSL_ENSURE(m_aRun.getLength() == 0, "m_aRun is not empty"); } -void RtfAttributeOutput::EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ) +void RtfAttributeOutput::EndParagraph(ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); bool bLastPara = false; @@ -304,7 +307,7 @@ void RtfAttributeOutput::EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTe bLastPara = m_rExport.m_nCurrentNodeIndex && m_rExport.m_nCurrentNodeIndex == m_rExport.pCurPam->End()->nNode.GetIndex(); } - FinishTableRowCell( pTextNodeInfoInner ); + FinishTableRowCell(pTextNodeInfoInner); RtfStringBuffer aParagraph; @@ -338,7 +341,7 @@ void RtfAttributeOutput::EmptyParagraph() { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_PAR ).WriteChar( ' ' ); + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_PAR).WriteChar(' '); } void RtfAttributeOutput::SectionBreaks(const SwTxtNode& rNode) @@ -347,26 +350,26 @@ void RtfAttributeOutput::SectionBreaks(const SwTxtNode& rNode) OSL_ENSURE(m_aStyles.getLength() == 0, "m_aStyles is not empty"); // output page/section breaks - SwNodeIndex aNextIndex( rNode, 1 ); - m_rExport.Strm().WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + SwNodeIndex aNextIndex(rNode, 1); + m_rExport.Strm().WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); m_bBufferSectionBreaks = true; // output section headers / footers if (!m_bBufferSectionHeaders) - m_rExport.Strm().WriteCharPtr( m_aSectionHeaders.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aSectionHeaders.makeStringAndClear().getStr()); - if ( aNextIndex.GetNode().IsTxtNode() ) + if (aNextIndex.GetNode().IsTxtNode()) { - const SwTxtNode* pTxtNode = static_cast< SwTxtNode* >( &aNextIndex.GetNode() ); - m_rExport.OutputSectionBreaks( pTxtNode->GetpSwAttrSet(), *pTxtNode ); + const SwTxtNode* pTxtNode = static_cast< SwTxtNode* >(&aNextIndex.GetNode()); + m_rExport.OutputSectionBreaks(pTxtNode->GetpSwAttrSet(), *pTxtNode); // Save the current page description for now, so later we will be able to access the previous one. m_pPrevPageDesc = pTxtNode->FindPageDesc(false); } - else if ( aNextIndex.GetNode().IsTableNode() ) + else if (aNextIndex.GetNode().IsTableNode()) { - const SwTableNode* pTableNode = static_cast< SwTableNode* >( &aNextIndex.GetNode() ); - const SwFrmFmt *pFmt = pTableNode->GetTable().GetFrmFmt(); - m_rExport.OutputSectionBreaks( &(pFmt->GetAttrSet()), *pTableNode ); + const SwTableNode* pTableNode = static_cast< SwTableNode* >(&aNextIndex.GetNode()); + const SwFrmFmt* pFmt = pTableNode->GetTable().GetFrmFmt(); + m_rExport.OutputSectionBreaks(&(pFmt->GetAttrSet()), *pTableNode); } m_bBufferSectionBreaks = false; } @@ -383,19 +386,19 @@ void RtfAttributeOutput::StartParagraphProperties() aPar.append(' '); } if (!m_bBufferSectionHeaders) - m_rExport.Strm().WriteCharPtr( aPar.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(aPar.makeStringAndClear().getStr()); else m_aSectionHeaders.append(aPar.makeStringAndClear()); } -void RtfAttributeOutput::EndParagraphProperties( const SfxItemSet* /*pParagraphMarkerProperties*/, const SwRedlineData* /*pRedlineData*/, const SwRedlineData* /*pRedlineParagraphMarkerDeleted*/, const SwRedlineData* /*pRedlineParagraphMarkerInserted*/) +void RtfAttributeOutput::EndParagraphProperties(const SfxItemSet* /*pParagraphMarkerProperties*/, const SwRedlineData* /*pRedlineData*/, const SwRedlineData* /*pRedlineParagraphMarkerDeleted*/, const SwRedlineData* /*pRedlineParagraphMarkerInserted*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(m_aStylesEnd.makeStringAndClear()); - m_rExport.Strm().WriteCharPtr( m_aStyles.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aStyles.makeStringAndClear().getStr()); } -void RtfAttributeOutput::StartRun( const SwRedlineData* pRedlineData, bool bSingleEmptyRun ) +void RtfAttributeOutput::StartRun(const SwRedlineData* pRedlineData, bool bSingleEmptyRun) { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", bSingleEmptyRun: " << bSingleEmptyRun); @@ -405,7 +408,7 @@ void RtfAttributeOutput::StartRun( const SwRedlineData* pRedlineData, bool bSing m_aRun->append('{'); // if there is some redlining in the document, output it - Redline( pRedlineData ); + Redline(pRedlineData); OSL_ENSURE(m_aRunText.getLength() == 0, "m_aRunText is not empty"); } @@ -428,17 +431,17 @@ void RtfAttributeOutput::StartRunProperties() OSL_ENSURE(m_aStyles.getLength() == 0, "m_aStyles is not empty"); } -void RtfAttributeOutput::EndRunProperties( const SwRedlineData* /*pRedlineData*/ ) +void RtfAttributeOutput::EndRunProperties(const SwRedlineData* /*pRedlineData*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(m_aStylesEnd.makeStringAndClear()); m_aRun->append(m_aStyles.makeStringAndClear()); } -void RtfAttributeOutput::RunText( const OUString& rText, rtl_TextEncoding /*eCharSet*/ ) +void RtfAttributeOutput::RunText(const OUString& rText, rtl_TextEncoding /*eCharSet*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", rText: " << rText); - RawText( rText, false, m_rExport.eCurrentEncoding ); + RawText(rText, false, m_rExport.eCurrentEncoding); } OStringBuffer& RtfAttributeOutput::RunText() @@ -451,13 +454,13 @@ OStringBuffer& RtfAttributeOutput::Styles() return m_aStyles; } -void RtfAttributeOutput::RawText( const OUString& rText, bool /*bForceUnicode*/, rtl_TextEncoding eCharSet ) +void RtfAttributeOutput::RawText(const OUString& rText, bool /*bForceUnicode*/, rtl_TextEncoding eCharSet) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aRunText->append(msfilter::rtfutil::OutString(rText, eCharSet)); } -void RtfAttributeOutput::StartRuby( const SwTxtNode& /*rNode*/, sal_Int32 /*nPos*/, const SwFmtRuby& /*rRuby*/ ) +void RtfAttributeOutput::StartRuby(const SwTxtNode& /*rNode*/, sal_Int32 /*nPos*/, const SwFmtRuby& /*rRuby*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } @@ -467,7 +470,7 @@ void RtfAttributeOutput::EndRuby() SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -bool RtfAttributeOutput::StartURL( const OUString& rUrl, const OUString& rTarget ) +bool RtfAttributeOutput::StartURL(const OUString& rUrl, const OUString& rTarget) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -478,18 +481,18 @@ bool RtfAttributeOutput::StartURL( const OUString& rUrl, const OUString& rTarget m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FLDINST); m_aStyles.append(" HYPERLINK "); - OUString sURL( rUrl ); - if( !sURL.isEmpty() ) + OUString sURL(rUrl); + if (!sURL.isEmpty()) { m_aStyles.append("\""); - m_aStyles.append(msfilter::rtfutil::OutString( sURL, m_rExport.eCurrentEncoding)); + m_aStyles.append(msfilter::rtfutil::OutString(sURL, m_rExport.eCurrentEncoding)); m_aStyles.append("\" "); } - if( !rTarget.isEmpty() ) + if (!rTarget.isEmpty()) { m_aStyles.append("\\\\t \""); - m_aStyles.append(msfilter::rtfutil::OutString( rTarget, m_rExport.eCurrentEncoding)); + m_aStyles.append(msfilter::rtfutil::OutString(rTarget, m_rExport.eCurrentEncoding)); m_aStyles.append("\" "); } @@ -516,12 +519,12 @@ bool RtfAttributeOutput::EndURL() return true; } -void RtfAttributeOutput::FieldVanish( const OUString& /*rTxt*/, ww::eField /*eType*/ ) +void RtfAttributeOutput::FieldVanish(const OUString& /*rTxt*/, ww::eField /*eType*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::Redline( const SwRedlineData* pRedline ) +void RtfAttributeOutput::Redline(const SwRedlineData* pRedline) { if (!pRedline) return; @@ -535,7 +538,7 @@ void RtfAttributeOutput::Redline( const SwRedlineData* pRedline ) m_aRun->append((sal_Int32)m_rExport.GetRedline(SW_MOD()->GetRedlineAuthor(pRedline->GetAuthor()))); m_aRun->append(OOO_STRING_SVTOOLS_RTF_REVDTTM); } - else if(pRedline->GetType() == nsRedlineType_t::REDLINE_DELETE) + else if (pRedline->GetType() == nsRedlineType_t::REDLINE_DELETE) { m_aRun->append(OOO_STRING_SVTOOLS_RTF_DELETED); m_aRun->append(OOO_STRING_SVTOOLS_RTF_REVAUTHDEL); @@ -546,33 +549,33 @@ void RtfAttributeOutput::Redline( const SwRedlineData* pRedline ) m_aRun->append(' '); } -void RtfAttributeOutput::FormatDrop( const SwTxtNode& /*rNode*/, const SwFmtDrop& /*rSwFmtDrop*/, sal_uInt16 /*nStyle*/, ww8::WW8TableNodeInfo::Pointer_t /*pTextNodeInfo*/, ww8::WW8TableNodeInfoInner::Pointer_t /*pTextNodeInfoInner*/ ) +void RtfAttributeOutput::FormatDrop(const SwTxtNode& /*rNode*/, const SwFmtDrop& /*rSwFmtDrop*/, sal_uInt16 /*nStyle*/, ww8::WW8TableNodeInfo::Pointer_t /*pTextNodeInfo*/, ww8::WW8TableNodeInfoInner::Pointer_t /*pTextNodeInfoInner*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::ParagraphStyle( sal_uInt16 nStyle ) +void RtfAttributeOutput::ParagraphStyle(sal_uInt16 nStyle) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - OString *pStyle = m_rExport.GetStyle(nStyle); + OString* pStyle = m_rExport.GetStyle(nStyle); OStringBuffer aStyle; aStyle.append(OOO_STRING_SVTOOLS_RTF_S); aStyle.append((sal_Int32)nStyle); if (pStyle) aStyle.append(pStyle->getStr()); if (!m_bBufferSectionHeaders) - m_rExport.Strm().WriteCharPtr( aStyle.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(aStyle.makeStringAndClear().getStr()); else m_aSectionHeaders.append(aStyle.makeStringAndClear()); } -void RtfAttributeOutput::TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::TableInfoCell(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_INTBL); - if ( m_nTableDepth > 1 ) + if (m_nTableDepth > 1) { m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ITAP); m_aStyles.append((sal_Int32)m_nTableDepth); @@ -580,31 +583,31 @@ void RtfAttributeOutput::TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t /* m_bWroteCellInfo = true; } -void RtfAttributeOutput::TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfo*/ ) +void RtfAttributeOutput::TableInfoRow(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfo*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* noop */ } -void RtfAttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableDefinition(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( !m_pTableWrt ) - InitTableHelper( pTableTextNodeInfoInner ); + if (!m_pTableWrt) + InitTableHelper(pTableTextNodeInfoInner); - const SwTable *pTbl = pTableTextNodeInfoInner->getTable(); - SwFrmFmt *pFmt = pTbl->GetFrmFmt( ); + const SwTable* pTbl = pTableTextNodeInfoInner->getTable(); + SwFrmFmt* pFmt = pTbl->GetFrmFmt(); m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_TROWD); - TableOrientation( pTableTextNodeInfoInner ); - TableBidi( pTableTextNodeInfoInner ); - TableHeight( pTableTextNodeInfoInner ); - TableCanSplit( pTableTextNodeInfoInner ); + TableOrientation(pTableTextNodeInfoInner); + TableBidi(pTableTextNodeInfoInner); + TableHeight(pTableTextNodeInfoInner); + TableCanSplit(pTableTextNodeInfoInner); // Cell margins - const SvxBoxItem& rBox = pFmt->GetBox( ); + const SvxBoxItem& rBox = pFmt->GetBox(); static const sal_uInt16 aBorders[] = { BOX_LINE_TOP, BOX_LINE_LEFT, BOX_LINE_BOTTOM, BOX_LINE_RIGHT @@ -629,34 +632,34 @@ void RtfAttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t } // The cell-dependent properties - const SwWriteTableRows& aRows = m_pTableWrt->GetRows( ); - SwWriteTableRow *pRow = aRows[ pTableTextNodeInfoInner->getRow( ) ]; + const SwWriteTableRows& aRows = m_pTableWrt->GetRows(); + SwWriteTableRow* pRow = aRows[ pTableTextNodeInfoInner->getRow() ]; SwTwips nSz = 0; Point aPt; - SwRect aRect( pFmt->FindLayoutRect( false, &aPt )); + SwRect aRect(pFmt->FindLayoutRect(false, &aPt)); SwTwips nPageSize = aRect.Width(); // Handle the page size when not rendered - if( 0 == nPageSize ) + if (0 == nPageSize) { const SwNode* pNode = pTableTextNodeInfoInner->getNode(); const SwFrmFmt* pFrmFmt = GetExport().mpParentFrame ? &GetExport().mpParentFrame->GetFrmFmt() : - GetExport().pDoc->GetPageDesc(0).GetPageFmtOfNode(*pNode, false); + GetExport().pDoc->GetPageDesc(0).GetPageFmtOfNode(*pNode, false); const SvxLRSpaceItem& rLR = pFrmFmt->GetLRSpace(); nPageSize = pFrmFmt->GetFrmSize().GetWidth() - - rLR.GetLeft() - rLR.GetRight(); + rLR.GetLeft() - rLR.GetRight(); } SwTwips nTblSz = pFmt->GetFrmSize().GetWidth(); // Not using m_nTableDepth, which is not yet incremented here. sal_uInt32 nCurrentDepth = pTableTextNodeInfoInner->getDepth(); m_aCells[nCurrentDepth] = pRow->GetCells().size(); - for( sal_uInt16 i = 0; i < m_aCells[nCurrentDepth]; i++ ) + for (sal_uInt16 i = 0; i < m_aCells[nCurrentDepth]; i++) { - const SwWriteTableCell *pCell = &pRow->GetCells( )[ i ]; - const SwFrmFmt *pCellFmt = pCell->GetBox()->GetFrmFmt(); + const SwWriteTableCell* pCell = &pRow->GetCells()[ i ]; + const SwFrmFmt* pCellFmt = pCell->GetBox()->GetFrmFmt(); - pTableTextNodeInfoInner->setCell( i ); + pTableTextNodeInfoInner->setCell(i); TableCellProperties(pTableTextNodeInfoInner); // Right boundary: this can't be in TableCellProperties as the old @@ -666,11 +669,11 @@ void RtfAttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t SwTwips nCalc = nSz; nCalc *= nPageSize; nCalc /= nTblSz; - m_aRowDefs.append( (sal_Int32)(pFmt->GetLRSpace().GetLeft() + nCalc) ); + m_aRowDefs.append((sal_Int32)(pFmt->GetLRSpace().GetLeft() + nCalc)); } } -void RtfAttributeOutput::TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableDefaultBorders(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -681,13 +684,13 @@ void RtfAttributeOutput::TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointe * called for each cell. */ - const SwTableBox *pTblBox = pTableTextNodeInfoInner->getTableBox( ); - SwFrmFmt *pFmt = pTblBox->GetFrmFmt( ); - const SvxBoxItem& rDefault = pFmt->GetBox( ); - const SwWriteTableRows& aRows = m_pTableWrt->GetRows( ); - SwWriteTableRow *pRow = aRows[ pTableTextNodeInfoInner->getRow( ) ]; - const SwWriteTableCell *pCell = &pRow->GetCells( )[ pTableTextNodeInfoInner->getCell( ) ]; - const SwFrmFmt *pCellFmt = pCell->GetBox()->GetFrmFmt(); + const SwTableBox* pTblBox = pTableTextNodeInfoInner->getTableBox(); + SwFrmFmt* pFmt = pTblBox->GetFrmFmt(); + const SvxBoxItem& rDefault = pFmt->GetBox(); + const SwWriteTableRows& aRows = m_pTableWrt->GetRows(); + SwWriteTableRow* pRow = aRows[ pTableTextNodeInfoInner->getRow() ]; + const SwWriteTableCell* pCell = &pRow->GetCells()[ pTableTextNodeInfoInner->getCell() ]; + const SwFrmFmt* pCellFmt = pCell->GetBox()->GetFrmFmt(); const SfxPoolItem* pItem; if (pCellFmt->GetAttrSet().HasItem(RES_BOX, &pItem)) { @@ -726,19 +729,19 @@ void RtfAttributeOutput::TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointe } } -void RtfAttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableBackgrounds(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwWriteTableRows& aRows = m_pTableWrt->GetRows( ); - SwWriteTableRow *pRow = aRows[ pTableTextNodeInfoInner->getRow( ) ]; - const SwWriteTableCell *pCell = &pRow->GetCells( )[ pTableTextNodeInfoInner->getCell( ) ]; - const SwFrmFmt *pCellFmt = pCell->GetBox()->GetFrmFmt(); + const SwWriteTableRows& aRows = m_pTableWrt->GetRows(); + SwWriteTableRow* pRow = aRows[ pTableTextNodeInfoInner->getRow() ]; + const SwWriteTableCell* pCell = &pRow->GetCells()[ pTableTextNodeInfoInner->getCell() ]; + const SwFrmFmt* pCellFmt = pCell->GetBox()->GetFrmFmt(); const SfxPoolItem* pItem; if (pCellFmt->GetAttrSet().HasItem(RES_BACKGROUND, &pItem)) { const SvxBrushItem& rBack = (SvxBrushItem&)*pItem; - if( !rBack.GetColor().GetTransparency() ) + if (!rBack.GetColor().GetTransparency()) { m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLCBPAT); m_aRowDefs.append((sal_Int32)m_rExport.GetColor(rBack.GetColor())); @@ -746,35 +749,40 @@ void RtfAttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t } } -void RtfAttributeOutput::TableRowRedline( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::TableRowRedline(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { } -void RtfAttributeOutput::TableCellRedline( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::TableCellRedline(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { } -void RtfAttributeOutput::TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableHeight(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwTableBox * pTabBox = pTableTextNodeInfoInner->getTableBox(); - const SwTableLine * pTabLine = pTabBox->GetUpper(); - const SwFrmFmt * pLineFmt = pTabLine->GetFrmFmt(); + const SwTableBox* pTabBox = pTableTextNodeInfoInner->getTableBox(); + const SwTableLine* pTabLine = pTabBox->GetUpper(); + const SwFrmFmt* pLineFmt = pTabLine->GetFrmFmt(); const SwFmtFrmSize& rLSz = pLineFmt->GetFrmSize(); - if ( ATT_VAR_SIZE != rLSz.GetHeightSizeType() && rLSz.GetHeight() ) + if (ATT_VAR_SIZE != rLSz.GetHeightSizeType() && rLSz.GetHeight()) { sal_Int32 nHeight = 0; - switch ( rLSz.GetHeightSizeType() ) + switch (rLSz.GetHeightSizeType()) { - case ATT_FIX_SIZE: nHeight = -rLSz.GetHeight(); break; - case ATT_MIN_SIZE: nHeight = rLSz.GetHeight(); break; - default: break; + case ATT_FIX_SIZE: + nHeight = -rLSz.GetHeight(); + break; + case ATT_MIN_SIZE: + nHeight = rLSz.GetHeight(); + break; + default: + break; } - if ( nHeight ) + if (nHeight) { m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_TRRH); m_aRowDefs.append(nHeight); @@ -782,41 +790,41 @@ void RtfAttributeOutput::TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTab } } -void RtfAttributeOutput::TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableCanSplit(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwTableBox * pTabBox = pTableTextNodeInfoInner->getTableBox(); - const SwTableLine * pTabLine = pTabBox->GetUpper(); - const SwFrmFmt * pLineFmt = pTabLine->GetFrmFmt(); - const SwFmtRowSplit& rSplittable = pLineFmt->GetRowSplit( ); + const SwTableBox* pTabBox = pTableTextNodeInfoInner->getTableBox(); + const SwTableLine* pTabLine = pTabBox->GetUpper(); + const SwFrmFmt* pLineFmt = pTabLine->GetFrmFmt(); + const SwFmtRowSplit& rSplittable = pLineFmt->GetRowSplit(); // The rtf default is to allow a row to break if (!rSplittable.GetValue()) m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_TRKEEP); } -void RtfAttributeOutput::TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableBidi(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwTable * pTable = pTableTextNodeInfoInner->getTable(); - const SwFrmFmt * pFrmFmt = pTable->GetFrmFmt(); + const SwTable* pTable = pTableTextNodeInfoInner->getTable(); + const SwFrmFmt* pFrmFmt = pTable->GetFrmFmt(); - if ( m_rExport.TrueFrameDirection( *pFrmFmt ) != FRMDIR_HORI_RIGHT_TOP ) + if (m_rExport.TrueFrameDirection(*pFrmFmt) != FRMDIR_HORI_RIGHT_TOP) m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_LTRROW); else m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_RTLROW); } -void RtfAttributeOutput::TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableVerticalCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwWriteTableRows& aRows = m_pTableWrt->GetRows( ); - SwWriteTableRow *pRow = aRows[ pTableTextNodeInfoInner->getRow( ) ]; - const SwWriteTableCell *pCell = &pRow->GetCells( )[ pTableTextNodeInfoInner->getCell( ) ]; - const SwFrmFmt *pCellFmt = pCell->GetBox()->GetFrmFmt(); + const SwWriteTableRows& aRows = m_pTableWrt->GetRows(); + SwWriteTableRow* pRow = aRows[ pTableTextNodeInfoInner->getRow() ]; + const SwWriteTableCell* pCell = &pRow->GetCells()[ pTableTextNodeInfoInner->getCell() ]; + const SwFrmFmt* pCellFmt = pCell->GetBox()->GetFrmFmt(); const SfxPoolItem* pItem; // vertical merges @@ -827,22 +835,28 @@ void RtfAttributeOutput::TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_ // vertical alignment if (pCellFmt->GetAttrSet().HasItem(RES_VERT_ORIENT, &pItem)) - switch( ((SwFmtVertOrient*)pItem)->GetVertOrient() ) + switch (((SwFmtVertOrient*)pItem)->GetVertOrient()) { - case text::VertOrientation::CENTER: m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALC); break; - case text::VertOrientation::BOTTOM: m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALB); break; - default: m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALT); break; + case text::VertOrientation::CENTER: + m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALC); + break; + case text::VertOrientation::BOTTOM: + m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALB); + break; + default: + m_aRowDefs.append(OOO_STRING_SVTOOLS_RTF_CLVERTALT); + break; } } -void RtfAttributeOutput::TableNodeInfo( ww8::WW8TableNodeInfo::Pointer_t /*pNodeInfo*/ ) +void RtfAttributeOutput::TableNodeInfo(ww8::WW8TableNodeInfo::Pointer_t /*pNodeInfo*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* noop */ } -void RtfAttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner ) +void RtfAttributeOutput::TableNodeInfoInner(ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -850,45 +864,45 @@ void RtfAttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer // paragraph benhind that; so we must check for the ends of cell, rows, // and tables // ['true' to write an empty paragraph, MS Word insists on that] - FinishTableRowCell( pNodeInfoInner, true ); + FinishTableRowCell(pNodeInfoInner, true); } -void RtfAttributeOutput::TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableOrientation(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwTable *pTable = pTableTextNodeInfoInner->getTable(); - SwFrmFmt *pFmt = pTable->GetFrmFmt( ); + const SwTable* pTable = pTableTextNodeInfoInner->getTable(); + SwFrmFmt* pFmt = pTable->GetFrmFmt(); - OStringBuffer aTblAdjust( OOO_STRING_SVTOOLS_RTF_TRQL ); + OStringBuffer aTblAdjust(OOO_STRING_SVTOOLS_RTF_TRQL); switch (pFmt->GetHoriOrient().GetHoriOrient()) { - case text::HoriOrientation::CENTER: - aTblAdjust.setLength(0); - aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRQC); - break; - case text::HoriOrientation::RIGHT: - aTblAdjust.setLength(0); - aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRQR); - break; - case text::HoriOrientation::NONE: - case text::HoriOrientation::LEFT_AND_WIDTH: - aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRLEFT); - aTblAdjust.append((sal_Int32)pFmt->GetLRSpace().GetLeft()); - break; - default: - break; + case text::HoriOrientation::CENTER: + aTblAdjust.setLength(0); + aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRQC); + break; + case text::HoriOrientation::RIGHT: + aTblAdjust.setLength(0); + aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRQR); + break; + case text::HoriOrientation::NONE: + case text::HoriOrientation::LEFT_AND_WIDTH: + aTblAdjust.append(OOO_STRING_SVTOOLS_RTF_TRLEFT); + aTblAdjust.append((sal_Int32)pFmt->GetLRSpace().GetLeft()); + break; + default: + break; } m_aRowDefs.append(aTblAdjust.makeStringAndClear()); } -void RtfAttributeOutput::TableSpacing( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::TableSpacing(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::TableRowEnd( sal_uInt32 /*nDepth*/ ) +void RtfAttributeOutput::TableRowEnd(sal_uInt32 /*nDepth*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -899,7 +913,7 @@ void RtfAttributeOutput::TableRowEnd( sal_uInt32 /*nDepth*/ ) * Our private table methods. */ -void RtfAttributeOutput::InitTableHelper( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::InitTableHelper(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -907,21 +921,21 @@ void RtfAttributeOutput::InitTableHelper( ww8::WW8TableNodeInfoInner::Pointer_t bool bRelBoxSize = false; // Create the SwWriteTable instance to use col spans - GetTablePageSize( pTableTextNodeInfoInner.get(), nPageSize, bRelBoxSize ); + GetTablePageSize(pTableTextNodeInfoInner.get(), nPageSize, bRelBoxSize); - const SwTable* pTable = pTableTextNodeInfoInner->getTable( ); - const SwFrmFmt *pFmt = pTable->GetFrmFmt( ); - SwTwips nTblSz = pFmt->GetFrmSize( ).GetWidth( ); + const SwTable* pTable = pTableTextNodeInfoInner->getTable(); + const SwFrmFmt* pFmt = pTable->GetFrmFmt(); + SwTwips nTblSz = pFmt->GetFrmSize().GetWidth(); - const SwHTMLTableLayout *pLayout = pTable->GetHTMLTableLayout(); - if( pLayout && pLayout->IsExportable() ) - m_pTableWrt = new SwWriteTable( pLayout ); + const SwHTMLTableLayout* pLayout = pTable->GetHTMLTableLayout(); + if (pLayout && pLayout->IsExportable()) + m_pTableWrt = new SwWriteTable(pLayout); else - m_pTableWrt = new SwWriteTable( pTable->GetTabLines(), (sal_uInt16)nPageSize, - (sal_uInt16)nTblSz, false); + m_pTableWrt = new SwWriteTable(pTable->GetTabLines(), (sal_uInt16)nPageSize, + (sal_uInt16)nTblSz, false); } -void RtfAttributeOutput::StartTable( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::StartTable(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -929,7 +943,7 @@ void RtfAttributeOutput::StartTable( ww8::WW8TableNodeInfoInner::Pointer_t /*pTa delete m_pTableWrt, m_pTableWrt = NULL; } -void RtfAttributeOutput::StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::StartTableRow(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { sal_uInt32 nCurrentDepth = pTableTextNodeInfoInner->getDepth(); SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", (depth is " << nCurrentDepth << ")"); @@ -940,22 +954,22 @@ void RtfAttributeOutput::StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t pT m_aTables.push_back(m_aRowDefs.makeStringAndClear()); // We'll write the table definition for nested tables later - if ( nCurrentDepth > 1 ) + if (nCurrentDepth > 1) return; // Empty the previous row closing buffer before starting the new one, // necessary for subtables. - m_rExport.Strm().WriteCharPtr( m_aAfterRuns.makeStringAndClear().getStr() ); - m_rExport.Strm().WriteCharPtr( m_aRowDefs.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aAfterRuns.makeStringAndClear().getStr()); + m_rExport.Strm().WriteCharPtr(m_aRowDefs.makeStringAndClear().getStr()); } -void RtfAttributeOutput::StartTableCell( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ ) +void RtfAttributeOutput::StartTableCell(ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_bTableCellOpen = true; } -void RtfAttributeOutput::TableCellProperties( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) +void RtfAttributeOutput::TableCellProperties(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -964,7 +978,7 @@ void RtfAttributeOutput::TableCellProperties( ww8::WW8TableNodeInfoInner::Pointe TableVerticalCell(pTableTextNodeInfoInner); } -void RtfAttributeOutput::EndTableCell( ) +void RtfAttributeOutput::EndTableCell() { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", (depth is " << m_nTableDepth << ")"); @@ -974,7 +988,7 @@ void RtfAttributeOutput::EndTableCell( ) m_aAfterRuns.append(OOO_STRING_SVTOOLS_RTF_ITAP); m_aAfterRuns.append((sal_Int32)m_nTableDepth); } - if ( m_nTableDepth > 1 ) + if (m_nTableDepth > 1) m_aAfterRuns.append(OOO_STRING_SVTOOLS_RTF_NESTCELL); else m_aAfterRuns.append(OOO_STRING_SVTOOLS_RTF_CELL); @@ -986,15 +1000,15 @@ void RtfAttributeOutput::EndTableCell( ) m_aCells[m_nTableDepth]--; } -void RtfAttributeOutput::EndTableRow( ) +void RtfAttributeOutput::EndTableRow() { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", (depth is " << m_nTableDepth << ")"); // Trying to end the row without writing the required number of cells? Fill with empty ones. - for( sal_uInt16 i = 0; i < m_aCells[m_nTableDepth]; i++ ) + for (sal_uInt16 i = 0; i < m_aCells[m_nTableDepth]; i++) m_aAfterRuns.append(OOO_STRING_SVTOOLS_RTF_CELL); - if ( m_nTableDepth > 1 ) + if (m_nTableDepth > 1) { m_aAfterRuns.append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_NESTTABLEPROPRS); if (!m_aRowDefs.isEmpty()) @@ -1022,7 +1036,8 @@ void RtfAttributeOutput::EndTable() { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( m_nTableDepth > 0 ) { + if (m_nTableDepth > 0) + { m_nTableDepth--; delete m_pTableWrt, m_pTableWrt = NULL; } @@ -1035,28 +1050,28 @@ void RtfAttributeOutput::EndTable() delete m_pTableWrt, m_pTableWrt = NULL; } -void RtfAttributeOutput::FinishTableRowCell( ww8::WW8TableNodeInfoInner::Pointer_t pInner, bool /*bForceEmptyParagraph*/ ) +void RtfAttributeOutput::FinishTableRowCell(ww8::WW8TableNodeInfoInner::Pointer_t pInner, bool /*bForceEmptyParagraph*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( pInner.get() ) + if (pInner.get()) { // Where are we in the table - sal_uInt32 nRow = pInner->getRow( ); + sal_uInt32 nRow = pInner->getRow(); - const SwTable *pTable = pInner->getTable( ); - const SwTableLines& rLines = pTable->GetTabLines( ); - sal_uInt16 nLinesCount = rLines.size( ); + const SwTable* pTable = pInner->getTable(); + const SwTableLines& rLines = pTable->GetTabLines(); + sal_uInt16 nLinesCount = rLines.size(); - if ( pInner->isEndOfCell() ) + if (pInner->isEndOfCell()) EndTableCell(); // This is a line end - if ( pInner->isEndOfLine() ) + if (pInner->isEndOfLine()) EndTableRow(); // This is the end of the table - if ( pInner->isEndOfLine( ) && ( nRow + 1 ) == nLinesCount ) + if (pInner->isEndOfLine() && (nRow + 1) == nLinesCount) EndTable(); } } @@ -1064,7 +1079,7 @@ void RtfAttributeOutput::FinishTableRowCell( ww8::WW8TableNodeInfoInner::Pointer void RtfAttributeOutput::StartStyles() { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ).WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLORTBL ); + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING).WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLORTBL); m_rExport.OutColorTable(); OSL_ENSURE(m_aStylesheet.getLength() == 0, "m_aStylesheet is not empty"); m_aStylesheet.append(SAL_NEWLINE_STRING); @@ -1072,24 +1087,24 @@ void RtfAttributeOutput::StartStyles() m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_STYLESHEET); } -void RtfAttributeOutput::EndStyles( sal_uInt16 /*nNumberOfStyles*/ ) +void RtfAttributeOutput::EndStyles(sal_uInt16 /*nNumberOfStyles*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteChar( '}' ); - m_rExport.Strm().WriteCharPtr( m_aStylesheet.makeStringAndClear().getStr() ); - m_rExport.Strm().WriteChar( '}' ); + m_rExport.Strm().WriteChar('}'); + m_rExport.Strm().WriteCharPtr(m_aStylesheet.makeStringAndClear().getStr()); + m_rExport.Strm().WriteChar('}'); } -void RtfAttributeOutput::DefaultStyle( sal_uInt16 /*nStyle*/ ) +void RtfAttributeOutput::DefaultStyle(sal_uInt16 /*nStyle*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* noop, the default style is always 0 in RTF */ } -void RtfAttributeOutput::StartStyle( const OUString& rName, StyleType eType, - sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 /*nWwId*/, sal_uInt16 nId, - bool /* bAutoUpdate */ ) +void RtfAttributeOutput::StartStyle(const OUString& rName, StyleType eType, + sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 /*nWwId*/, sal_uInt16 nId, + bool /* bAutoUpdate */) { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", rName = '" << rName << "'"); @@ -1097,10 +1112,10 @@ void RtfAttributeOutput::StartStyle( const OUString& rName, StyleType eType, if (eType == STYLE_TYPE_PARA) m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_S); else - m_aStylesheet.append( OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_CS); - m_aStylesheet.append( (sal_Int32)nId ); + m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_CS); + m_aStylesheet.append((sal_Int32)nId); - if ( nBase != 0x0FFF ) + if (nBase != 0x0FFF) { m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_SBASEDON); m_aStylesheet.append((sal_Int32)nBase); @@ -1126,23 +1141,23 @@ void RtfAttributeOutput::EndStyle() m_aStylesheet.append(SAL_NEWLINE_STRING); } -void RtfAttributeOutput::StartStyleProperties( bool /*bParProp*/, sal_uInt16 /*nStyle*/ ) +void RtfAttributeOutput::StartStyleProperties(bool /*bParProp*/, sal_uInt16 /*nStyle*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* noop */ } -void RtfAttributeOutput::EndStyleProperties( bool /*bParProp*/ ) +void RtfAttributeOutput::EndStyleProperties(bool /*bParProp*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); /* noop */ } -void RtfAttributeOutput::OutlineNumbering( sal_uInt8 nLvl, const SwNumFmt& /*rNFmt*/, const SwFmt& /*rFmt*/ ) +void RtfAttributeOutput::OutlineNumbering(sal_uInt8 nLvl, const SwNumFmt& /*rNFmt*/, const SwFmt& /*rFmt*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( nLvl >= WW8ListManager::nMaxLevel ) + if (nLvl >= WW8ListManager::nMaxLevel) nLvl = WW8ListManager::nMaxLevel - 1; m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ILVL); @@ -1151,29 +1166,29 @@ void RtfAttributeOutput::OutlineNumbering( sal_uInt8 nLvl, const SwNumFmt& /*rNF m_aStyles.append((sal_Int32)nLvl); } -void RtfAttributeOutput::PageBreakBefore( bool bBreak ) +void RtfAttributeOutput::PageBreakBefore(bool bBreak) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); if (bBreak) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_PAGEBB ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_PAGEBB); } } -void RtfAttributeOutput::SectionBreak( sal_uInt8 nC, const WW8_SepInfo* pSectionInfo ) +void RtfAttributeOutput::SectionBreak(sal_uInt8 nC, const WW8_SepInfo* pSectionInfo) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); switch (nC) { - case msword::ColumnBreak: - m_nColBreakNeeded = true; - break; - case msword::PageBreak: - if ( pSectionInfo ) - m_rExport.SectionProperties( *pSectionInfo ); - break; + case msword::ColumnBreak: + m_nColBreakNeeded = true; + break; + case msword::PageBreak: + if (pSectionInfo) + m_rExport.SectionProperties(*pSectionInfo); + break; } } @@ -1183,7 +1198,7 @@ void RtfAttributeOutput::StartSection() m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_SECT OOO_STRING_SVTOOLS_RTF_SECTD); if (!m_bBufferSectionBreaks) - m_rExport.Strm().WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); } void RtfAttributeOutput::EndSection() @@ -1196,7 +1211,7 @@ void RtfAttributeOutput::EndSection() */ } -void RtfAttributeOutput::SectionFormProtection( bool bProtected ) +void RtfAttributeOutput::SectionFormProtection(bool bProtected) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -1204,16 +1219,16 @@ void RtfAttributeOutput::SectionFormProtection( bool bProtected ) m_aSectionBreaks.append((sal_Int32)!bProtected); } -void RtfAttributeOutput::SectionLineNumbering( sal_uLong /*nRestartNo*/, const SwLineNumberInfo& rLnNumInfo ) +void RtfAttributeOutput::SectionLineNumbering(sal_uLong /*nRestartNo*/, const SwLineNumberInfo& rLnNumInfo) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LINEMOD ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LINEMOD); m_rExport.OutLong(rLnNumInfo.GetCountBy()); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LINEX ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LINEX); m_rExport.OutLong(rLnNumInfo.GetPosFromLeft()); if (!rLnNumInfo.IsRestartEachPage()) - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LINECONT ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LINECONT); } void RtfAttributeOutput::SectionTitlePage() @@ -1225,45 +1240,45 @@ void RtfAttributeOutput::SectionTitlePage() */ } -void RtfAttributeOutput::SectionPageBorders( const SwFrmFmt* pFmt, const SwFrmFmt* /*pFirstPageFmt*/ ) +void RtfAttributeOutput::SectionPageBorders(const SwFrmFmt* pFmt, const SwFrmFmt* /*pFirstPageFmt*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); const SvxBoxItem& rBox = pFmt->GetBox(); - const SvxBorderLine *pLine = rBox.GetTop(); - if(pLine) - m_aSectionBreaks.append(OutBorderLine( m_rExport, pLine, - OOO_STRING_SVTOOLS_RTF_PGBRDRT, - rBox.GetDistance(BOX_LINE_TOP) )); + const SvxBorderLine* pLine = rBox.GetTop(); + if (pLine) + m_aSectionBreaks.append(OutBorderLine(m_rExport, pLine, + OOO_STRING_SVTOOLS_RTF_PGBRDRT, + rBox.GetDistance(BOX_LINE_TOP))); pLine = rBox.GetBottom(); - if(pLine) - m_aSectionBreaks.append(OutBorderLine( m_rExport, pLine, - OOO_STRING_SVTOOLS_RTF_PGBRDRB, - rBox.GetDistance(BOX_LINE_BOTTOM) )); + if (pLine) + m_aSectionBreaks.append(OutBorderLine(m_rExport, pLine, + OOO_STRING_SVTOOLS_RTF_PGBRDRB, + rBox.GetDistance(BOX_LINE_BOTTOM))); pLine = rBox.GetLeft(); - if(pLine) - m_aSectionBreaks.append(OutBorderLine( m_rExport, pLine, - OOO_STRING_SVTOOLS_RTF_PGBRDRL, - rBox.GetDistance(BOX_LINE_LEFT) )); + if (pLine) + m_aSectionBreaks.append(OutBorderLine(m_rExport, pLine, + OOO_STRING_SVTOOLS_RTF_PGBRDRL, + rBox.GetDistance(BOX_LINE_LEFT))); pLine = rBox.GetRight(); - if(pLine) - m_aSectionBreaks.append(OutBorderLine( m_rExport, pLine, - OOO_STRING_SVTOOLS_RTF_PGBRDRR, - rBox.GetDistance(BOX_LINE_RIGHT) )); + if (pLine) + m_aSectionBreaks.append(OutBorderLine(m_rExport, pLine, + OOO_STRING_SVTOOLS_RTF_PGBRDRR, + rBox.GetDistance(BOX_LINE_RIGHT))); } -void RtfAttributeOutput::SectionBiDi( bool bBiDi ) +void RtfAttributeOutput::SectionBiDi(bool bBiDi) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( (bBiDi ? OOO_STRING_SVTOOLS_RTF_RTLSECT : OOO_STRING_SVTOOLS_RTF_LTRSECT) ); + m_rExport.Strm().WriteCharPtr((bBiDi ? OOO_STRING_SVTOOLS_RTF_RTLSECT : OOO_STRING_SVTOOLS_RTF_LTRSECT)); } -void RtfAttributeOutput::SectionPageNumbering( sal_uInt16 nNumType, ::boost::optional<sal_uInt16> oPageRestartNumber ) +void RtfAttributeOutput::SectionPageNumbering(sal_uInt16 nNumType, ::boost::optional<sal_uInt16> oPageRestartNumber) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( oPageRestartNumber ) + if (oPageRestartNumber) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_PGNSTARTS); m_aSectionBreaks.append((sal_Int32)oPageRestartNumber.get()); @@ -1271,22 +1286,32 @@ void RtfAttributeOutput::SectionPageNumbering( sal_uInt16 nNumType, ::boost::opt } const char* pStr = 0; - switch ( nNumType ) - { - case SVX_NUM_CHARS_UPPER_LETTER: - case SVX_NUM_CHARS_UPPER_LETTER_N: pStr = OOO_STRING_SVTOOLS_RTF_PGNUCLTR; break; - case SVX_NUM_CHARS_LOWER_LETTER: - case SVX_NUM_CHARS_LOWER_LETTER_N: pStr = OOO_STRING_SVTOOLS_RTF_PGNLCLTR; break; - case SVX_NUM_ROMAN_UPPER: pStr = OOO_STRING_SVTOOLS_RTF_PGNUCRM; break; - case SVX_NUM_ROMAN_LOWER: pStr = OOO_STRING_SVTOOLS_RTF_PGNLCRM; break; - - case SVX_NUM_ARABIC: pStr = OOO_STRING_SVTOOLS_RTF_PGNDEC; break; + switch (nNumType) + { + case SVX_NUM_CHARS_UPPER_LETTER: + case SVX_NUM_CHARS_UPPER_LETTER_N: + pStr = OOO_STRING_SVTOOLS_RTF_PGNUCLTR; + break; + case SVX_NUM_CHARS_LOWER_LETTER: + case SVX_NUM_CHARS_LOWER_LETTER_N: + pStr = OOO_STRING_SVTOOLS_RTF_PGNLCLTR; + break; + case SVX_NUM_ROMAN_UPPER: + pStr = OOO_STRING_SVTOOLS_RTF_PGNUCRM; + break; + case SVX_NUM_ROMAN_LOWER: + pStr = OOO_STRING_SVTOOLS_RTF_PGNLCRM; + break; + + case SVX_NUM_ARABIC: + pStr = OOO_STRING_SVTOOLS_RTF_PGNDEC; + break; } if (pStr) m_aSectionBreaks.append(pStr); } -void RtfAttributeOutput::SectionType( sal_uInt8 nBreakCode ) +void RtfAttributeOutput::SectionType(sal_uInt8 nBreakCode) { SAL_INFO("sw.rtf", OSL_THIS_FUNC << ", nBreakCode = " << int(nBreakCode)); @@ -1295,37 +1320,47 @@ void RtfAttributeOutput::SectionType( sal_uInt8 nBreakCode ) * 2 New page, 3 Even page, 4 Odd page */ const char* sType = NULL; - switch ( nBreakCode ) - { - case 1: sType = OOO_STRING_SVTOOLS_RTF_SBKCOL; break; - case 2: sType = OOO_STRING_SVTOOLS_RTF_SBKPAGE; break; - case 3: sType = OOO_STRING_SVTOOLS_RTF_SBKEVEN; break; - case 4: sType = OOO_STRING_SVTOOLS_RTF_SBKODD; break; - default: sType = OOO_STRING_SVTOOLS_RTF_SBKNONE; break; + switch (nBreakCode) + { + case 1: + sType = OOO_STRING_SVTOOLS_RTF_SBKCOL; + break; + case 2: + sType = OOO_STRING_SVTOOLS_RTF_SBKPAGE; + break; + case 3: + sType = OOO_STRING_SVTOOLS_RTF_SBKEVEN; + break; + case 4: + sType = OOO_STRING_SVTOOLS_RTF_SBKODD; + break; + default: + sType = OOO_STRING_SVTOOLS_RTF_SBKNONE; + break; } m_aSectionBreaks.append(sType); if (!m_bBufferSectionBreaks) - m_rExport.Strm().WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); } -void RtfAttributeOutput::NumberingDefinition( sal_uInt16 nId, const SwNumRule &/*rRule*/ ) +void RtfAttributeOutput::NumberingDefinition(sal_uInt16 nId, const SwNumRule& /*rRule*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTOVERRIDE ); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTID ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTOVERRIDE); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTID); m_rExport.OutULong(nId); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTOVERRIDECOUNT ).WriteChar( '0' ); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LS ); - m_rExport.OutULong(nId).WriteChar( '}' ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTOVERRIDECOUNT).WriteChar('0'); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LS); + m_rExport.OutULong(nId).WriteChar('}'); } -void RtfAttributeOutput::StartAbstractNumbering( sal_uInt16 nId ) +void RtfAttributeOutput::StartAbstractNumbering(sal_uInt16 nId) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LIST ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTTEMPLATEID ); - m_rExport.OutULong( nId ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LIST).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTTEMPLATEID); + m_rExport.OutULong(nId); m_nListId = nId; } @@ -1333,57 +1368,75 @@ void RtfAttributeOutput::EndAbstractNumbering() { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTID ); - m_rExport.OutULong( m_nListId ).WriteChar( '}' ).WriteCharPtr( SAL_NEWLINE_STRING ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTID); + m_rExport.OutULong(m_nListId).WriteChar('}').WriteCharPtr(SAL_NEWLINE_STRING); } -void RtfAttributeOutput::NumberingLevel( sal_uInt8 nLevel, - sal_uInt16 nStart, - sal_uInt16 nNumberingType, - SvxAdjust eAdjust, - const sal_uInt8 * pNumLvlPos, - sal_uInt8 nFollow, - const wwFont * pFont, - const SfxItemSet * pOutSet, - sal_Int16 nIndentAt, - sal_Int16 nFirstLineIndex, - sal_Int16 /*nListTabPos*/, - const OUString &rNumberingString, - const SvxBrushItem* pBrush) +void RtfAttributeOutput::NumberingLevel(sal_uInt8 nLevel, + sal_uInt16 nStart, + sal_uInt16 nNumberingType, + SvxAdjust eAdjust, + const sal_uInt8* pNumLvlPos, + sal_uInt8 nFollow, + const wwFont* pFont, + const SfxItemSet* pOutSet, + sal_Int16 nIndentAt, + sal_Int16 nFirstLineIndex, + sal_Int16 /*nListTabPos*/, + const OUString& rNumberingString, + const SvxBrushItem* pBrush) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ); - if( nLevel > 8 ) // RTF knows only 9 levels - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_IGNORE ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SOUTLVL ); + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING); + if (nLevel > 8) // RTF knows only 9 levels + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_IGNORE).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SOUTLVL); - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LISTLEVEL ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LISTLEVEL); sal_uInt16 nVal = 0; - switch( nNumberingType ) - { - case SVX_NUM_ROMAN_UPPER: nVal = 1; break; - case SVX_NUM_ROMAN_LOWER: nVal = 2; break; - case SVX_NUM_CHARS_UPPER_LETTER: - case SVX_NUM_CHARS_UPPER_LETTER_N: nVal = 3; break; - case SVX_NUM_CHARS_LOWER_LETTER: - case SVX_NUM_CHARS_LOWER_LETTER_N: nVal = 4; break; - - case SVX_NUM_BITMAP: - case SVX_NUM_CHAR_SPECIAL: nVal = 23; break; - case SVX_NUM_NUMBER_NONE: nVal = 255; break; - } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELNFC ); - m_rExport.OutULong( nVal ); + switch (nNumberingType) + { + case SVX_NUM_ROMAN_UPPER: + nVal = 1; + break; + case SVX_NUM_ROMAN_LOWER: + nVal = 2; + break; + case SVX_NUM_CHARS_UPPER_LETTER: + case SVX_NUM_CHARS_UPPER_LETTER_N: + nVal = 3; + break; + case SVX_NUM_CHARS_LOWER_LETTER: + case SVX_NUM_CHARS_LOWER_LETTER_N: + nVal = 4; + break; + + case SVX_NUM_BITMAP: + case SVX_NUM_CHAR_SPECIAL: + nVal = 23; + break; + case SVX_NUM_NUMBER_NONE: + nVal = 255; + break; + } + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELNFC); + m_rExport.OutULong(nVal); - switch( eAdjust ) + switch (eAdjust) { - case SVX_ADJUST_CENTER: nVal = 1; break; - case SVX_ADJUST_RIGHT: nVal = 2; break; - default: nVal = 0; break; + case SVX_ADJUST_CENTER: + nVal = 1; + break; + case SVX_ADJUST_RIGHT: + nVal = 2; + break; + default: + nVal = 0; + break; } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELJC ); - m_rExport.OutULong( nVal ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELJC); + m_rExport.OutULong(nVal); // bullet if (nNumberingType == SVX_NUM_BITMAP && pBrush) @@ -1391,66 +1444,66 @@ void RtfAttributeOutput::NumberingLevel( sal_uInt8 nLevel, int nIndex = m_rExport.GetGrfIndex(*pBrush); if (nIndex != -1) { - m_rExport.Strm().WriteCharPtr( LO_STRING_SVTOOLS_RTF_LEVELPICTURE ); + m_rExport.Strm().WriteCharPtr(LO_STRING_SVTOOLS_RTF_LEVELPICTURE); m_rExport.OutULong(nIndex); } } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELSTARTAT ); - m_rExport.OutULong( nStart ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELSTARTAT); + m_rExport.OutULong(nStart); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELFOLLOW ); - m_rExport.OutULong( nFollow ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELFOLLOW); + m_rExport.OutULong(nFollow); // leveltext group - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELTEXT ).WriteChar( ' ' ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELTEXT).WriteChar(' '); - if( SVX_NUM_CHAR_SPECIAL == nNumberingType || - SVX_NUM_BITMAP == nNumberingType ) + if (SVX_NUM_CHAR_SPECIAL == nNumberingType || + SVX_NUM_BITMAP == nNumberingType) { - m_rExport.Strm().WriteCharPtr( "\\'01" ); + m_rExport.Strm().WriteCharPtr("\\'01"); sal_Unicode cChar = rNumberingString[0]; - m_rExport.Strm().WriteCharPtr( "\\u" ); + m_rExport.Strm().WriteCharPtr("\\u"); m_rExport.OutULong(cChar); - m_rExport.Strm().WriteCharPtr( " ?" ); + m_rExport.Strm().WriteCharPtr(" ?"); } else { - m_rExport.Strm().WriteCharPtr( "\\'" ).WriteCharPtr( msfilter::rtfutil::OutHex( rNumberingString.getLength(), 2 ).getStr() ); - m_rExport.Strm().WriteCharPtr( msfilter::rtfutil::OutString( rNumberingString, m_rExport.eDefaultEncoding, /*bUnicode =*/ false ).getStr() ); + m_rExport.Strm().WriteCharPtr("\\'").WriteCharPtr(msfilter::rtfutil::OutHex(rNumberingString.getLength(), 2).getStr()); + m_rExport.Strm().WriteCharPtr(msfilter::rtfutil::OutString(rNumberingString, m_rExport.eDefaultEncoding, /*bUnicode =*/ false).getStr()); } - m_rExport.Strm().WriteCharPtr( ";}" ); + m_rExport.Strm().WriteCharPtr(";}"); // write the levelnumbers - m_rExport.Strm().WriteCharPtr( "{" ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LEVELNUMBERS ); - for( sal_uInt8 i = 0; i <= nLevel && pNumLvlPos[ i ]; ++i ) + m_rExport.Strm().WriteCharPtr("{").WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LEVELNUMBERS); + for (sal_uInt8 i = 0; i <= nLevel && pNumLvlPos[ i ]; ++i) { - m_rExport.Strm().WriteCharPtr( "\\'" ).WriteCharPtr( msfilter::rtfutil::OutHex(pNumLvlPos[ i ], 2).getStr() ); + m_rExport.Strm().WriteCharPtr("\\'").WriteCharPtr(msfilter::rtfutil::OutHex(pNumLvlPos[ i ], 2).getStr()); } - m_rExport.Strm().WriteCharPtr( ";}" ); + m_rExport.Strm().WriteCharPtr(";}"); - if( pOutSet ) + if (pOutSet) { if (pFont) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_F ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_F); m_rExport.OutULong(m_rExport.maFontHelper.GetId(*pFont)); } - m_rExport.OutputItemSet( *pOutSet, false, true, i18n::ScriptType::LATIN, m_rExport.mbExportModeRTF ); - m_rExport.Strm().WriteCharPtr( m_aStyles.makeStringAndClear().getStr() ); + m_rExport.OutputItemSet(*pOutSet, false, true, i18n::ScriptType::LATIN, m_rExport.mbExportModeRTF); + m_rExport.Strm().WriteCharPtr(m_aStyles.makeStringAndClear().getStr()); } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_FI ); - m_rExport.OutLong( nFirstLineIndex ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_LI ); - m_rExport.OutLong( nIndentAt ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_FI); + m_rExport.OutLong(nFirstLineIndex).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_LI); + m_rExport.OutLong(nIndentAt); - m_rExport.Strm().WriteChar( '}' ); - if( nLevel > 8 ) - m_rExport.Strm().WriteChar( '}' ); + m_rExport.Strm().WriteChar('}'); + if (nLevel > 8) + m_rExport.Strm().WriteChar('}'); } -void RtfAttributeOutput::WriteField_Impl( const SwField* pFld, ww::eField /*eType*/, const OUString& rFldCmd, sal_uInt8 /*nMode*/ ) +void RtfAttributeOutput::WriteField_Impl(const SwField* pFld, ww::eField /*eType*/, const OUString& rFldCmd, sal_uInt8 /*nMode*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -1469,9 +1522,9 @@ void RtfAttributeOutput::WriteField_Impl( const SwField* pFld, ww::eField /*eTyp m_aRunText->append("}}"); } -void RtfAttributeOutput::WriteBookmarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ) +void RtfAttributeOutput::WriteBookmarks_Impl(std::vector< OUString >& rStarts, std::vector< OUString >& rEnds) { - for ( std::vector< OUString >::const_iterator it = rStarts.begin(), end = rStarts.end(); it != end; ++it ) + for (std::vector< OUString >::const_iterator it = rStarts.begin(), end = rStarts.end(); it != end; ++it) { m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_BKMKSTART " "); m_aRun->append(msfilter::rtfutil::OutString(*it, m_rExport.eCurrentEncoding)); @@ -1479,7 +1532,7 @@ void RtfAttributeOutput::WriteBookmarks_Impl( std::vector< OUString >& rStarts, } rStarts.clear(); - for ( std::vector< OUString >::const_iterator it = rEnds.begin(), end = rEnds.end(); it != end; ++it ) + for (std::vector< OUString >::const_iterator it = rEnds.begin(), end = rEnds.end(); it != end; ++it) { m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_BKMKEND " "); m_aRun->append(msfilter::rtfutil::OutString(*it, m_rExport.eCurrentEncoding)); @@ -1488,11 +1541,11 @@ void RtfAttributeOutput::WriteBookmarks_Impl( std::vector< OUString >& rStarts, rEnds.clear(); } -void RtfAttributeOutput::WriteAnnotationMarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ) +void RtfAttributeOutput::WriteAnnotationMarks_Impl(std::vector< OUString >& rStarts, std::vector< OUString >& rEnds) { - for ( std::vector< OUString >::const_iterator i = rStarts.begin(), end = rStarts.end(); i != end; ++i ) + for (std::vector< OUString >::const_iterator i = rStarts.begin(), end = rStarts.end(); i != end; ++i) { - OString rName = OUStringToOString( *i, RTL_TEXTENCODING_UTF8 ); + OString rName = OUStringToOString(*i, RTL_TEXTENCODING_UTF8); // Output the annotation mark sal_uInt16 nId = m_nNextAnnotationMarkId++; @@ -1503,9 +1556,9 @@ void RtfAttributeOutput::WriteAnnotationMarks_Impl( std::vector< OUString >& rSt } rStarts.clear(); - for ( std::vector< OUString >::const_iterator i = rEnds.begin(), end = rEnds.end(); i != end; ++i ) + for (std::vector< OUString >::const_iterator i = rEnds.begin(), end = rEnds.end(); i != end; ++i) { - OString rName = OUStringToOString( *i, RTL_TEXTENCODING_UTF8 ); + OString rName = OUStringToOString(*i, RTL_TEXTENCODING_UTF8); // Get the id of the annotation mark std::map<OString, sal_uInt16>::iterator it = m_rOpenedAnnotationMarksIds.find(rName); @@ -1515,7 +1568,7 @@ void RtfAttributeOutput::WriteAnnotationMarks_Impl( std::vector< OUString >& rSt m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_ATRFEND " "); m_aRun->append(OString::number(nId).getStr()); m_aRun->append('}'); - m_rOpenedAnnotationMarksIds.erase( rName ); + m_rOpenedAnnotationMarksIds.erase(rName); if (m_aPostitFields.find(nId) != m_aPostitFields.end()) { @@ -1530,7 +1583,7 @@ void RtfAttributeOutput::WriteAnnotationMarks_Impl( std::vector< OUString >& rSt rEnds.clear(); } -void RtfAttributeOutput::WriteHeaderFooter_Impl( const SwFrmFmt& rFmt, bool bHeader, const sal_Char* pStr, bool bTitlepg ) +void RtfAttributeOutput::WriteHeaderFooter_Impl(const SwFrmFmt& rFmt, bool bHeader, const sal_Char* pStr, bool bTitlepg) { OStringBuffer aSectionBreaks = m_aSectionBreaks; m_aSectionBreaks.setLength(0); @@ -1570,13 +1623,25 @@ void lcl_TextFrameShadow(std::vector< std::pair<OString, OString> >& rFlyPropert OString aOffsetY; switch (aShadowItem.GetLocation()) { - case SVX_SHADOW_TOPLEFT: aOffsetX = "-" + aShadowWidth; aOffsetY = "-" + aShadowWidth; break; - case SVX_SHADOW_TOPRIGHT: aOffsetX = aShadowWidth; aOffsetY = "-" + aShadowWidth; break; - case SVX_SHADOW_BOTTOMLEFT: aOffsetX = "-" + aShadowWidth; aOffsetY = aShadowWidth; break; - case SVX_SHADOW_BOTTOMRIGHT: aOffsetX = aShadowWidth; aOffsetY = aShadowWidth; break; - case SVX_SHADOW_NONE: - case SVX_SHADOW_END: - break; + case SVX_SHADOW_TOPLEFT: + aOffsetX = "-" + aShadowWidth; + aOffsetY = "-" + aShadowWidth; + break; + case SVX_SHADOW_TOPRIGHT: + aOffsetX = aShadowWidth; + aOffsetY = "-" + aShadowWidth; + break; + case SVX_SHADOW_BOTTOMLEFT: + aOffsetX = "-" + aShadowWidth; + aOffsetY = aShadowWidth; + break; + case SVX_SHADOW_BOTTOMRIGHT: + aOffsetX = aShadowWidth; + aOffsetY = aShadowWidth; + break; + case SVX_SHADOW_NONE: + case SVX_SHADOW_END: + break; } if (!aOffsetX.isEmpty()) rFlyProperties.push_back(std::make_pair<OString, OString>("shadowOffsetX", OString(aOffsetX))); @@ -1623,457 +1688,457 @@ void lcl_TextFrameRelativeSize(std::vector< std::pair<OString, OString> >& rFlyP } } -void RtfAttributeOutput::OutputFlyFrame_Impl( const sw::Frame& rFrame, const Point& /*rNdTopLeft*/ ) +void RtfAttributeOutput::OutputFlyFrame_Impl(const sw::Frame& rFrame, const Point& /*rNdTopLeft*/) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const SwNode *pNode = rFrame.GetContent(); - const SwGrfNode *pGrfNode = pNode ? pNode->GetGrfNode() : 0; + const SwNode* pNode = rFrame.GetContent(); + const SwGrfNode* pGrfNode = pNode ? pNode->GetGrfNode() : 0; - switch ( rFrame.GetWriterType() ) + switch (rFrame.GetWriterType()) { - case sw::Frame::eTxtBox: - { - OSL_ENSURE(m_aRunText.getLength() == 0, "m_aRunText is not empty"); - m_rExport.mpParentFrame = &rFrame; + case sw::Frame::eTxtBox: + { + OSL_ENSURE(m_aRunText.getLength() == 0, "m_aRunText is not empty"); + m_rExport.mpParentFrame = &rFrame; - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_SHP ); - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPINST ); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_SHP); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPINST); - // Shape properties. - m_aFlyProperties.push_back(std::make_pair<OString, OString>("shapeType", OString::number(ESCHER_ShpInst_TextBox))); + // Shape properties. + m_aFlyProperties.push_back(std::make_pair<OString, OString>("shapeType", OString::number(ESCHER_ShpInst_TextBox))); - // When a frame has some low height, but automatically expanded due - // to lots of contents, this size contains the real size. - const Size aSize = rFrame.GetSize(); - m_pFlyFrameSize = &aSize; + // When a frame has some low height, but automatically expanded due + // to lots of contents, this size contains the real size. + const Size aSize = rFrame.GetSize(); + m_pFlyFrameSize = &aSize; - m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = true; - m_rExport.OutputFormat( rFrame.GetFrmFmt(), false, false, true ); - m_rExport.Strm().WriteCharPtr( m_aRunText.makeStringAndClear().getStr() ); - m_rExport.Strm().WriteCharPtr( m_aStyles.makeStringAndClear().getStr() ); - m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = false; - m_pFlyFrameSize = 0; + m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = true; + m_rExport.OutputFormat(rFrame.GetFrmFmt(), false, false, true); + m_rExport.Strm().WriteCharPtr(m_aRunText.makeStringAndClear().getStr()); + m_rExport.Strm().WriteCharPtr(m_aStyles.makeStringAndClear().getStr()); + m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = false; + m_pFlyFrameSize = 0; - const SwFrmFmt& rFrmFmt = rFrame.GetFrmFmt(); - lcl_TextFrameShadow(m_aFlyProperties, rFrmFmt); - lcl_TextFrameRelativeSize(m_aFlyProperties, rFrmFmt); + const SwFrmFmt& rFrmFmt = rFrame.GetFrmFmt(); + lcl_TextFrameShadow(m_aFlyProperties, rFrmFmt); + lcl_TextFrameRelativeSize(m_aFlyProperties, rFrmFmt); - for (size_t i = 0; i < m_aFlyProperties.size(); ++i) - { - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_SP "{" ); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SN " " ); - m_rExport.Strm().WriteCharPtr( m_aFlyProperties[i].first.getStr() ); - m_rExport.Strm().WriteCharPtr( "}{" OOO_STRING_SVTOOLS_RTF_SV " " ); - m_rExport.Strm().WriteCharPtr( m_aFlyProperties[i].second.getStr() ); - m_rExport.Strm().WriteCharPtr( "}}" ); - } - m_aFlyProperties.clear(); + for (size_t i = 0; i < m_aFlyProperties.size(); ++i) + { + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_SP "{"); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SN " "); + m_rExport.Strm().WriteCharPtr(m_aFlyProperties[i].first.getStr()); + m_rExport.Strm().WriteCharPtr("}{" OOO_STRING_SVTOOLS_RTF_SV " "); + m_rExport.Strm().WriteCharPtr(m_aFlyProperties[i].second.getStr()); + m_rExport.Strm().WriteCharPtr("}}"); + } + m_aFlyProperties.clear(); - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_SHPTXT ); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_SHPTXT); - { - // Save table state, in case the inner text also contains a table. - ww8::WW8TableInfo::Pointer_t pTableInfoOrig = m_rExport.mpTableInfo; - m_rExport.mpTableInfo = ww8::WW8TableInfo::Pointer_t(new ww8::WW8TableInfo()); - SwWriteTable* pTableWrt = m_pTableWrt; - m_pTableWrt = 0; - sal_uInt32 nTableDepth = m_nTableDepth; - - m_nTableDepth = 0; - /* - * Save m_aRun as we should not loose the opening brace. - * OTOH, just drop the contents of m_aRunText in case something - * would be there, causing a problem later. - */ - OString aSave = m_aRun.makeStringAndClear(); - // Also back m_bInRun and m_bSingleEmptyRun up. - bool bInRunOrig = m_bInRun; - m_bInRun = false; - bool bSingleEmptyRunOrig = m_bSingleEmptyRun; - m_bSingleEmptyRun = false; - m_rExport.bRTFFlySyntax = true; - - const SwNodeIndex* pNodeIndex = rFrmFmt.GetCntnt().GetCntntIdx(); - sal_uLong nStt = pNodeIndex ? pNodeIndex->GetIndex()+1 : 0; - sal_uLong nEnd = pNodeIndex ? pNodeIndex->GetNode().EndOfSectionIndex() : 0; - m_rExport.SaveData( nStt, nEnd ); - m_rExport.mpParentFrame = &rFrame; - m_rExport.WriteText( ); - m_rExport.RestoreData(); - - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_PARD ); - m_rExport.bRTFFlySyntax = false; - m_aRun->append(aSave); - m_aRunText.clear(); - m_bInRun = bInRunOrig; - m_bSingleEmptyRun = bSingleEmptyRunOrig; - - // Restore table state. - m_rExport.mpTableInfo = pTableInfoOrig; - delete m_pTableWrt; - m_pTableWrt = pTableWrt; - m_nTableDepth = nTableDepth; - } + { + // Save table state, in case the inner text also contains a table. + ww8::WW8TableInfo::Pointer_t pTableInfoOrig = m_rExport.mpTableInfo; + m_rExport.mpTableInfo = ww8::WW8TableInfo::Pointer_t(new ww8::WW8TableInfo()); + SwWriteTable* pTableWrt = m_pTableWrt; + m_pTableWrt = 0; + sal_uInt32 nTableDepth = m_nTableDepth; + + m_nTableDepth = 0; + /* + * Save m_aRun as we should not loose the opening brace. + * OTOH, just drop the contents of m_aRunText in case something + * would be there, causing a problem later. + */ + OString aSave = m_aRun.makeStringAndClear(); + // Also back m_bInRun and m_bSingleEmptyRun up. + bool bInRunOrig = m_bInRun; + m_bInRun = false; + bool bSingleEmptyRunOrig = m_bSingleEmptyRun; + m_bSingleEmptyRun = false; + m_rExport.bRTFFlySyntax = true; + + const SwNodeIndex* pNodeIndex = rFrmFmt.GetCntnt().GetCntntIdx(); + sal_uLong nStt = pNodeIndex ? pNodeIndex->GetIndex()+1 : 0; + sal_uLong nEnd = pNodeIndex ? pNodeIndex->GetNode().EndOfSectionIndex() : 0; + m_rExport.SaveData(nStt, nEnd); + m_rExport.mpParentFrame = &rFrame; + m_rExport.WriteText(); + m_rExport.RestoreData(); + + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_PARD); + m_rExport.bRTFFlySyntax = false; + m_aRun->append(aSave); + m_aRunText.clear(); + m_bInRun = bInRunOrig; + m_bSingleEmptyRun = bSingleEmptyRunOrig; + + // Restore table state. + m_rExport.mpTableInfo = pTableInfoOrig; + delete m_pTableWrt; + m_pTableWrt = pTableWrt; + m_nTableDepth = nTableDepth; + } - m_rExport.mpParentFrame = NULL; + m_rExport.mpParentFrame = NULL; - m_rExport.Strm().WriteChar( '}' ); // shptxt - m_rExport.Strm().WriteChar( '}' ); // shpinst - m_rExport.Strm().WriteChar( '}' ); // shp + m_rExport.Strm().WriteChar('}'); // shptxt + m_rExport.Strm().WriteChar('}'); // shpinst + m_rExport.Strm().WriteChar('}'); // shp - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ); - } - break; - case sw::Frame::eGraphic: - if (!rFrame.IsInline()) - { - m_rExport.mpParentFrame = &rFrame; - m_rExport.bRTFFlySyntax = true; - m_rExport.OutputFormat( rFrame.GetFrmFmt(), false, false, true ); - m_rExport.bRTFFlySyntax = false; - m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE); - m_rExport.OutputFormat( rFrame.GetFrmFmt(), false, false, true ); - m_aRunText->append('}'); - m_rExport.mpParentFrame = NULL; - } + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING); + } + break; + case sw::Frame::eGraphic: + if (!rFrame.IsInline()) + { + m_rExport.mpParentFrame = &rFrame; + m_rExport.bRTFFlySyntax = true; + m_rExport.OutputFormat(rFrame.GetFrmFmt(), false, false, true); + m_rExport.bRTFFlySyntax = false; + m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE); + m_rExport.OutputFormat(rFrame.GetFrmFmt(), false, false, true); + m_aRunText->append('}'); + m_rExport.mpParentFrame = NULL; + } - if ( pGrfNode ) - m_aRunText.append(dynamic_cast<const SwFlyFrmFmt*>( &rFrame.GetFrmFmt() ), pGrfNode); - break; - case sw::Frame::eDrawing: + if (pGrfNode) + m_aRunText.append(dynamic_cast<const SwFlyFrmFmt*>(&rFrame.GetFrmFmt()), pGrfNode); + break; + case sw::Frame::eDrawing: + { + const SdrObject* pSdrObj = rFrame.GetFrmFmt().FindRealSdrObject(); + if (pSdrObj) + { + bool bSwapInPage = false; + if (!pSdrObj->GetPage()) { - const SdrObject* pSdrObj = rFrame.GetFrmFmt().FindRealSdrObject(); - if ( pSdrObj ) + if (SdrModel* pModel = m_rExport.pDoc->GetDrawModel()) { - bool bSwapInPage = false; - if ( !pSdrObj->GetPage() ) + if (SdrPage* pPage = pModel->GetPage(0)) { - if ( SdrModel* pModel = m_rExport.pDoc->GetDrawModel() ) - { - if ( SdrPage *pPage = pModel->GetPage( 0 ) ) - { - bSwapInPage = true; - const_cast< SdrObject* >( pSdrObj )->SetPage( pPage ); - } - } + bSwapInPage = true; + const_cast< SdrObject* >(pSdrObj)->SetPage(pPage); } + } + } - m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD "{"); - m_aRunText->append(OOO_STRING_SVTOOLS_RTF_IGNORE); - m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLDINST); - m_aRunText->append(" SHAPE "); - m_aRunText->append("}" "{" OOO_STRING_SVTOOLS_RTF_FLDRSLT); + m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD "{"); + m_aRunText->append(OOO_STRING_SVTOOLS_RTF_IGNORE); + m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLDINST); + m_aRunText->append(" SHAPE "); + m_aRunText->append("}" "{" OOO_STRING_SVTOOLS_RTF_FLDRSLT); - m_rExport.SdrExporter().AddSdrObject( *pSdrObj ); + m_rExport.SdrExporter().AddSdrObject(*pSdrObj); - m_aRunText->append('}'); - m_aRunText->append('}'); + m_aRunText->append('}'); + m_aRunText->append('}'); - if ( bSwapInPage ) - const_cast< SdrObject* >( pSdrObj )->SetPage( 0 ); - } - } - break; - case sw::Frame::eFormControl: - { - const SwFrmFmt &rFrmFmt = rFrame.GetFrmFmt(); - const SdrObject *pObject = rFrmFmt.FindRealSdrObject(); + if (bSwapInPage) + const_cast< SdrObject* >(pSdrObj)->SetPage(0); + } + } + break; + case sw::Frame::eFormControl: + { + const SwFrmFmt& rFrmFmt = rFrame.GetFrmFmt(); + const SdrObject* pObject = rFrmFmt.FindRealSdrObject(); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_FIELD); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_FIELD); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST); - if (pObject && pObject->GetObjInventor() == FmFormInventor) + if (pObject && pObject->GetObjInventor() == FmFormInventor) + { + if (SdrUnoObj* pFormObj = PTR_CAST(SdrUnoObj,pObject)) + { + uno::Reference< awt::XControlModel > xControlModel = + pFormObj->GetUnoControlModel(); + uno::Reference< lang::XServiceInfo > xInfo(xControlModel, uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPropSet(xControlModel, uno::UNO_QUERY); + uno::Reference<beans::XPropertySetInfo> xPropSetInfo = xPropSet->getPropertySetInfo(); + OUString sName; + if (xInfo->supportsService("com.sun.star.form.component.CheckBox")) { - if (SdrUnoObj *pFormObj = PTR_CAST(SdrUnoObj,pObject)) + + m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMCHECKBOX)), m_rExport.eCurrentEncoding)); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFTYPE "1"); // 1 = checkbox + // checkbox size in half points, this seems to be always 20, see WW8Export::DoCheckBox() + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFHPS "20"); + + OUString aStr; + sName = "Name"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFNAME " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + + sName = "HelpText"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + + sName = "HelpF1Text"; + if (xPropSetInfo->hasPropertyByName(sName)) { - uno::Reference< awt::XControlModel > xControlModel = - pFormObj->GetUnoControlModel(); - uno::Reference< lang::XServiceInfo > xInfo(xControlModel, uno::UNO_QUERY); - uno::Reference<beans::XPropertySet> xPropSet(xControlModel, uno::UNO_QUERY); - uno::Reference<beans::XPropertySetInfo> xPropSetInfo = xPropSet->getPropertySetInfo(); - OUString sName; - if (xInfo->supportsService("com.sun.star.form.component.CheckBox")) - { - - m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMCHECKBOX)), m_rExport.eCurrentEncoding)); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFTYPE "1"); // 1 = checkbox - // checkbox size in half points, this seems to be always 20, see WW8Export::DoCheckBox() - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFHPS "20"); - - OUString aStr; - sName = "Name"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFNAME " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sName = "HelpText"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sName = "HelpF1Text"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sal_Int16 nTemp = 0; - xPropSet->getPropertyValue("DefaultState") >>= nTemp; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFDEFRES); - m_aRun->append((sal_Int32)nTemp); - xPropSet->getPropertyValue("State") >>= nTemp; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFRES); - m_aRun->append((sal_Int32)nTemp); - - m_aRun->append("}}"); - - // field result is empty, ffres already contains the form result - m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); - } - else if (xInfo->supportsService("com.sun.star.form.component.TextField")) - { - OStringBuffer aBuf; - OString aStr; - OUString aTmp; - const sal_Char* pStr; - - m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMTEXT)), m_rExport.eCurrentEncoding)); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_DATAFIELD " "); - for (int i = 0; i < 8; i++) aBuf.append((sal_Char)0x00); - xPropSet->getPropertyValue("Name") >>= aTmp; - aStr = OUStringToOString(aTmp, m_rExport.eCurrentEncoding); - aBuf.append((sal_Char)aStr.getLength()); - aBuf.append(aStr); - aBuf.append((sal_Char)0x00); - xPropSet->getPropertyValue("DefaultText") >>= aTmp; - aStr = OUStringToOString(aTmp, m_rExport.eCurrentEncoding); - aBuf.append((sal_Char)aStr.getLength()); - aBuf.append(aStr); - for (int i = 0; i < 11; i++) aBuf.append((sal_Char)0x00); - aStr = aBuf.makeStringAndClear(); - pStr = aStr.getStr(); - for (int i = 0; i < aStr.getLength(); i++, pStr++) - m_aRun->append(msfilter::rtfutil::OutHex(*pStr, 2)); - m_aRun->append('}'); - m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); - xPropSet->getPropertyValue("Text") >>= aTmp; - m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); - sName = "HelpText"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aTmp; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); - m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sName = "HelpF1Text"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aTmp; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); - m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - m_aRun->append("}"); - } - else if (xInfo->supportsService("com.sun.star.form.component.ListBox")) - { - OUString aStr; - uno::Sequence<sal_Int16> aIntSeq; - uno::Sequence<OUString> aStrSeq; - - m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMDROPDOWN)), m_rExport.eCurrentEncoding)); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFTYPE "2"); // 2 = list - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFHASLISTBOX); - - xPropSet->getPropertyValue("DefaultSelection") >>= aIntSeq; - if( aIntSeq.getLength() ) - { - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFDEFRES); - // a dropdown list can have only one 'selected item by default' - m_aRun->append((sal_Int32)aIntSeq[0]); - } - - xPropSet->getPropertyValue("SelectedItems") >>= aIntSeq; - if( aIntSeq.getLength() ) - { - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFRES); - // a dropdown list can have only one 'currently selected item' - m_aRun->append((sal_Int32)aIntSeq[0]); - } - - sName = "Name"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFNAME " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sName = "HelpText"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - sName = "HelpF1Text"; - if (xPropSetInfo->hasPropertyByName(sName)) - { - xPropSet->getPropertyValue(sName) >>= aStr; - m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); - m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); - m_aRun->append('}'); - } - - xPropSet->getPropertyValue("StringItemList") >>= aStrSeq; - sal_uInt32 nListItems = aStrSeq.getLength(); - for (sal_uInt32 i = 0; i < nListItems; i++) - m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFL " ") - .append(OUStringToOString(aStrSeq[i], m_rExport.eCurrentEncoding)).append('}'); - - m_aRun->append("}}"); - - // field result is empty, ffres already contains the form result - m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); - } - else - SAL_INFO("sw.rtf", OSL_THIS_FUNC << " unhandled form control: '" << xInfo->getImplementationName()<< "'"); + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); m_aRun->append('}'); } + + sal_Int16 nTemp = 0; + xPropSet->getPropertyValue("DefaultState") >>= nTemp; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFDEFRES); + m_aRun->append((sal_Int32)nTemp); + xPropSet->getPropertyValue("State") >>= nTemp; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFRES); + m_aRun->append((sal_Int32)nTemp); + + m_aRun->append("}}"); + + // field result is empty, ffres already contains the form result + m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); } + else if (xInfo->supportsService("com.sun.star.form.component.TextField")) + { + OStringBuffer aBuf; + OString aStr; + OUString aTmp; + const sal_Char* pStr; + + m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMTEXT)), m_rExport.eCurrentEncoding)); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_DATAFIELD " "); + for (int i = 0; i < 8; i++) aBuf.append((sal_Char)0x00); + xPropSet->getPropertyValue("Name") >>= aTmp; + aStr = OUStringToOString(aTmp, m_rExport.eCurrentEncoding); + aBuf.append((sal_Char)aStr.getLength()); + aBuf.append(aStr); + aBuf.append((sal_Char)0x00); + xPropSet->getPropertyValue("DefaultText") >>= aTmp; + aStr = OUStringToOString(aTmp, m_rExport.eCurrentEncoding); + aBuf.append((sal_Char)aStr.getLength()); + aBuf.append(aStr); + for (int i = 0; i < 11; i++) aBuf.append((sal_Char)0x00); + aStr = aBuf.makeStringAndClear(); + pStr = aStr.getStr(); + for (int i = 0; i < aStr.getLength(); i++, pStr++) + m_aRun->append(msfilter::rtfutil::OutHex(*pStr, 2)); + m_aRun->append('}'); + m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); + xPropSet->getPropertyValue("Text") >>= aTmp; + m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); + sName = "HelpText"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aTmp; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); + m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } - m_aRun->append('}'); - } - break; - case sw::Frame::eOle: - { - const SwFrmFmt &rFrmFmt = rFrame.GetFrmFmt(); - const SdrObject *pSdrObj = rFrmFmt.FindRealSdrObject(); - if ( pSdrObj ) + sName = "HelpF1Text"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aTmp; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); + m_aRun->append(OUStringToOString(aTmp, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + m_aRun->append("}"); + } + else if (xInfo->supportsService("com.sun.star.form.component.ListBox")) { - SwNodeIndex aIdx(*rFrmFmt.GetCntnt().GetCntntIdx(), 1); - SwOLENode& rOLENd = *aIdx.GetNode().GetOLENode(); - FlyFrameOLE(dynamic_cast<const SwFlyFrmFmt*>( &rFrmFmt ), rOLENd, rFrame.GetLayoutSize()); + OUString aStr; + uno::Sequence<sal_Int16> aIntSeq; + uno::Sequence<OUString> aStrSeq; + + m_aRun->append(OUStringToOString(OUString(FieldString(ww::eFORMDROPDOWN)), m_rExport.eCurrentEncoding)); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FORMFIELD "{"); + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFTYPE "2"); // 2 = list + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFHASLISTBOX); + + xPropSet->getPropertyValue("DefaultSelection") >>= aIntSeq; + if (aIntSeq.getLength()) + { + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFDEFRES); + // a dropdown list can have only one 'selected item by default' + m_aRun->append((sal_Int32)aIntSeq[0]); + } + + xPropSet->getPropertyValue("SelectedItems") >>= aIntSeq; + if (aIntSeq.getLength()) + { + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFRES); + // a dropdown list can have only one 'currently selected item' + m_aRun->append((sal_Int32)aIntSeq[0]); + } + + sName = "Name"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFNAME " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + + sName = "HelpText"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNHELP); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFHELPTEXT " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + + sName = "HelpF1Text"; + if (xPropSetInfo->hasPropertyByName(sName)) + { + xPropSet->getPropertyValue(sName) >>= aStr; + m_aRun->append(OOO_STRING_SVTOOLS_RTF_FFOWNSTAT); + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFSTATTEXT " "); + m_aRun->append(OUStringToOString(aStr, m_rExport.eCurrentEncoding)); + m_aRun->append('}'); + } + + xPropSet->getPropertyValue("StringItemList") >>= aStrSeq; + sal_uInt32 nListItems = aStrSeq.getLength(); + for (sal_uInt32 i = 0; i < nListItems; i++) + m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FFL " ") + .append(OUStringToOString(aStrSeq[i], m_rExport.eCurrentEncoding)).append('}'); + + m_aRun->append("}}"); + + // field result is empty, ffres already contains the form result + m_aRun->append("}{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); } + else + SAL_INFO("sw.rtf", OSL_THIS_FUNC << " unhandled form control: '" << xInfo->getImplementationName()<< "'"); + m_aRun->append('}'); } - break; - default: - SAL_INFO("sw.rtf", OSL_THIS_FUNC << ": unknown type (" << (int)rFrame.GetWriterType() << ")"); - break; + } + + m_aRun->append('}'); + } + break; + case sw::Frame::eOle: + { + const SwFrmFmt& rFrmFmt = rFrame.GetFrmFmt(); + const SdrObject* pSdrObj = rFrmFmt.FindRealSdrObject(); + if (pSdrObj) + { + SwNodeIndex aIdx(*rFrmFmt.GetCntnt().GetCntntIdx(), 1); + SwOLENode& rOLENd = *aIdx.GetNode().GetOLENode(); + FlyFrameOLE(dynamic_cast<const SwFlyFrmFmt*>(&rFrmFmt), rOLENd, rFrame.GetLayoutSize()); + } + } + break; + default: + SAL_INFO("sw.rtf", OSL_THIS_FUNC << ": unknown type (" << (int)rFrame.GetWriterType() << ")"); + break; } } -void RtfAttributeOutput::CharCaseMap( const SvxCaseMapItem& rCaseMap ) +void RtfAttributeOutput::CharCaseMap(const SvxCaseMapItem& rCaseMap) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - switch ( rCaseMap.GetValue() ) + switch (rCaseMap.GetValue()) { - case SVX_CASEMAP_KAPITAELCHEN: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SCAPS); - break; - case SVX_CASEMAP_VERSALIEN: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CAPS); - break; - default: // Something that rtf does not support - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SCAPS); - m_aStyles.append((sal_Int32)0); - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CAPS); - m_aStyles.append((sal_Int32)0); - break; + case SVX_CASEMAP_KAPITAELCHEN: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SCAPS); + break; + case SVX_CASEMAP_VERSALIEN: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CAPS); + break; + default: // Something that rtf does not support + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SCAPS); + m_aStyles.append((sal_Int32)0); + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CAPS); + m_aStyles.append((sal_Int32)0); + break; } } -void RtfAttributeOutput::CharColor( const SvxColorItem& rColor ) +void RtfAttributeOutput::CharColor(const SvxColorItem& rColor) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - const Color aColor( rColor.GetValue() ); + const Color aColor(rColor.GetValue()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CF); - m_aStyles.append( (sal_Int32)m_rExport.GetColor( aColor )); + m_aStyles.append((sal_Int32)m_rExport.GetColor(aColor)); } -void RtfAttributeOutput::CharContour( const SvxContourItem& rContour ) +void RtfAttributeOutput::CharContour(const SvxContourItem& rContour) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_OUTL); - if ( !rContour.GetValue() ) + if (!rContour.GetValue()) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharCrossedOut( const SvxCrossedOutItem& rCrossedOut ) +void RtfAttributeOutput::CharCrossedOut(const SvxCrossedOutItem& rCrossedOut) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - switch ( rCrossedOut.GetStrikeout() ) + switch (rCrossedOut.GetStrikeout()) { - case STRIKEOUT_NONE: - if (!m_bStrikeDouble) - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKE); - else - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKED); - m_aStyles.append((sal_Int32)0); - break; - case STRIKEOUT_DOUBLE: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKED); - m_aStyles.append((sal_Int32)1); - break; - default: + case STRIKEOUT_NONE: + if (!m_bStrikeDouble) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKE); - break; + else + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKED); + m_aStyles.append((sal_Int32)0); + break; + case STRIKEOUT_DOUBLE: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKED); + m_aStyles.append((sal_Int32)1); + break; + default: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_STRIKE); + break; } } -void RtfAttributeOutput::CharEscapement( const SvxEscapementItem& rEsc ) +void RtfAttributeOutput::CharEscapement(const SvxEscapementItem& rEsc) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); short nEsc = rEsc.GetEsc(); if (rEsc.GetProp() == DFLT_ESC_PROP) { - if ( DFLT_ESC_SUB == nEsc || DFLT_ESC_AUTO_SUB == nEsc ) + if (DFLT_ESC_SUB == nEsc || DFLT_ESC_AUTO_SUB == nEsc) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SUB); - else if ( DFLT_ESC_SUPER == nEsc || DFLT_ESC_AUTO_SUPER == nEsc ) + else if (DFLT_ESC_SUPER == nEsc || DFLT_ESC_AUTO_SUPER == nEsc) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SUPER); return; } - const char * pUpDn; + const char* pUpDn; - SwTwips nH = ((SvxFontHeightItem&)m_rExport.GetItem( RES_CHRATR_FONTSIZE )).GetHeight(); + SwTwips nH = ((SvxFontHeightItem&)m_rExport.GetItem(RES_CHRATR_FONTSIZE)).GetHeight(); - if( 0 < rEsc.GetEsc() ) + if (0 < rEsc.GetEsc()) pUpDn = OOO_STRING_SVTOOLS_RTF_UP; - else if( 0 > rEsc.GetEsc() ) + else if (0 > rEsc.GetEsc()) { pUpDn = OOO_STRING_SVTOOLS_RTF_DN; nH = -nH; @@ -2082,12 +2147,12 @@ void RtfAttributeOutput::CharEscapement( const SvxEscapementItem& rEsc ) return; short nProp = rEsc.GetProp() * 100; - if( DFLT_ESC_AUTO_SUPER == nEsc ) + if (DFLT_ESC_AUTO_SUPER == nEsc) { nEsc = 100 - rEsc.GetProp(); ++nProp; } - else if( DFLT_ESC_AUTO_SUB == nEsc ) + else if (DFLT_ESC_AUTO_SUB == nEsc) { nEsc = - 100 + rEsc.GetProp(); ++nProp; @@ -2096,7 +2161,7 @@ void RtfAttributeOutput::CharEscapement( const SvxEscapementItem& rEsc ) m_aStyles.append('{'); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_IGNORE); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_UPDNPROP); - m_aStyles.append( (sal_Int32)nProp ); + m_aStyles.append((sal_Int32)nProp); m_aStyles.append('}'); m_aStyles.append(pUpDn); @@ -2108,11 +2173,11 @@ void RtfAttributeOutput::CharEscapement( const SvxEscapementItem& rEsc ) * 100% Escapement */ - m_aStyles.append( (sal_Int32) ( (long( nEsc ) * nH) + 500L ) / 1000L ); + m_aStyles.append((sal_Int32)((long(nEsc) * nH) + 500L) / 1000L); // 500L to round !! } -void RtfAttributeOutput::CharFont( const SvxFontItem& rFont) +void RtfAttributeOutput::CharFont(const SvxFontItem& rFont) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2122,28 +2187,28 @@ void RtfAttributeOutput::CharFont( const SvxFontItem& rFont) m_rExport.eCurrentEncoding = rtl_getTextEncodingFromWindowsCharset(rtl_getBestWindowsCharsetFromTextEncoding(rFont.GetCharSet())); } -void RtfAttributeOutput::CharFontSize( const SvxFontHeightItem& rFontSize) +void RtfAttributeOutput::CharFontSize(const SvxFontHeightItem& rFontSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - switch ( rFontSize.Which() ) + switch (rFontSize.Which()) { - case RES_CHRATR_FONTSIZE: - m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_FS); - m_aStylesEnd.append((sal_Int32)(rFontSize.GetHeight() / 10 )); - break; - case RES_CHRATR_CJK_FONTSIZE: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FS); - m_aStyles.append((sal_Int32)(rFontSize.GetHeight() / 10 )); - break; - case RES_CHRATR_CTL_FONTSIZE: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_AFS); - m_aStyles.append((sal_Int32)(rFontSize.GetHeight() / 10 )); - break; + case RES_CHRATR_FONTSIZE: + m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_FS); + m_aStylesEnd.append((sal_Int32)(rFontSize.GetHeight() / 10)); + break; + case RES_CHRATR_CJK_FONTSIZE: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FS); + m_aStyles.append((sal_Int32)(rFontSize.GetHeight() / 10)); + break; + case RES_CHRATR_CTL_FONTSIZE: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_AFS); + m_aStyles.append((sal_Int32)(rFontSize.GetHeight() / 10)); + break; } } -void RtfAttributeOutput::CharKerning( const SvxKerningItem& rKerning ) +void RtfAttributeOutput::CharKerning(const SvxKerningItem& rKerning) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2154,158 +2219,158 @@ void RtfAttributeOutput::CharKerning( const SvxKerningItem& rKerning ) m_aStyles.append((sal_Int32)(rKerning.GetValue())); } -void RtfAttributeOutput::CharLanguage( const SvxLanguageItem& rLanguage ) +void RtfAttributeOutput::CharLanguage(const SvxLanguageItem& rLanguage) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); switch (rLanguage.Which()) { - case RES_CHRATR_LANGUAGE: - m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LANG); - m_aStylesEnd.append((sal_Int32)rLanguage.GetLanguage()); - break; - case RES_CHRATR_CJK_LANGUAGE: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LANGFE); - m_aStyles.append((sal_Int32)rLanguage.GetLanguage()); - break; - case RES_CHRATR_CTL_LANGUAGE: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ALANG); - m_aStyles.append((sal_Int32)rLanguage.GetLanguage()); - break; + case RES_CHRATR_LANGUAGE: + m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LANG); + m_aStylesEnd.append((sal_Int32)rLanguage.GetLanguage()); + break; + case RES_CHRATR_CJK_LANGUAGE: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LANGFE); + m_aStyles.append((sal_Int32)rLanguage.GetLanguage()); + break; + case RES_CHRATR_CTL_LANGUAGE: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ALANG); + m_aStyles.append((sal_Int32)rLanguage.GetLanguage()); + break; } } -void RtfAttributeOutput::CharPosture( const SvxPostureItem& rPosture ) +void RtfAttributeOutput::CharPosture(const SvxPostureItem& rPosture) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_I); - if ( rPosture.GetPosture() == ITALIC_NONE ) + if (rPosture.GetPosture() == ITALIC_NONE) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharShadow( const SvxShadowedItem& rShadow ) +void RtfAttributeOutput::CharShadow(const SvxShadowedItem& rShadow) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SHAD); - if ( !rShadow.GetValue() ) + if (!rShadow.GetValue()) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharUnderline( const SvxUnderlineItem& rUnderline ) +void RtfAttributeOutput::CharUnderline(const SvxUnderlineItem& rUnderline) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); const char* pStr = 0; - const SfxPoolItem* pItem = m_rExport.HasItem( RES_CHRATR_WORDLINEMODE ); + const SfxPoolItem* pItem = m_rExport.HasItem(RES_CHRATR_WORDLINEMODE); bool bWord = false; if (pItem) bWord = ((const SvxWordLineModeItem*)pItem)->GetValue() ? true : false; - switch(rUnderline.GetLineStyle() ) - { - case UNDERLINE_SINGLE: - pStr = bWord ? OOO_STRING_SVTOOLS_RTF_ULW : OOO_STRING_SVTOOLS_RTF_UL; - break; - case UNDERLINE_DOUBLE: - pStr = OOO_STRING_SVTOOLS_RTF_ULDB; - break; - case UNDERLINE_NONE: - pStr = OOO_STRING_SVTOOLS_RTF_ULNONE; - break; - case UNDERLINE_DOTTED: - pStr = OOO_STRING_SVTOOLS_RTF_ULD; - break; - case UNDERLINE_DASH: - pStr = OOO_STRING_SVTOOLS_RTF_ULDASH; - break; - case UNDERLINE_DASHDOT: - pStr = OOO_STRING_SVTOOLS_RTF_ULDASHD; - break; - case UNDERLINE_DASHDOTDOT: - pStr = OOO_STRING_SVTOOLS_RTF_ULDASHDD; - break; - case UNDERLINE_BOLD: - pStr = OOO_STRING_SVTOOLS_RTF_ULTH; - break; - case UNDERLINE_WAVE: - pStr = OOO_STRING_SVTOOLS_RTF_ULWAVE; - break; - case UNDERLINE_BOLDDOTTED: - pStr = OOO_STRING_SVTOOLS_RTF_ULTHD; - break; - case UNDERLINE_BOLDDASH: - pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASH; - break; - case UNDERLINE_LONGDASH: - pStr = OOO_STRING_SVTOOLS_RTF_ULLDASH; - break; - case UNDERLINE_BOLDLONGDASH: - pStr = OOO_STRING_SVTOOLS_RTF_ULTHLDASH; - break; - case UNDERLINE_BOLDDASHDOT: - pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASHD; - break; - case UNDERLINE_BOLDDASHDOTDOT: - pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASHDD; - break; - case UNDERLINE_BOLDWAVE: - pStr = OOO_STRING_SVTOOLS_RTF_ULHWAVE; - break; - case UNDERLINE_DOUBLEWAVE: - pStr = OOO_STRING_SVTOOLS_RTF_ULULDBWAVE; - break; - default: - break; + switch (rUnderline.GetLineStyle()) + { + case UNDERLINE_SINGLE: + pStr = bWord ? OOO_STRING_SVTOOLS_RTF_ULW : OOO_STRING_SVTOOLS_RTF_UL; + break; + case UNDERLINE_DOUBLE: + pStr = OOO_STRING_SVTOOLS_RTF_ULDB; + break; + case UNDERLINE_NONE: + pStr = OOO_STRING_SVTOOLS_RTF_ULNONE; + break; + case UNDERLINE_DOTTED: + pStr = OOO_STRING_SVTOOLS_RTF_ULD; + break; + case UNDERLINE_DASH: + pStr = OOO_STRING_SVTOOLS_RTF_ULDASH; + break; + case UNDERLINE_DASHDOT: + pStr = OOO_STRING_SVTOOLS_RTF_ULDASHD; + break; + case UNDERLINE_DASHDOTDOT: + pStr = OOO_STRING_SVTOOLS_RTF_ULDASHDD; + break; + case UNDERLINE_BOLD: + pStr = OOO_STRING_SVTOOLS_RTF_ULTH; + break; + case UNDERLINE_WAVE: + pStr = OOO_STRING_SVTOOLS_RTF_ULWAVE; + break; + case UNDERLINE_BOLDDOTTED: + pStr = OOO_STRING_SVTOOLS_RTF_ULTHD; + break; + case UNDERLINE_BOLDDASH: + pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASH; + break; + case UNDERLINE_LONGDASH: + pStr = OOO_STRING_SVTOOLS_RTF_ULLDASH; + break; + case UNDERLINE_BOLDLONGDASH: + pStr = OOO_STRING_SVTOOLS_RTF_ULTHLDASH; + break; + case UNDERLINE_BOLDDASHDOT: + pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASHD; + break; + case UNDERLINE_BOLDDASHDOTDOT: + pStr = OOO_STRING_SVTOOLS_RTF_ULTHDASHDD; + break; + case UNDERLINE_BOLDWAVE: + pStr = OOO_STRING_SVTOOLS_RTF_ULHWAVE; + break; + case UNDERLINE_DOUBLEWAVE: + pStr = OOO_STRING_SVTOOLS_RTF_ULULDBWAVE; + break; + default: + break; } - if( pStr ) + if (pStr) { m_aStyles.append(pStr); // NEEDSWORK looks like here rUnderline.GetColor() is always black, // even if the color in the odt is for example green... m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ULC); - m_aStyles.append( (sal_Int32)m_rExport.GetColor(rUnderline.GetColor()) ); + m_aStyles.append((sal_Int32)m_rExport.GetColor(rUnderline.GetColor())); } } -void RtfAttributeOutput::CharWeight( const SvxWeightItem& rWeight ) +void RtfAttributeOutput::CharWeight(const SvxWeightItem& rWeight) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_B); - if ( rWeight.GetWeight() != WEIGHT_BOLD ) + if (rWeight.GetWeight() != WEIGHT_BOLD) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharAutoKern( const SvxAutoKernItem& rAutoKern) +void RtfAttributeOutput::CharAutoKern(const SvxAutoKernItem& rAutoKern) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_KERNING); - m_aStyles.append((sal_Int32) (rAutoKern.GetValue() ? 1 : 0)); + m_aStyles.append((sal_Int32)(rAutoKern.GetValue() ? 1 : 0)); } -void RtfAttributeOutput::CharAnimatedText( const SvxBlinkItem& rBlink ) +void RtfAttributeOutput::CharAnimatedText(const SvxBlinkItem& rBlink) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ANIMTEXT); - m_aStyles.append((sal_Int32) (rBlink.GetValue() ? 2 : 0)); + m_aStyles.append((sal_Int32)(rBlink.GetValue() ? 2 : 0)); } -void RtfAttributeOutput::CharBackground( const SvxBrushItem& rBrush ) +void RtfAttributeOutput::CharBackground(const SvxBrushItem& rBrush) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if( !rBrush.GetColor().GetTransparency() ) + if (!rBrush.GetColor().GetTransparency()) { m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CHCBPAT); m_aStyles.append((sal_Int32)m_rExport.GetColor(rBrush.GetColor())); } } -void RtfAttributeOutput::CharFontCJK( const SvxFontItem& rFont ) +void RtfAttributeOutput::CharFontCJK(const SvxFontItem& rFont) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2314,39 +2379,39 @@ void RtfAttributeOutput::CharFontCJK( const SvxFontItem& rFont ) m_aStyles.append((sal_Int32)m_rExport.maFontHelper.GetId(rFont)); } -void RtfAttributeOutput::CharFontSizeCJK( const SvxFontHeightItem& rFontSize ) +void RtfAttributeOutput::CharFontSizeCJK(const SvxFontHeightItem& rFontSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - CharFontSize( rFontSize ); + CharFontSize(rFontSize); } -void RtfAttributeOutput::CharLanguageCJK( const SvxLanguageItem& rLanguageItem ) +void RtfAttributeOutput::CharLanguageCJK(const SvxLanguageItem& rLanguageItem) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - CharLanguage( rLanguageItem ); + CharLanguage(rLanguageItem); } -void RtfAttributeOutput::CharPostureCJK( const SvxPostureItem& rPosture ) +void RtfAttributeOutput::CharPostureCJK(const SvxPostureItem& rPosture) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_I); - if ( rPosture.GetPosture() == ITALIC_NONE ) + if (rPosture.GetPosture() == ITALIC_NONE) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharWeightCJK( const SvxWeightItem& rWeight ) +void RtfAttributeOutput::CharWeightCJK(const SvxWeightItem& rWeight) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_B); - if ( rWeight.GetWeight() != WEIGHT_BOLD ) + if (rWeight.GetWeight() != WEIGHT_BOLD) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharFontCTL( const SvxFontItem& rFont ) +void RtfAttributeOutput::CharFontCTL(const SvxFontItem& rFont) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2355,47 +2420,47 @@ void RtfAttributeOutput::CharFontCTL( const SvxFontItem& rFont ) m_aStyles.append((sal_Int32)m_rExport.maFontHelper.GetId(rFont)); } -void RtfAttributeOutput::CharFontSizeCTL( const SvxFontHeightItem& rFontSize ) +void RtfAttributeOutput::CharFontSizeCTL(const SvxFontHeightItem& rFontSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - CharFontSize( rFontSize ); + CharFontSize(rFontSize); } -void RtfAttributeOutput::CharLanguageCTL( const SvxLanguageItem& rLanguageItem ) +void RtfAttributeOutput::CharLanguageCTL(const SvxLanguageItem& rLanguageItem) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - CharLanguage( rLanguageItem ); + CharLanguage(rLanguageItem); } -void RtfAttributeOutput::CharPostureCTL( const SvxPostureItem& rPosture) +void RtfAttributeOutput::CharPostureCTL(const SvxPostureItem& rPosture) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_AI); - if ( rPosture.GetPosture() == ITALIC_NONE ) + if (rPosture.GetPosture() == ITALIC_NONE) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharWeightCTL( const SvxWeightItem& rWeight ) +void RtfAttributeOutput::CharWeightCTL(const SvxWeightItem& rWeight) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_AB); - if ( rWeight.GetWeight() != WEIGHT_BOLD ) + if (rWeight.GetWeight() != WEIGHT_BOLD) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharBidiRTL( const SfxPoolItem& ) +void RtfAttributeOutput::CharBidiRTL(const SfxPoolItem&) { } -void RtfAttributeOutput::CharIdctHint( const SfxPoolItem&) +void RtfAttributeOutput::CharIdctHint(const SfxPoolItem&) { } -void RtfAttributeOutput::CharRotate( const SvxCharRotateItem& rRotate) +void RtfAttributeOutput::CharRotate(const SvxCharRotateItem& rRotate) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2403,37 +2468,43 @@ void RtfAttributeOutput::CharRotate( const SvxCharRotateItem& rRotate) m_aStyles.append((sal_Int32)(rRotate.IsFitToLine() ? 1 : 0)); } -void RtfAttributeOutput::CharEmphasisMark( const SvxEmphasisMarkItem& rEmphasisMark ) +void RtfAttributeOutput::CharEmphasisMark(const SvxEmphasisMarkItem& rEmphasisMark) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); const sal_Char* pStr; - switch( rEmphasisMark.GetEmphasisMark()) - { - case EMPHASISMARK_NONE: pStr = OOO_STRING_SVTOOLS_RTF_ACCNONE; break; - case EMPHASISMARK_SIDE_DOTS: pStr = OOO_STRING_SVTOOLS_RTF_ACCCOMMA; break; - default: pStr = OOO_STRING_SVTOOLS_RTF_ACCDOT; break; + switch (rEmphasisMark.GetEmphasisMark()) + { + case EMPHASISMARK_NONE: + pStr = OOO_STRING_SVTOOLS_RTF_ACCNONE; + break; + case EMPHASISMARK_SIDE_DOTS: + pStr = OOO_STRING_SVTOOLS_RTF_ACCCOMMA; + break; + default: + pStr = OOO_STRING_SVTOOLS_RTF_ACCDOT; + break; } m_aStyles.append(pStr); } -void RtfAttributeOutput::CharTwoLines( const SvxTwoLinesItem& rTwoLines ) +void RtfAttributeOutput::CharTwoLines(const SvxTwoLinesItem& rTwoLines) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if( rTwoLines.GetValue() ) + if (rTwoLines.GetValue()) { sal_Unicode cStart = rTwoLines.GetStartBracket(); sal_Unicode cEnd = rTwoLines.GetEndBracket(); sal_uInt16 nType; - if( !cStart && !cEnd ) + if (!cStart && !cEnd) nType = 0; - else if( '{' == cStart || '}' == cEnd ) + else if ('{' == cStart || '}' == cEnd) nType = 4; - else if( '<' == cStart || '>' == cEnd ) + else if ('<' == cStart || '>' == cEnd) nType = 3; - else if( '[' == cStart || ']' == cEnd ) + else if ('[' == cStart || ']' == cEnd) nType = 2; else // all other kind of brackets nType = 1; @@ -2443,7 +2514,7 @@ void RtfAttributeOutput::CharTwoLines( const SvxTwoLinesItem& rTwoLines ) } } -void RtfAttributeOutput::CharScaleWidth( const SvxCharScaleWidthItem& rScaleWidth ) +void RtfAttributeOutput::CharScaleWidth(const SvxCharScaleWidthItem& rScaleWidth) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2451,61 +2522,58 @@ void RtfAttributeOutput::CharScaleWidth( const SvxCharScaleWidthItem& rScaleWidt m_aStyles.append((sal_Int32)rScaleWidth.GetValue()); } -void RtfAttributeOutput::CharRelief( const SvxCharReliefItem& rRelief ) +void RtfAttributeOutput::CharRelief(const SvxCharReliefItem& rRelief) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); const sal_Char* pStr; switch (rRelief.GetValue()) { - case RELIEF_EMBOSSED: - pStr = OOO_STRING_SVTOOLS_RTF_EMBO; - break; - case RELIEF_ENGRAVED: - pStr = OOO_STRING_SVTOOLS_RTF_IMPR; - break; - default: - pStr = 0; - break; + case RELIEF_EMBOSSED: + pStr = OOO_STRING_SVTOOLS_RTF_EMBO; + break; + case RELIEF_ENGRAVED: + pStr = OOO_STRING_SVTOOLS_RTF_IMPR; + break; + default: + pStr = 0; + break; } if (pStr) m_aStyles.append(pStr); } -void RtfAttributeOutput::CharHidden( const SvxCharHiddenItem& rHidden ) +void RtfAttributeOutput::CharHidden(const SvxCharHiddenItem& rHidden) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_V); - if ( !rHidden.GetValue() ) + if (!rHidden.GetValue()) m_aStyles.append((sal_Int32)0); } -void RtfAttributeOutput::CharBorder( - const SvxBorderLine* pAllBorder, const sal_uInt16 nDist, const bool bShadow ) +void RtfAttributeOutput::CharBorder(const SvxBorderLine* pAllBorder, const sal_uInt16 nDist, const bool bShadow) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_aStyles.append( - OutBorderLine(m_rExport, pAllBorder, OOO_STRING_SVTOOLS_RTF_CHBRDR, - nDist, bShadow ? SVX_SHADOW_BOTTOMRIGHT : SVX_SHADOW_NONE)); + m_aStyles.append(OutBorderLine(m_rExport, pAllBorder, OOO_STRING_SVTOOLS_RTF_CHBRDR, nDist, bShadow ? SVX_SHADOW_BOTTOMRIGHT : SVX_SHADOW_NONE)); } -void RtfAttributeOutput::TextINetFormat( const SwFmtINetFmt& rURL ) +void RtfAttributeOutput::TextINetFormat(const SwFmtINetFmt& rURL) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if( !rURL.GetValue().isEmpty() ) + if (!rURL.GetValue().isEmpty()) { const SwCharFmt* pFmt; const SwTxtINetFmt* pTxtAtr = rURL.GetTxtINetFmt(); m_aStyles.append("{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " "); m_bHadFieldResult = true; - if( pTxtAtr && 0 != ( pFmt = pTxtAtr->GetCharFmt() )) + if (pTxtAtr && 0 != (pFmt = pTxtAtr->GetCharFmt())) { - sal_uInt16 nStyle = m_rExport.GetId( *pFmt ); + sal_uInt16 nStyle = m_rExport.GetId(*pFmt); OString* pString = m_rExport.GetStyle(nStyle); if (pString) m_aStyles.append(*pString); @@ -2513,11 +2581,11 @@ void RtfAttributeOutput::TextINetFormat( const SwFmtINetFmt& rURL ) } } -void RtfAttributeOutput::TextCharFormat( const SwFmtCharFmt& rCharFmt ) +void RtfAttributeOutput::TextCharFormat(const SwFmtCharFmt& rCharFmt) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - sal_uInt16 nStyle = m_rExport.GetId( *rCharFmt.GetCharFmt() ); + sal_uInt16 nStyle = m_rExport.GetId(*rCharFmt.GetCharFmt()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CS); m_aStyles.append((sal_Int32)nStyle); OString* pString = m_rExport.GetStyle(nStyle); @@ -2533,14 +2601,14 @@ void RtfAttributeOutput::WriteTextFootnoteNumStr(const SwFmtFtn& rFootnote) m_aRun->append(msfilter::rtfutil::OutString(rFootnote.GetNumStr(), m_rExport.eCurrentEncoding)); } -void RtfAttributeOutput::TextFootnote_Impl( const SwFmtFtn& rFootnote ) +void RtfAttributeOutput::TextFootnote_Impl(const SwFmtFtn& rFootnote) { SAL_INFO("sw.rtf", OSL_THIS_FUNC << " start"); m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_SUPER " "); WriteTextFootnoteNumStr(rFootnote); m_aRun->append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FOOTNOTE); - if( rFootnote.IsEndNote() ) + if (rFootnote.IsEndNote()) m_aRun->append(OOO_STRING_SVTOOLS_RTF_FTNALT); m_aRun->append(' '); WriteTextFootnoteNumStr(rFootnote); @@ -2558,9 +2626,9 @@ void RtfAttributeOutput::TextFootnote_Impl( const SwFmtFtn& rFootnote ) bool bSingleEmptyRunOrig = m_bSingleEmptyRun; m_bSingleEmptyRun = false; m_bBufferSectionHeaders = true; - m_rExport.WriteSpecialText( pIndex->GetIndex() + 1, - pIndex->GetNode().EndOfSectionIndex(), - !rFootnote.IsEndNote() ? TXT_FTN : TXT_EDN); + m_rExport.WriteSpecialText(pIndex->GetIndex() + 1, + pIndex->GetNode().EndOfSectionIndex(), + !rFootnote.IsEndNote() ? TXT_FTN : TXT_EDN); m_bBufferSectionHeaders = false; m_bInRun = bInRunOrig; m_bSingleEmptyRun = bSingleEmptyRunOrig; @@ -2573,7 +2641,7 @@ void RtfAttributeOutput::TextFootnote_Impl( const SwFmtFtn& rFootnote ) SAL_INFO("sw.rtf", OSL_THIS_FUNC << " end"); } -void RtfAttributeOutput::ParaLineSpacing_Impl( short nSpace, short nMulti ) +void RtfAttributeOutput::ParaLineSpacing_Impl(short nSpace, short nMulti) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2584,39 +2652,39 @@ void RtfAttributeOutput::ParaLineSpacing_Impl( short nSpace, short nMulti ) } -void RtfAttributeOutput::ParaAdjust( const SvxAdjustItem& rAdjust ) +void RtfAttributeOutput::ParaAdjust(const SvxAdjustItem& rAdjust) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - switch ( rAdjust.GetAdjust() ) + switch (rAdjust.GetAdjust()) { - case SVX_ADJUST_LEFT: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QL); - break; - case SVX_ADJUST_RIGHT: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QR); - break; - case SVX_ADJUST_BLOCKLINE: - case SVX_ADJUST_BLOCK: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QJ); - break; - case SVX_ADJUST_CENTER: - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QC); - break; - default: - break; + case SVX_ADJUST_LEFT: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QL); + break; + case SVX_ADJUST_RIGHT: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QR); + break; + case SVX_ADJUST_BLOCKLINE: + case SVX_ADJUST_BLOCK: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QJ); + break; + case SVX_ADJUST_CENTER: + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_QC); + break; + default: + break; } } -void RtfAttributeOutput::ParaSplit( const SvxFmtSplitItem& rSplit ) +void RtfAttributeOutput::ParaSplit(const SvxFmtSplitItem& rSplit) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if( !rSplit.GetValue() ) + if (!rSplit.GetValue()) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_KEEP); } -void RtfAttributeOutput::ParaWidows( const SvxWidowsItem& rWidows ) +void RtfAttributeOutput::ParaWidows(const SvxWidowsItem& rWidows) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2626,46 +2694,54 @@ void RtfAttributeOutput::ParaWidows( const SvxWidowsItem& rWidows ) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_NOWIDCTLPAR); } -void RtfAttributeOutput::ParaTabStop( const SvxTabStopItem& rTabStop ) +void RtfAttributeOutput::ParaTabStop(const SvxTabStopItem& rTabStop) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - long nOffset = ((SvxLRSpaceItem&)m_rExport.GetItem( RES_LR_SPACE )).GetTxtLeft(); - for( sal_uInt16 n = 0; n < rTabStop.Count(); n++ ) + long nOffset = ((SvxLRSpaceItem&)m_rExport.GetItem(RES_LR_SPACE)).GetTxtLeft(); + for (sal_uInt16 n = 0; n < rTabStop.Count(); n++) { - const SvxTabStop & rTS = rTabStop[ n ]; - if( SVX_TAB_ADJUST_DEFAULT != rTS.GetAdjustment() ) + const SvxTabStop& rTS = rTabStop[ n ]; + if (SVX_TAB_ADJUST_DEFAULT != rTS.GetAdjustment()) { const char* pFill = 0; - switch( rTS.GetFill() ) + switch (rTS.GetFill()) { - case cDfltFillChar: - break; - - case '.': pFill = OOO_STRING_SVTOOLS_RTF_TLDOT; break; - case '_': pFill = OOO_STRING_SVTOOLS_RTF_TLUL; break; - case '-': pFill = OOO_STRING_SVTOOLS_RTF_TLTH; break; - case '=': pFill = OOO_STRING_SVTOOLS_RTF_TLEQ; break; - default: - break; + case cDfltFillChar: + break; + + case '.': + pFill = OOO_STRING_SVTOOLS_RTF_TLDOT; + break; + case '_': + pFill = OOO_STRING_SVTOOLS_RTF_TLUL; + break; + case '-': + pFill = OOO_STRING_SVTOOLS_RTF_TLTH; + break; + case '=': + pFill = OOO_STRING_SVTOOLS_RTF_TLEQ; + break; + default: + break; } - if( pFill ) + if (pFill) m_aStyles.append(pFill); const sal_Char* pAdjStr = 0; switch (rTS.GetAdjustment()) { - case SVX_TAB_ADJUST_RIGHT: - pAdjStr = OOO_STRING_SVTOOLS_RTF_TQR; - break; - case SVX_TAB_ADJUST_DECIMAL: - pAdjStr = OOO_STRING_SVTOOLS_RTF_TQDEC; - break; - case SVX_TAB_ADJUST_CENTER: - pAdjStr = OOO_STRING_SVTOOLS_RTF_TQC; - break; - default: - break; + case SVX_TAB_ADJUST_RIGHT: + pAdjStr = OOO_STRING_SVTOOLS_RTF_TQR; + break; + case SVX_TAB_ADJUST_DECIMAL: + pAdjStr = OOO_STRING_SVTOOLS_RTF_TQDEC; + break; + case SVX_TAB_ADJUST_CENTER: + pAdjStr = OOO_STRING_SVTOOLS_RTF_TQC; + break; + default: + break; } if (pAdjStr) m_aStyles.append(pAdjStr); @@ -2674,18 +2750,18 @@ void RtfAttributeOutput::ParaTabStop( const SvxTabStopItem& rTabStop ) } else { - m_aTabStop.append( OOO_STRING_SVTOOLS_RTF_DEFTAB ); - m_aTabStop.append( (sal_Int32)rTabStop[0].GetTabPos() ); + m_aTabStop.append(OOO_STRING_SVTOOLS_RTF_DEFTAB); + m_aTabStop.append((sal_Int32)rTabStop[0].GetTabPos()); } } } -void RtfAttributeOutput::ParaHyphenZone( const SvxHyphenZoneItem& rHyphenZone ) +void RtfAttributeOutput::ParaHyphenZone(const SvxHyphenZoneItem& rHyphenZone) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); sal_Int32 nFlags = rHyphenZone.IsHyphen() ? 1 : 0; - if( rHyphenZone.IsPageEnd() ) + if (rHyphenZone.IsPageEnd()) nFlags += 2; m_aStyles.append('{'); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_IGNORE); @@ -2700,22 +2776,22 @@ void RtfAttributeOutput::ParaHyphenZone( const SvxHyphenZoneItem& rHyphenZone ) m_aStyles.append('}'); } -void RtfAttributeOutput::ParaNumRule_Impl( const SwTxtNode* pTxtNd, sal_Int32 nLvl, sal_Int32 nNumId ) +void RtfAttributeOutput::ParaNumRule_Impl(const SwTxtNode* pTxtNd, sal_Int32 nLvl, sal_Int32 nNumId) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( USHRT_MAX == nNumId || 0 == nNumId || 0 == pTxtNd) + if (USHRT_MAX == nNumId || 0 == nNumId || 0 == pTxtNd) return; const SwNumRule* pRule = pTxtNd->GetNumRule(); - if( pRule && pTxtNd->IsInList() ) + if (pRule && pTxtNd->IsInList()) { SAL_WARN_IF(pTxtNd->GetActualListLevel() < 0 || pTxtNd->GetActualListLevel() >= MAXLEVEL, "sw.rtf", "text node does not have valid list level"); - const SwNumFmt* pFmt = pRule->GetNumFmt( nLvl ); - if( !pFmt ) - pFmt = &pRule->Get( nLvl ); + const SwNumFmt* pFmt = pRule->GetNumFmt(nLvl); + if (!pFmt) + pFmt = &pRule->Get(nLvl); const SfxItemSet& rNdSet = pTxtNd->GetSwAttrSet(); @@ -2725,18 +2801,18 @@ void RtfAttributeOutput::ParaNumRule_Impl( const SwTxtNode* pTxtNd, sal_Int32 nL m_aStyles.append(OOO_STRING_SVTOOLS_RTF_PLAIN); m_aStyles.append(' '); - SvxLRSpaceItem aLR( (SvxLRSpaceItem&)rNdSet.Get( RES_LR_SPACE ) ); - aLR.SetTxtLeft( aLR.GetTxtLeft() + pFmt->GetIndentAt() ); - aLR.SetTxtFirstLineOfst( pFmt->GetFirstLineOffset() ); + SvxLRSpaceItem aLR((SvxLRSpaceItem&)rNdSet.Get(RES_LR_SPACE)); + aLR.SetTxtLeft(aLR.GetTxtLeft() + pFmt->GetIndentAt()); + aLR.SetTxtFirstLineOfst(pFmt->GetFirstLineOffset()); - sal_uInt16 nStyle = m_rExport.GetId( *pFmt->GetCharFmt() ); + sal_uInt16 nStyle = m_rExport.GetId(*pFmt->GetCharFmt()); OString* pString = m_rExport.GetStyle(nStyle); if (pString) m_aStyles.append(*pString); { OUString sTxt; - if( SVX_NUM_CHAR_SPECIAL == pFmt->GetNumberingType() || SVX_NUM_BITMAP == pFmt->GetNumberingType() ) + if (SVX_NUM_CHAR_SPECIAL == pFmt->GetNumberingType() || SVX_NUM_BITMAP == pFmt->GetNumberingType()) sTxt = OUString(pFmt->GetBulletChar()); else sTxt = pTxtNd->GetNumString(); @@ -2747,13 +2823,13 @@ void RtfAttributeOutput::ParaNumRule_Impl( const SwTxtNode* pTxtNd, sal_Int32 nL m_aStyles.append(msfilter::rtfutil::OutString(sTxt, m_rExport.eDefaultEncoding)); } - if( OUTLINE_RULE != pRule->GetRuleType() ) + if (OUTLINE_RULE != pRule->GetRuleType()) { if (!sTxt.isEmpty()) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_TAB); m_aStyles.append('}'); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ILVL); - if( nLvl > 8 ) // RTF knows only 9 levels + if (nLvl > 8) // RTF knows only 9 levels { m_aStyles.append((sal_Int32)8); m_aStyles.append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SOUTLVL); @@ -2773,49 +2849,59 @@ void RtfAttributeOutput::ParaNumRule_Impl( const SwTxtNode* pTxtNd, sal_Int32 nL } } -void RtfAttributeOutput::ParaScriptSpace( const SfxBoolItem& rScriptSpace ) +void RtfAttributeOutput::ParaScriptSpace(const SfxBoolItem& rScriptSpace) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if (!rScriptSpace.GetValue( )) + if (!rScriptSpace.GetValue()) return; m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ASPALPHA); } -void RtfAttributeOutput::ParaHangingPunctuation( const SfxBoolItem& ) +void RtfAttributeOutput::ParaHangingPunctuation(const SfxBoolItem&) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::ParaForbiddenRules( const SfxBoolItem& ) +void RtfAttributeOutput::ParaForbiddenRules(const SfxBoolItem&) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::ParaVerticalAlign( const SvxParaVertAlignItem& rAlign ) +void RtfAttributeOutput::ParaVerticalAlign(const SvxParaVertAlignItem& rAlign) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); const char* pStr; - switch ( rAlign.GetValue() ) - { - case SvxParaVertAlignItem::TOP: pStr = OOO_STRING_SVTOOLS_RTF_FAHANG; break; - case SvxParaVertAlignItem::BOTTOM: pStr = OOO_STRING_SVTOOLS_RTF_FAVAR; break; - case SvxParaVertAlignItem::CENTER: pStr = OOO_STRING_SVTOOLS_RTF_FACENTER; break; - case SvxParaVertAlignItem::BASELINE: pStr = OOO_STRING_SVTOOLS_RTF_FAROMAN; break; - - default: pStr = OOO_STRING_SVTOOLS_RTF_FAAUTO; break; + switch (rAlign.GetValue()) + { + case SvxParaVertAlignItem::TOP: + pStr = OOO_STRING_SVTOOLS_RTF_FAHANG; + break; + case SvxParaVertAlignItem::BOTTOM: + pStr = OOO_STRING_SVTOOLS_RTF_FAVAR; + break; + case SvxParaVertAlignItem::CENTER: + pStr = OOO_STRING_SVTOOLS_RTF_FACENTER; + break; + case SvxParaVertAlignItem::BASELINE: + pStr = OOO_STRING_SVTOOLS_RTF_FAROMAN; + break; + + default: + pStr = OOO_STRING_SVTOOLS_RTF_FAAUTO; + break; } m_aStyles.append(pStr); } -void RtfAttributeOutput::ParaSnapToGrid( const SvxParaGridItem& /*rGrid*/ ) +void RtfAttributeOutput::ParaSnapToGrid(const SvxParaGridItem& /*rGrid*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::FormatFrameSize( const SwFmtFrmSize& rSize ) +void RtfAttributeOutput::FormatFrameSize(const SwFmtFrmSize& rSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -2826,48 +2912,48 @@ void RtfAttributeOutput::FormatFrameSize( const SwFmtFrmSize& rSize ) m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_PGHSXN); m_aSectionBreaks.append((sal_Int32)rSize.GetHeight()); if (!m_bBufferSectionBreaks) - m_rExport.Strm().WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + m_rExport.Strm().WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); } } -void RtfAttributeOutput::FormatPaperBin( const SvxPaperBinItem& ) +void RtfAttributeOutput::FormatPaperBin(const SvxPaperBinItem&) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::FormatLRSpace( const SvxLRSpaceItem& rLRSpace ) +void RtfAttributeOutput::FormatLRSpace(const SvxLRSpaceItem& rLRSpace) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( !m_rExport.bOutFlyFrmAttrs ) + if (!m_rExport.bOutFlyFrmAttrs) { - if( m_rExport.bOutPageDescs ) + if (m_rExport.bOutPageDescs) { - if( rLRSpace.GetLeft() ) + if (rLRSpace.GetLeft()) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_MARGLSXN); m_aSectionBreaks.append((sal_Int32)rLRSpace.GetLeft()); } - if( rLRSpace.GetRight() ) + if (rLRSpace.GetRight()) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_MARGRSXN); m_aSectionBreaks.append((sal_Int32)rLRSpace.GetRight()); } if (!m_bBufferSectionBreaks) - m_rExport.Strm(). WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + m_rExport.Strm(). WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); } else { m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LI); - m_aStyles.append( (sal_Int32) rLRSpace.GetTxtLeft() ); + m_aStyles.append((sal_Int32) rLRSpace.GetTxtLeft()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_RI); - m_aStyles.append( (sal_Int32) rLRSpace.GetRight() ); + m_aStyles.append((sal_Int32) rLRSpace.GetRight()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LIN); - m_aStyles.append( (sal_Int32) rLRSpace.GetTxtLeft() ); + m_aStyles.append((sal_Int32) rLRSpace.GetTxtLeft()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_RIN); - m_aStyles.append( (sal_Int32) rLRSpace.GetRight() ); + m_aStyles.append((sal_Int32) rLRSpace.GetRight()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FI); - m_aStyles.append( (sal_Int32) rLRSpace.GetTxtFirstLineOfst() ); + m_aStyles.append((sal_Int32) rLRSpace.GetTxtFirstLineOfst()); } } else if (m_rExport.bRTFFlySyntax) @@ -2878,50 +2964,50 @@ void RtfAttributeOutput::FormatLRSpace( const SvxLRSpaceItem& rLRSpace ) } } -void RtfAttributeOutput::FormatULSpace( const SvxULSpaceItem& rULSpace ) +void RtfAttributeOutput::FormatULSpace(const SvxULSpaceItem& rULSpace) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( !m_rExport.bOutFlyFrmAttrs ) + if (!m_rExport.bOutFlyFrmAttrs) { - if( m_rExport.bOutPageDescs ) + if (m_rExport.bOutPageDescs) { - OSL_ENSURE( m_rExport.GetCurItemSet(), "Impossible" ); - if ( !m_rExport.GetCurItemSet() ) + OSL_ENSURE(m_rExport.GetCurItemSet(), "Impossible"); + if (!m_rExport.GetCurItemSet()) return; - HdFtDistanceGlue aDistances( *m_rExport.GetCurItemSet() ); + HdFtDistanceGlue aDistances(*m_rExport.GetCurItemSet()); - if( aDistances.dyaTop ) + if (aDistances.dyaTop) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_MARGTSXN); m_aSectionBreaks.append((sal_Int32)aDistances.dyaTop); } - if ( aDistances.HasHeader() ) + if (aDistances.HasHeader()) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_HEADERY); m_aSectionBreaks.append((sal_Int32)aDistances.dyaHdrTop); } - if( aDistances.dyaBottom ) + if (aDistances.dyaBottom) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_MARGBSXN); m_aSectionBreaks.append((sal_Int32)aDistances.dyaBottom); } - if( aDistances.HasFooter() ) + if (aDistances.HasFooter()) { m_aSectionBreaks.append(OOO_STRING_SVTOOLS_RTF_FOOTERY); m_aSectionBreaks.append((sal_Int32)aDistances.dyaHdrBottom); } if (!m_bBufferSectionBreaks) - m_rExport.Strm(). WriteCharPtr( m_aSectionBreaks.makeStringAndClear().getStr() ); + m_rExport.Strm(). WriteCharPtr(m_aSectionBreaks.makeStringAndClear().getStr()); } else { m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SB); - m_aStyles.append( (sal_Int32) rULSpace.GetUpper() ); + m_aStyles.append((sal_Int32) rULSpace.GetUpper()); m_aStyles.append(OOO_STRING_SVTOOLS_RTF_SA); - m_aStyles.append( (sal_Int32) rULSpace.GetLower() ); + m_aStyles.append((sal_Int32) rULSpace.GetLower()); if (rULSpace.GetContext()) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CONTEXTUALSPACE); } @@ -2934,133 +3020,133 @@ void RtfAttributeOutput::FormatULSpace( const SvxULSpaceItem& rULSpace ) } } -void RtfAttributeOutput::FormatSurround( const SwFmtSurround& rSurround ) +void RtfAttributeOutput::FormatSurround(const SwFmtSurround& rSurround) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( m_rExport.bOutFlyFrmAttrs && !m_rExport.bRTFFlySyntax ) + if (m_rExport.bOutFlyFrmAttrs && !m_rExport.bRTFFlySyntax) { SwSurround eSurround = rSurround.GetSurround(); bool bGold = SURROUND_IDEAL == eSurround; - if( bGold ) + if (bGold) eSurround = SURROUND_PARALLEL; - RTFSurround aMC( bGold, static_cast< sal_uInt8 >(eSurround) ); + RTFSurround aMC(bGold, static_cast< sal_uInt8 >(eSurround)); m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYMAINCNT); - m_aRunText->append( (sal_Int32) aMC.GetValue() ); + m_aRunText->append((sal_Int32) aMC.GetValue()); } } -void RtfAttributeOutput::FormatVertOrientation( const SwFmtVertOrient& rFlyVert ) +void RtfAttributeOutput::FormatVertOrientation(const SwFmtVertOrient& rFlyVert) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( m_rExport.bOutFlyFrmAttrs && m_rExport.bRTFFlySyntax ) + if (m_rExport.bOutFlyFrmAttrs && m_rExport.bRTFFlySyntax) { switch (rFlyVert.GetRelationOrient()) { - case text::RelOrientation::PAGE_FRAME: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelv", OString::number(1))); + case text::RelOrientation::PAGE_FRAME: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelv", OString::number(1))); break; - default: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelv", OString::number(2))); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPBYPARA ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE ); + default: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelv", OString::number(2))); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPBYPARA).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE); break; } - switch(rFlyVert.GetVertOrient()) + switch (rFlyVert.GetVertOrient()) { - case text::VertOrientation::TOP: - case text::VertOrientation::LINE_TOP: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(1))); - break; - case text::VertOrientation::BOTTOM: - case text::VertOrientation::LINE_BOTTOM: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(3))); - break; - case text::VertOrientation::CENTER: - case text::VertOrientation::LINE_CENTER: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(2))); - break; - default: - break; + case text::VertOrientation::TOP: + case text::VertOrientation::LINE_TOP: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(1))); + break; + case text::VertOrientation::BOTTOM: + case text::VertOrientation::LINE_BOTTOM: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(3))); + break; + case text::VertOrientation::CENTER: + case text::VertOrientation::LINE_CENTER: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posv", OString::number(2))); + break; + default: + break; } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPTOP ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPTOP); m_rExport.OutLong(rFlyVert.GetPos()); if (m_pFlyFrameSize) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPBOTTOM ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPBOTTOM); m_rExport.OutLong(rFlyVert.GetPos() + m_pFlyFrameSize->Height()); } } } -void RtfAttributeOutput::FormatHorizOrientation( const SwFmtHoriOrient& rFlyHori ) +void RtfAttributeOutput::FormatHorizOrientation(const SwFmtHoriOrient& rFlyHori) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( m_rExport.bOutFlyFrmAttrs && m_rExport.bRTFFlySyntax ) + if (m_rExport.bOutFlyFrmAttrs && m_rExport.bRTFFlySyntax) { switch (rFlyHori.GetRelationOrient()) { - case text::RelOrientation::PAGE_FRAME: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelh", OString::number(1))); + case text::RelOrientation::PAGE_FRAME: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelh", OString::number(1))); break; - default: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelh", OString::number(2))); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPBXCOLUMN ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPBXIGNORE ); + default: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posrelh", OString::number(2))); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPBXCOLUMN).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPBXIGNORE); break; } - switch(rFlyHori.GetHoriOrient()) + switch (rFlyHori.GetHoriOrient()) { - case text::HoriOrientation::LEFT: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(1))); - break; - case text::HoriOrientation::CENTER: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(2))); - break; - case text::HoriOrientation::RIGHT: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(3))); - break; - default: - break; + case text::HoriOrientation::LEFT: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(1))); + break; + case text::HoriOrientation::CENTER: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(2))); + break; + case text::HoriOrientation::RIGHT: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("posh", OString::number(3))); + break; + default: + break; } - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPLEFT ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPLEFT); m_rExport.OutLong(rFlyHori.GetPos()); if (m_pFlyFrameSize) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_SHPRIGHT ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_SHPRIGHT); m_rExport.OutLong(rFlyHori.GetPos() + m_pFlyFrameSize->Width()); } } } -void RtfAttributeOutput::FormatAnchor( const SwFmtAnchor& rAnchor ) +void RtfAttributeOutput::FormatAnchor(const SwFmtAnchor& rAnchor) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( !m_rExport.bRTFFlySyntax ) + if (!m_rExport.bRTFFlySyntax) { sal_uInt16 nId = static_cast< sal_uInt16 >(rAnchor.GetAnchorId()); m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYANCHOR); m_aRunText->append((sal_Int32)nId); - switch( nId ) + switch (nId) { - case FLY_AT_PAGE: - m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYPAGE); - m_aRunText->append((sal_Int32)rAnchor.GetPageNum()); - break; - case FLY_AT_PARA: - case FLY_AS_CHAR: - m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYCNTNT); - break; + case FLY_AT_PAGE: + m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYPAGE); + m_aRunText->append((sal_Int32)rAnchor.GetPageNum()); + break; + case FLY_AT_PARA: + case FLY_AS_CHAR: + m_aRunText->append(OOO_STRING_SVTOOLS_RTF_FLYCNTNT); + break; } } } -void RtfAttributeOutput::FormatBackground( const SvxBrushItem& rBrush ) +void RtfAttributeOutput::FormatBackground(const SvxBrushItem& rBrush) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -3070,19 +3156,19 @@ void RtfAttributeOutput::FormatBackground( const SvxBrushItem& rBrush ) // We in fact need RGB to BGR, but the transformation is symmetric. m_aFlyProperties.push_back(std::make_pair<OString, OString>("fillColor", OString::number(msfilter::util::BGRToRGB(rColor.GetColor())))); } - else if( !rBrush.GetColor().GetTransparency() ) + else if (!rBrush.GetColor().GetTransparency()) { m_aStyles.append(OOO_STRING_SVTOOLS_RTF_CBPAT); m_aStyles.append((sal_Int32)m_rExport.GetColor(rBrush.GetColor())); } } -void RtfAttributeOutput::FormatFillStyle( const XFillStyleItem& rFillStyle ) +void RtfAttributeOutput::FormatFillStyle(const XFillStyleItem& rFillStyle) { m_oFillStyle.reset(rFillStyle.GetValue()); } -void RtfAttributeOutput::FormatFillGradient( const XFillGradientItem& rFillGradient ) +void RtfAttributeOutput::FormatFillGradient(const XFillGradientItem& rFillGradient) { if (*m_oFillStyle == XFILL_GRADIENT) { @@ -3097,30 +3183,39 @@ void RtfAttributeOutput::FormatFillGradient( const XFillGradientItem& rFillGradi switch (rGradient.GetGradientStyle()) { - case XGRAD_LINEAR: break; - case XGRAD_AXIAL: - m_aFlyProperties.push_back(std::make_pair<OString, OString>("fillFocus", OString::number(50))); - break; - case XGRAD_RADIAL: break; - case XGRAD_ELLIPTICAL: break; - case XGRAD_SQUARE: break; - case XGRAD_RECT: break; + case XGRAD_LINEAR: + break; + case XGRAD_AXIAL: + m_aFlyProperties.push_back(std::make_pair<OString, OString>("fillFocus", OString::number(50))); + break; + case XGRAD_RADIAL: + break; + case XGRAD_ELLIPTICAL: + break; + case XGRAD_SQUARE: + break; + case XGRAD_RECT: + break; } } } -void RtfAttributeOutput::FormatBox( const SvxBoxItem& rBox ) +void RtfAttributeOutput::FormatBox(const SvxBoxItem& rBox) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - static const sal_uInt16 aBorders[] = { - BOX_LINE_TOP, BOX_LINE_LEFT, BOX_LINE_BOTTOM, BOX_LINE_RIGHT }; - static const sal_Char* aBorderNames[] = { - OOO_STRING_SVTOOLS_RTF_BRDRT, OOO_STRING_SVTOOLS_RTF_BRDRL, OOO_STRING_SVTOOLS_RTF_BRDRB, OOO_STRING_SVTOOLS_RTF_BRDRR }; + static const sal_uInt16 aBorders[] = + { + BOX_LINE_TOP, BOX_LINE_LEFT, BOX_LINE_BOTTOM, BOX_LINE_RIGHT + }; + static const sal_Char* aBorderNames[] = + { + OOO_STRING_SVTOOLS_RTF_BRDRT, OOO_STRING_SVTOOLS_RTF_BRDRL, OOO_STRING_SVTOOLS_RTF_BRDRB, OOO_STRING_SVTOOLS_RTF_BRDRR + }; sal_uInt16 nDist = rBox.GetDistance(); - if ( m_rExport.bRTFFlySyntax ) + if (m_rExport.bRTFFlySyntax) { // Borders: spacing to contents, convert from twips to EMUs. m_aFlyProperties.push_back(std::make_pair<OString, OString>("dxTextLeft", OString::number(rBox.GetDistance(BOX_LINE_LEFT) * 635))); @@ -3149,16 +3244,16 @@ void RtfAttributeOutput::FormatBox( const SvxBoxItem& rBox ) return; } - if( rBox.GetTop() && rBox.GetBottom() && + if (rBox.GetTop() && rBox.GetBottom() && rBox.GetLeft() && rBox.GetRight() && *rBox.GetTop() == *rBox.GetBottom() && *rBox.GetTop() == *rBox.GetLeft() && *rBox.GetTop() == *rBox.GetRight() && - nDist == rBox.GetDistance( BOX_LINE_TOP ) && - nDist == rBox.GetDistance( BOX_LINE_LEFT ) && - nDist == rBox.GetDistance( BOX_LINE_BOTTOM ) && - nDist == rBox.GetDistance( BOX_LINE_RIGHT )) - m_aSectionBreaks.append(OutBorderLine( m_rExport, rBox.GetTop(), OOO_STRING_SVTOOLS_RTF_BOX, nDist )); + nDist == rBox.GetDistance(BOX_LINE_TOP) && + nDist == rBox.GetDistance(BOX_LINE_LEFT) && + nDist == rBox.GetDistance(BOX_LINE_BOTTOM) && + nDist == rBox.GetDistance(BOX_LINE_RIGHT)) + m_aSectionBreaks.append(OutBorderLine(m_rExport, rBox.GetTop(), OOO_STRING_SVTOOLS_RTF_BOX, nDist)); else { SvxShadowLocation eShadowLocation = SVX_SHADOW_NONE; @@ -3167,12 +3262,12 @@ void RtfAttributeOutput::FormatBox( const SvxBoxItem& rBox ) const sal_uInt16* pBrd = aBorders; const sal_Char** pBrdNms = (const sal_Char**)aBorderNames; - for(int i = 0; i < 4; ++i, ++pBrd, ++pBrdNms) + for (int i = 0; i < 4; ++i, ++pBrd, ++pBrdNms) { if (const SvxBorderLine* pLn = rBox.GetLine(*pBrd)) { m_aSectionBreaks.append(OutBorderLine(m_rExport, pLn, *pBrdNms, - rBox.GetDistance(*pBrd), eShadowLocation)); + rBox.GetDistance(*pBrd), eShadowLocation)); } } } @@ -3181,61 +3276,61 @@ void RtfAttributeOutput::FormatBox( const SvxBoxItem& rBox ) m_aStyles.append(m_aSectionBreaks.makeStringAndClear()); } -void RtfAttributeOutput::FormatColumns_Impl( sal_uInt16 nCols, const SwFmtCol& rCol, bool bEven, SwTwips nPageSize ) +void RtfAttributeOutput::FormatColumns_Impl(sal_uInt16 nCols, const SwFmtCol& rCol, bool bEven, SwTwips nPageSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLS ); - m_rExport.OutLong( nCols ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLS); + m_rExport.OutLong(nCols); - if( bEven ) + if (bEven) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLSX ); - m_rExport.OutLong( rCol.GetGutterWidth( true ) ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLSX); + m_rExport.OutLong(rCol.GetGutterWidth(true)); } else { - const SwColumns & rColumns = rCol.GetColumns( ); - for( sal_uInt16 n = 0; n < nCols; ) + const SwColumns& rColumns = rCol.GetColumns(); + for (sal_uInt16 n = 0; n < nCols;) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLNO ); - m_rExport.OutLong( n+1 ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLNO); + m_rExport.OutLong(n+1); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLW ); - m_rExport.OutLong( rCol.CalcPrtColWidth( n, nPageSize ) ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLW); + m_rExport.OutLong(rCol.CalcPrtColWidth(n, nPageSize)); - if( ++n != nCols ) + if (++n != nCols) { - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_COLSR ); - m_rExport.OutLong( rColumns[ n-1 ].GetRight() + - rColumns[ n ].GetLeft() ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_COLSR); + m_rExport.OutLong(rColumns[ n-1 ].GetRight() + + rColumns[ n ].GetLeft()); } } } } -void RtfAttributeOutput::FormatKeep( const SvxFmtKeepItem& rItem ) +void RtfAttributeOutput::FormatKeep(const SvxFmtKeepItem& rItem) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if( rItem.GetValue() ) + if (rItem.GetValue()) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_KEEPN); } -void RtfAttributeOutput::FormatTextGrid( const SwTextGridItem& /*rGrid*/ ) +void RtfAttributeOutput::FormatTextGrid(const SwTextGridItem& /*rGrid*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::FormatLineNumbering( const SwFmtLineNumber& rNumbering ) +void RtfAttributeOutput::FormatLineNumbering(const SwFmtLineNumber& rNumbering) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - if ( !rNumbering.IsCount( ) ) + if (!rNumbering.IsCount()) m_aStyles.append(OOO_STRING_SVTOOLS_RTF_NOLINE); } -void RtfAttributeOutput::FormatFrameDirection( const SvxFrameDirectionItem& rDirection ) +void RtfAttributeOutput::FormatFrameDirection(const SvxFrameDirectionItem& rDirection) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -3260,42 +3355,42 @@ void RtfAttributeOutput::ParaOutlineLevel(const SfxUInt16Item& /*rItem*/) { } -void RtfAttributeOutput::WriteExpand( const SwField* pFld ) +void RtfAttributeOutput::WriteExpand(const SwField* pFld) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); OUString sCmd; // for optional Parameters switch (pFld->GetTyp()->Which()) { //#i119803# Export user field and DB field for RTF filter - case RES_DBFLD: - sCmd = FieldString(ww::eMERGEFIELD); - // no break !! - case RES_USERFLD: - sCmd += pFld->GetTyp()->GetName(); - m_rExport.OutputField(pFld, ww::eNONE, sCmd); - break; - default: - m_rExport.OutputField(pFld, ww::eUNKNOWN, sCmd); - break; + case RES_DBFLD: + sCmd = FieldString(ww::eMERGEFIELD); + // no break !! + case RES_USERFLD: + sCmd += pFld->GetTyp()->GetName(); + m_rExport.OutputField(pFld, ww::eNONE, sCmd); + break; + default: + m_rExport.OutputField(pFld, ww::eUNKNOWN, sCmd); + break; } } -void RtfAttributeOutput::RefField( const SwField& /*rFld*/, const OUString& /*rRef*/ ) +void RtfAttributeOutput::RefField(const SwField& /*rFld*/, const OUString& /*rRef*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::HiddenField( const SwField& /*rFld*/ ) +void RtfAttributeOutput::HiddenField(const SwField& /*rFld*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::SetField( const SwField& /*rFld*/, ww::eField /*eType*/, const OUString& /*rCmd*/ ) +void RtfAttributeOutput::SetField(const SwField& /*rFld*/, ww::eField /*eType*/, const OUString& /*rCmd*/) { SAL_INFO("sw.rtf", "TODO: " << OSL_THIS_FUNC); } -void RtfAttributeOutput::PostitField( const SwField* pFld ) +void RtfAttributeOutput::PostitField(const SwField* pFld) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -3334,13 +3429,13 @@ void RtfAttributeOutput::PostitField( const SwField* pFld ) m_aRunText->append('}'); } -bool RtfAttributeOutput::DropdownField( const SwField* /*pFld*/ ) +bool RtfAttributeOutput::DropdownField(const SwField* /*pFld*/) { // this is handled in OutputFlyFrame_Impl() return true; } -bool RtfAttributeOutput::PlaceholderField( const SwField* pField) +bool RtfAttributeOutput::PlaceholderField(const SwField* pField) { m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " MACROBUTTON None "); RunText(pField->GetPar1()); @@ -3348,30 +3443,30 @@ bool RtfAttributeOutput::PlaceholderField( const SwField* pField) return false; // do not expand } -RtfAttributeOutput::RtfAttributeOutput( RtfExport &rExport ) - : m_rExport( rExport ), - m_nStyleId( 0 ), - m_nListId( 0 ), - m_bStrikeDouble( false ), - m_nNextAnnotationMarkId(0), - m_nCurrentAnnotationMarkId(-1), - m_pTableWrt( NULL ), - m_bTableCellOpen( false ), - m_nTableDepth( 0 ), - m_bTblAfterCell( false ), - m_nColBreakNeeded( false ), - m_bBufferSectionBreaks( false ), - m_bBufferSectionHeaders( false ), - m_bLastTable( true ), - m_bWroteCellInfo( false ), - m_bHadFieldResult( false ), - m_bTableRowEnded( false ), - m_aCells(), - m_bSingleEmptyRun(false), - m_bInRun(false), - m_bInURL(false), - m_pFlyFrameSize(0), - m_pPrevPageDesc(0) +RtfAttributeOutput::RtfAttributeOutput(RtfExport& rExport) + : m_rExport(rExport), + m_nStyleId(0), + m_nListId(0), + m_bStrikeDouble(false), + m_nNextAnnotationMarkId(0), + m_nCurrentAnnotationMarkId(-1), + m_pTableWrt(NULL), + m_bTableCellOpen(false), + m_nTableDepth(0), + m_bTblAfterCell(false), + m_nColBreakNeeded(false), + m_bBufferSectionBreaks(false), + m_bBufferSectionHeaders(false), + m_bLastTable(true), + m_bWroteCellInfo(false), + m_bHadFieldResult(false), + m_bTableRowEnded(false), + m_aCells(), + m_bSingleEmptyRun(false), + m_bInRun(false), + m_bInURL(false), + m_pFlyFrameSize(0), + m_pPrevPageDesc(0) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); } @@ -3389,11 +3484,11 @@ MSWordExportBase& RtfAttributeOutput::GetExport() // These are used by wwFont::WriteRtf() /// Start the font. -void RtfAttributeOutput::StartFont( const OUString& rFamilyName ) const +void RtfAttributeOutput::StartFont(const OUString& rFamilyName) const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OUStringToOString( rFamilyName, m_rExport.eCurrentEncoding ).getStr() ); + m_rExport.Strm().WriteCharPtr(OUStringToOString(rFamilyName, m_rExport.eCurrentEncoding).getStr()); } /// End the font. @@ -3401,90 +3496,87 @@ void RtfAttributeOutput::EndFont() const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( ";}" ); + m_rExport.Strm().WriteCharPtr(";}"); } /// Alternate name for the font. -void RtfAttributeOutput::FontAlternateName( const OUString& rName ) const +void RtfAttributeOutput::FontAlternateName(const OUString& rName) const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_IGNORE ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_FALT ).WriteChar( ' ' ); - m_rExport.Strm().WriteCharPtr( OUStringToOString( rName, m_rExport.eCurrentEncoding ).getStr() ).WriteChar( '}' ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_IGNORE).WriteCharPtr(OOO_STRING_SVTOOLS_RTF_FALT).WriteChar(' '); + m_rExport.Strm().WriteCharPtr(OUStringToOString(rName, m_rExport.eCurrentEncoding).getStr()).WriteChar('}'); } /// Font charset. -void RtfAttributeOutput::FontCharset( sal_uInt8 nCharSet ) const +void RtfAttributeOutput::FontCharset(sal_uInt8 nCharSet) const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_FCHARSET ); - m_rExport.OutULong( nCharSet ); - m_rExport.Strm().WriteChar( ' ' ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_FCHARSET); + m_rExport.OutULong(nCharSet); + m_rExport.Strm().WriteChar(' '); } /// Font family. -void RtfAttributeOutput::FontFamilyType( FontFamily eFamily, const wwFont &rFont ) const +void RtfAttributeOutput::FontFamilyType(FontFamily eFamily, const wwFont& rFont) const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteChar( '{' ).WriteCharPtr( OOO_STRING_SVTOOLS_RTF_F ); + m_rExport.Strm().WriteChar('{').WriteCharPtr(OOO_STRING_SVTOOLS_RTF_F); const char* pStr = OOO_STRING_SVTOOLS_RTF_FNIL; switch (eFamily) { - case FAMILY_ROMAN: - pStr = OOO_STRING_SVTOOLS_RTF_FROMAN; - break; - case FAMILY_SWISS: - pStr = OOO_STRING_SVTOOLS_RTF_FSWISS; - break; - case FAMILY_MODERN: - pStr = OOO_STRING_SVTOOLS_RTF_FMODERN; - break; - case FAMILY_SCRIPT: - pStr = OOO_STRING_SVTOOLS_RTF_FSCRIPT; - break; - case FAMILY_DECORATIVE: - pStr = OOO_STRING_SVTOOLS_RTF_FDECOR; - break; - default: - break; - } - m_rExport.OutULong(m_rExport.maFontHelper.GetId(rFont)).WriteCharPtr( pStr ); + case FAMILY_ROMAN: + pStr = OOO_STRING_SVTOOLS_RTF_FROMAN; + break; + case FAMILY_SWISS: + pStr = OOO_STRING_SVTOOLS_RTF_FSWISS; + break; + case FAMILY_MODERN: + pStr = OOO_STRING_SVTOOLS_RTF_FMODERN; + break; + case FAMILY_SCRIPT: + pStr = OOO_STRING_SVTOOLS_RTF_FSCRIPT; + break; + case FAMILY_DECORATIVE: + pStr = OOO_STRING_SVTOOLS_RTF_FDECOR; + break; + default: + break; + } + m_rExport.OutULong(m_rExport.maFontHelper.GetId(rFont)).WriteCharPtr(pStr); } /// Font pitch. -void RtfAttributeOutput::FontPitchType( FontPitch ePitch ) const +void RtfAttributeOutput::FontPitchType(FontPitch ePitch) const { SAL_INFO("sw.rtf", OSL_THIS_FUNC); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_FPRQ ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_FPRQ); sal_uInt16 nVal = 0; switch (ePitch) { - case PITCH_FIXED: - nVal = 1; - break; - case PITCH_VARIABLE: - nVal = 2; - break; - default: - break; + case PITCH_FIXED: + nVal = 1; + break; + case PITCH_VARIABLE: + nVal = 2; + break; + default: + break; } m_rExport.OutULong(nVal); } -static bool IsEMF(const sal_uInt8 *pGraphicAry, unsigned long nSize) +static bool IsEMF(const sal_uInt8* pGraphicAry, unsigned long nSize) { - if (pGraphicAry && (nSize > 0x2c )) + if (pGraphicAry && (nSize > 0x2c)) { // check the magic number - if ( - (pGraphicAry[0x28] == 0x20 ) && (pGraphicAry[0x29] == 0x45) && - (pGraphicAry[0x2a] == 0x4d ) && (pGraphicAry[0x2b] == 0x46) - ) + if ((pGraphicAry[0x28] == 0x20) && (pGraphicAry[0x29] == 0x45) && (pGraphicAry[0x2a] == 0x4d) && (pGraphicAry[0x2b] == 0x46)) { //emf detected return true; @@ -3493,15 +3585,13 @@ static bool IsEMF(const sal_uInt8 *pGraphicAry, unsigned long nSize) return false; } -static bool StripMetafileHeader(const sal_uInt8 *&rpGraphicAry, unsigned long &rSize) +static bool StripMetafileHeader(const sal_uInt8*& rpGraphicAry, unsigned long& rSize) { if (rpGraphicAry && (rSize > 0x22)) { - if ( - (rpGraphicAry[0] == 0xd7) && (rpGraphicAry[1] == 0xcd) && - (rpGraphicAry[2] == 0xc6) && (rpGraphicAry[3] == 0x9a) - ) - { // we have to get rid of the metafileheader + if ((rpGraphicAry[0] == 0xd7) && (rpGraphicAry[1] == 0xcd) && (rpGraphicAry[2] == 0xc6) && (rpGraphicAry[3] == 0x9a)) + { + // we have to get rid of the metafileheader rpGraphicAry += 22; rSize -= 22; return true; @@ -3521,18 +3611,18 @@ OString RtfAttributeOutput::WriteHex(const sal_uInt8* pData, sal_uInt32 nSize, S if (sNo.getLength() < 2) { if (pStream) - pStream->WriteChar( '0' ); + pStream->WriteChar('0'); else aRet.append('0'); } if (pStream) - pStream->WriteCharPtr( sNo.getStr() ); + pStream->WriteCharPtr(sNo.getStr()); else aRet.append(sNo); if (++nBreak == nLimit) { if (pStream) - pStream->WriteCharPtr( SAL_NEWLINE_STRING ); + pStream->WriteCharPtr(SAL_NEWLINE_STRING); else aRet.append(SAL_NEWLINE_STRING); nBreak = 0; @@ -3542,23 +3632,23 @@ OString RtfAttributeOutput::WriteHex(const sal_uInt8* pData, sal_uInt32 nSize, S return aRet.makeStringAndClear(); } -static void lcl_AppendSP( OStringBuffer& rBuffer, - const char cName[], - const OUString& rValue, - const RtfExport& rExport ) +static void lcl_AppendSP(OStringBuffer& rBuffer, + const char cName[], + const OUString& rValue, + const RtfExport& rExport) { - rBuffer.append( "{" OOO_STRING_SVTOOLS_RTF_SP "{" ); // "{\sp{" - rBuffer.append( OOO_STRING_SVTOOLS_RTF_SN " " );//" \sn " - rBuffer.append( cName ); //"PropName" - rBuffer.append( "}{" OOO_STRING_SVTOOLS_RTF_SV " " ); + rBuffer.append("{" OOO_STRING_SVTOOLS_RTF_SP "{"); // "{\sp{" + rBuffer.append(OOO_STRING_SVTOOLS_RTF_SN " "); //" \sn " + rBuffer.append(cName); //"PropName" + rBuffer.append("}{" OOO_STRING_SVTOOLS_RTF_SV " "); // "}{ \sv " - rBuffer.append( msfilter::rtfutil::OutString( rValue, rExport.eCurrentEncoding ) ); - rBuffer.append( "}}" ); + rBuffer.append(msfilter::rtfutil::OutString(rValue, rExport.eCurrentEncoding)); + rBuffer.append("}}"); } -static OString ExportPICT( const SwFlyFrmFmt* pFlyFrmFmt, const Size &rOrig, const Size &rRendered, const Size &rMapped, - const SwCropGrf &rCr, const char *pBLIPType, const sal_uInt8 *pGraphicAry, - unsigned long nSize, const RtfExport& rExport, SvStream *pStream = 0 ) +static OString ExportPICT(const SwFlyFrmFmt* pFlyFrmFmt, const Size& rOrig, const Size& rRendered, const Size& rMapped, + const SwCropGrf& rCr, const char* pBLIPType, const sal_uInt8* pGraphicAry, + unsigned long nSize, const RtfExport& rExport, SvStream* pStream = 0) { OStringBuffer aRet; if (pBLIPType && nSize && pGraphicAry) @@ -3567,24 +3657,24 @@ static OString ExportPICT( const SwFlyFrmFmt* pFlyFrmFmt, const Size &rOrig, con aRet.append("{" OOO_STRING_SVTOOLS_RTF_PICT); - if( pFlyFrmFmt ) + if (pFlyFrmFmt) { OUString sDescription = pFlyFrmFmt->GetObjDescription(); //write picture properties - wzDescription at first //looks like: "{\*\picprop{\sp{\sn PropertyName}{\sv PropertyValue}}}" - aRet.append( "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_PICPROP );//"{\*\picprop - lcl_AppendSP( aRet, "wzDescription", sDescription, rExport ); + aRet.append("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_PICPROP); //"{\*\picprop + lcl_AppendSP(aRet, "wzDescription", sDescription, rExport); OUString sName = pFlyFrmFmt->GetObjTitle(); - lcl_AppendSP( aRet, "wzName", sName, rExport ); - aRet.append( "}" ); //"}" + lcl_AppendSP(aRet, "wzName", sName, rExport); + aRet.append("}"); //"}" } long nXCroppedSize = rOrig.Width()-(rCr.GetLeft() + rCr.GetRight()); long nYCroppedSize = rOrig.Height()-(rCr.GetTop() + rCr.GetBottom()); /* Graphic with a zero height or width, typically copied from webpages, caused crashes. */ - if( !nXCroppedSize ) + if (!nXCroppedSize) nXCroppedSize = 100; - if( !nYCroppedSize ) + if (!nYCroppedSize) nYCroppedSize = 100; //Given the original size and taking cropping into account @@ -3622,14 +3712,14 @@ static OString ExportPICT( const SwFlyFrmFmt* pFlyFrmFmt, const Size &rOrig, con } aRet.append(SAL_NEWLINE_STRING); if (pStream) - pStream->WriteCharPtr( aRet.makeStringAndClear().getStr() ); + pStream->WriteCharPtr(aRet.makeStringAndClear().getStr()); if (pStream) RtfAttributeOutput::WriteHex(pGraphicAry, nSize, pStream); else aRet.append(RtfAttributeOutput::WriteHex(pGraphicAry, nSize)); aRet.append('}'); if (pStream) - pStream->WriteCharPtr( aRet.makeStringAndClear().getStr() ); + pStream->WriteCharPtr(aRet.makeStringAndClear().getStr()); } return aRet.makeStringAndClear(); } @@ -3643,7 +3733,7 @@ void RtfAttributeOutput::FlyFrameOLEReplacement(const SwFlyFrmFmt* pFlyFrmFmt, S aRendered.Height() = rSize.Height(); const Graphic* pGraphic = rOLENode.GetGraphic(); Size aMapped(pGraphic->GetPrefSize()); - const SwCropGrf &rCr = (const SwCropGrf &)rOLENode.GetAttr(RES_GRFATR_CROPGRF); + const SwCropGrf& rCr = (const SwCropGrf&)rOLENode.GetAttr(RES_GRFATR_CROPGRF); const sal_Char* pBLIPType = OOO_STRING_SVTOOLS_RTF_PNGBLIP; const sal_uInt8* pGraphicAry = 0; SvMemoryStream aStream; @@ -3652,7 +3742,7 @@ void RtfAttributeOutput::FlyFrameOLEReplacement(const SwFlyFrmFmt* pFlyFrmFmt, S aStream.Seek(STREAM_SEEK_TO_END); sal_uInt32 nSize = aStream.Tell(); pGraphicAry = (sal_uInt8*)aStream.GetData(); - m_aRunText->append(ExportPICT( pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport )); + m_aRunText->append(ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport)); m_aRunText->append("}"); // shppict m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_NONSHPPICT); pBLIPType = OOO_STRING_SVTOOLS_RTF_WMETAFILE; @@ -3662,7 +3752,7 @@ void RtfAttributeOutput::FlyFrameOLEReplacement(const SwFlyFrmFmt* pFlyFrmFmt, S aWmfStream.Seek(STREAM_SEEK_TO_END); nSize = aWmfStream.Tell(); pGraphicAry = (sal_uInt8*)aWmfStream.GetData(); - m_aRunText->append(ExportPICT( pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport )); + m_aRunText->append(ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport)); m_aRunText->append("}"); // nonshppict } @@ -3686,7 +3776,7 @@ bool RtfAttributeOutput::FlyFrameOLEMath(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENod // so help it with an intermediate cast. I'm not sure what exactly the problem is, seems to be unrelated // to RTLD_GLOBAL, so most probably a gcc bug. oox::FormulaExportBase* pBase = dynamic_cast<oox::FormulaExportBase*>(dynamic_cast<SfxBaseModel*>(xClosable.get())); - assert( pBase != NULL ); + assert(pBase != NULL); OStringBuffer aBuf; if (pBase) pBase->writeFormulaRtf(aBuf, m_rExport.eCurrentEncoding); @@ -3700,7 +3790,7 @@ bool RtfAttributeOutput::FlyFrameOLEMath(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENod return true; } -void RtfAttributeOutput::FlyFrameOLE( const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize ) +void RtfAttributeOutput::FlyFrameOLE(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -3710,7 +3800,7 @@ void RtfAttributeOutput::FlyFrameOLE( const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& FlyFrameOLEReplacement(pFlyFrmFmt, rOLENode, rSize); } -void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const SwGrfNode* pGrfNode) +void RtfAttributeOutput::FlyFrameGraphic(const SwFlyFrmFmt* pFlyFrmFmt, const SwGrfNode* pGrfNode) { SAL_INFO("sw.rtf", OSL_THIS_FUNC); @@ -3721,7 +3811,7 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S Graphic aGraphic(pGrfNode->GetGrf()); // If there is no graphic there is not much point in parsing it - if(aGraphic.GetType()==GRAPHIC_NONE) + if (aGraphic.GetType()==GRAPHIC_NONE) return; GfxLink aGraphicLink; @@ -3741,23 +3831,23 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S // #i15508# before GFX_LINK_TYPE_NATIVE_BMP was added the graphic data // (to be hold in pGraphicAry) was not available; thus for now to stay // compatible, keep it that way by assigning NULL value to pGraphicAry - case GFX_LINK_TYPE_NATIVE_BMP: + case GFX_LINK_TYPE_NATIVE_BMP: // pBLIPType = OOO_STRING_SVTOOLS_RTF_WBITMAP; - pGraphicAry = 0; - break; + pGraphicAry = 0; + break; - case GFX_LINK_TYPE_NATIVE_JPG: - pBLIPType = OOO_STRING_SVTOOLS_RTF_JPEGBLIP; - break; - case GFX_LINK_TYPE_NATIVE_PNG: - pBLIPType = OOO_STRING_SVTOOLS_RTF_PNGBLIP; - break; - case GFX_LINK_TYPE_NATIVE_WMF: - pBLIPType = - IsEMF(pGraphicAry, nSize) ? OOO_STRING_SVTOOLS_RTF_EMFBLIP : OOO_STRING_SVTOOLS_RTF_WMETAFILE; - break; - default: - break; + case GFX_LINK_TYPE_NATIVE_JPG: + pBLIPType = OOO_STRING_SVTOOLS_RTF_JPEGBLIP; + break; + case GFX_LINK_TYPE_NATIVE_PNG: + pBLIPType = OOO_STRING_SVTOOLS_RTF_PNGBLIP; + break; + case GFX_LINK_TYPE_NATIVE_WMF: + pBLIPType = + IsEMF(pGraphicAry, nSize) ? OOO_STRING_SVTOOLS_RTF_EMFBLIP : OOO_STRING_SVTOOLS_RTF_WMETAFILE; + break; + default: + break; } } @@ -3765,10 +3855,10 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S if (!pGraphicAry) { if (ERRCODE_NONE == GraphicConverter::Export(aStream, aGraphic, - (eGraphicType == GRAPHIC_BITMAP) ? CVT_PNG : CVT_WMF)) + (eGraphicType == GRAPHIC_BITMAP) ? CVT_PNG : CVT_WMF)) { pBLIPType = (eGraphicType == GRAPHIC_BITMAP) ? - OOO_STRING_SVTOOLS_RTF_PNGBLIP : OOO_STRING_SVTOOLS_RTF_WMETAFILE; + OOO_STRING_SVTOOLS_RTF_PNGBLIP : OOO_STRING_SVTOOLS_RTF_WMETAFILE; aStream.Seek(STREAM_SEEK_TO_END); nSize = aStream.Tell(); pGraphicAry = (sal_uInt8*)aStream.GetData(); @@ -3777,7 +3867,7 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S Size aMapped(eGraphicType == GRAPHIC_BITMAP ? aGraphic.GetSizePixel() : aGraphic.GetPrefSize()); - const SwCropGrf &rCr = (const SwCropGrf &)pGrfNode->GetAttr(RES_GRFATR_CROPGRF); + const SwCropGrf& rCr = (const SwCropGrf&)pGrfNode->GetAttr(RES_GRFATR_CROPGRF); //Get original size in twips Size aSize(sw::util::GetSwappedInSize(*pGrfNode)); @@ -3797,10 +3887,10 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S */ bool bIsWMF = pBLIPType && std::strcmp(pBLIPType, OOO_STRING_SVTOOLS_RTF_WMETAFILE) == 0; if (!bIsWMF) - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPPICT ); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPPICT); if (pBLIPType) - ExportPICT( pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm() ); + ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm()); else { aStream.Seek(0); @@ -3810,12 +3900,12 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S nSize = aStream.Tell(); pGraphicAry = (sal_uInt8*)aStream.GetData(); - ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm() ); + ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm()); } if (!bIsWMF) { - m_rExport.Strm().WriteCharPtr( "}" "{" OOO_STRING_SVTOOLS_RTF_NONSHPPICT ); + m_rExport.Strm().WriteCharPtr("}" "{" OOO_STRING_SVTOOLS_RTF_NONSHPPICT); aStream.Seek(0); GraphicConverter::Export(aStream, aGraphic, CVT_WMF); @@ -3824,25 +3914,25 @@ void RtfAttributeOutput::FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const S nSize = aStream.Tell(); pGraphicAry = (sal_uInt8*)aStream.GetData(); - ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm() ); + ExportPICT(pFlyFrmFmt, aSize, aRendered, aMapped, rCr, pBLIPType, pGraphicAry, nSize, m_rExport, &m_rExport.Strm()); - m_rExport.Strm().WriteChar( '}' ); + m_rExport.Strm().WriteChar('}'); } - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ); + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING); } void RtfAttributeOutput::BulletDefinition(int /*nId*/, const Graphic& rGraphic, Size aSize) { - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPPICT ); - m_rExport.Strm().WriteCharPtr( "{" OOO_STRING_SVTOOLS_RTF_PICT OOO_STRING_SVTOOLS_RTF_PNGBLIP ); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_SHPPICT); + m_rExport.Strm().WriteCharPtr("{" OOO_STRING_SVTOOLS_RTF_PICT OOO_STRING_SVTOOLS_RTF_PNGBLIP); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_PICWGOAL ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_PICWGOAL); m_rExport.OutULong(aSize.Width()); - m_rExport.Strm().WriteCharPtr( OOO_STRING_SVTOOLS_RTF_PICHGOAL ); + m_rExport.Strm().WriteCharPtr(OOO_STRING_SVTOOLS_RTF_PICHGOAL); m_rExport.OutULong(aSize.Height()); - m_rExport.Strm().WriteCharPtr( SAL_NEWLINE_STRING ); + m_rExport.Strm().WriteCharPtr(SAL_NEWLINE_STRING); const sal_uInt8* pGraphicAry = 0; SvMemoryStream aStream; if (GraphicConverter::Export(aStream, rGraphic, CVT_PNG) != ERRCODE_NONE) @@ -3851,7 +3941,7 @@ void RtfAttributeOutput::BulletDefinition(int /*nId*/, const Graphic& rGraphic, sal_uInt32 nSize = aStream.Tell(); pGraphicAry = (sal_uInt8*)aStream.GetData(); RtfAttributeOutput::WriteHex(pGraphicAry, nSize, &m_rExport.Strm()); - m_rExport.Strm().WriteCharPtr( "}}" ); // pict, shppict + m_rExport.Strm().WriteCharPtr("}}"); // pict, shppict } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/rtfattributeoutput.hxx b/sw/source/filter/ww8/rtfattributeoutput.hxx index fbb191a49e91..f43d3d88e6ff 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.hxx +++ b/sw/source/filter/ww8/rtfattributeoutput.hxx @@ -39,13 +39,13 @@ class RtfAttributeOutput : public AttributeOutputBase friend class RtfStringBufferValue; public: /// Export the state of RTL/CJK. - virtual void RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript ) SAL_OVERRIDE; + virtual void RTLAndCJKState(bool bIsRTL, sal_uInt16 nScript) SAL_OVERRIDE; /// Start of the paragraph. - virtual void StartParagraph( ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo ) SAL_OVERRIDE; + virtual void StartParagraph(ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo) SAL_OVERRIDE; /// End of the paragraph. - virtual void EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ) SAL_OVERRIDE; + virtual void EndParagraph(ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) SAL_OVERRIDE; /// Empty paragraph. virtual void EmptyParagraph() SAL_OVERRIDE; @@ -57,10 +57,10 @@ public: virtual void StartParagraphProperties() SAL_OVERRIDE; /// Called after we end outputting the attributes. - virtual void EndParagraphProperties( const SfxItemSet* pParagraphMarkerProperties, const SwRedlineData* pRedlineData, const SwRedlineData* pRedlineParagraphMarkerDeleted, const SwRedlineData* pRedlineParagraphMarkerInserted ) SAL_OVERRIDE; + virtual void EndParagraphProperties(const SfxItemSet* pParagraphMarkerProperties, const SwRedlineData* pRedlineData, const SwRedlineData* pRedlineParagraphMarkerDeleted, const SwRedlineData* pRedlineParagraphMarkerInserted) SAL_OVERRIDE; /// Start of the text run. - virtual void StartRun( const SwRedlineData* pRedlineData, bool bSingleEmptyRun = false ) SAL_OVERRIDE; + virtual void StartRun(const SwRedlineData* pRedlineData, bool bSingleEmptyRun = false) SAL_OVERRIDE; /// End of the text run. virtual void EndRun() SAL_OVERRIDE; @@ -69,92 +69,92 @@ public: virtual void StartRunProperties() SAL_OVERRIDE; /// Called after we end outputting the attributes. - virtual void EndRunProperties( const SwRedlineData* pRedlineData ) SAL_OVERRIDE; + virtual void EndRunProperties(const SwRedlineData* pRedlineData) SAL_OVERRIDE; /// Output text (inside a run). - virtual void RunText( const OUString& rText, rtl_TextEncoding eCharSet = RTL_TEXTENCODING_UTF8 ) SAL_OVERRIDE; + virtual void RunText(const OUString& rText, rtl_TextEncoding eCharSet = RTL_TEXTENCODING_UTF8) SAL_OVERRIDE; // Access to (anyway) private buffers, used by the sdr exporter OStringBuffer& RunText(); OStringBuffer& Styles(); /// Output text (without markup). - virtual void RawText( const OUString& rText, bool bForceUnicode, rtl_TextEncoding eCharSet ) SAL_OVERRIDE; + virtual void RawText(const OUString& rText, bool bForceUnicode, rtl_TextEncoding eCharSet) SAL_OVERRIDE; /// Output ruby start. - virtual void StartRuby( const SwTxtNode& rNode, sal_Int32 nPos, const SwFmtRuby& rRuby ) SAL_OVERRIDE; + virtual void StartRuby(const SwTxtNode& rNode, sal_Int32 nPos, const SwFmtRuby& rRuby) SAL_OVERRIDE; /// Output ruby end. virtual void EndRuby() SAL_OVERRIDE; /// Output URL start. - virtual bool StartURL( const OUString& rUrl, const OUString& rTarget ) SAL_OVERRIDE; + virtual bool StartURL(const OUString& rUrl, const OUString& rTarget) SAL_OVERRIDE; /// Output URL end. virtual bool EndURL() SAL_OVERRIDE; - virtual void FieldVanish( const OUString& rTxt, ww::eField eType ) SAL_OVERRIDE; + virtual void FieldVanish(const OUString& rTxt, ww::eField eType) SAL_OVERRIDE; /// Output redlining. /// /// The common attribute that can be among the run properties. - virtual void Redline( const SwRedlineData* pRedline ) SAL_OVERRIDE; + virtual void Redline(const SwRedlineData* pRedline) SAL_OVERRIDE; - virtual void FormatDrop( const SwTxtNode& rNode, const SwFmtDrop& rSwFmtDrop, sal_uInt16 nStyle, ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ) SAL_OVERRIDE; + virtual void FormatDrop(const SwTxtNode& rNode, const SwFmtDrop& rSwFmtDrop, sal_uInt16 nStyle, ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) SAL_OVERRIDE; /// Output style. - virtual void ParagraphStyle( sal_uInt16 nStyle ) SAL_OVERRIDE; - - virtual void TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableRowRedline( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableCellRedline( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableNodeInfo( ww8::WW8TableNodeInfo::Pointer_t pNodeInfo ) SAL_OVERRIDE; - virtual void TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner ) SAL_OVERRIDE; - virtual void TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableSpacing( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ) SAL_OVERRIDE; - virtual void TableRowEnd( sal_uInt32 nDepth ) SAL_OVERRIDE; + virtual void ParagraphStyle(sal_uInt16 nStyle) SAL_OVERRIDE; + + virtual void TableInfoCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableInfoRow(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableDefinition(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableDefaultBorders(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableBackgrounds(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableRowRedline(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableCellRedline(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableHeight(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableCanSplit(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableBidi(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableVerticalCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableNodeInfo(ww8::WW8TableNodeInfo::Pointer_t pNodeInfo) SAL_OVERRIDE; + virtual void TableNodeInfoInner(ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner) SAL_OVERRIDE; + virtual void TableOrientation(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableSpacing(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner) SAL_OVERRIDE; + virtual void TableRowEnd(sal_uInt32 nDepth) SAL_OVERRIDE; /// Start of the styles table. virtual void StartStyles() SAL_OVERRIDE; /// End of the styles table. - virtual void EndStyles( sal_uInt16 nNumberOfStyles ) SAL_OVERRIDE; + virtual void EndStyles(sal_uInt16 nNumberOfStyles) SAL_OVERRIDE; /// Write default style. - virtual void DefaultStyle( sal_uInt16 nStyle ) SAL_OVERRIDE; + virtual void DefaultStyle(sal_uInt16 nStyle) SAL_OVERRIDE; /// Start of a style in the styles table. - virtual void StartStyle( const OUString& rName, StyleType eType, - sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 nWwId, sal_uInt16 nId, - bool bAutoUpdate ) SAL_OVERRIDE; + virtual void StartStyle(const OUString& rName, StyleType eType, + sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 nWwId, sal_uInt16 nId, + bool bAutoUpdate) SAL_OVERRIDE; /// End of a style in the styles table. virtual void EndStyle() SAL_OVERRIDE; /// Start of (paragraph or run) properties of a style. - virtual void StartStyleProperties( bool bParProp, sal_uInt16 nStyle ) SAL_OVERRIDE; + virtual void StartStyleProperties(bool bParProp, sal_uInt16 nStyle) SAL_OVERRIDE; /// End of (paragraph or run) properties of a style. - virtual void EndStyleProperties( bool bParProp ) SAL_OVERRIDE; + virtual void EndStyleProperties(bool bParProp) SAL_OVERRIDE; /// Numbering rule and Id. - virtual void OutlineNumbering( sal_uInt8 nLvl, const SwNumFmt &rNFmt, const SwFmt &rFmt ) SAL_OVERRIDE; + virtual void OutlineNumbering(sal_uInt8 nLvl, const SwNumFmt& rNFmt, const SwFmt& rFmt) SAL_OVERRIDE; /// Page break /// As a paragraph property - the paragraph should be on the next page. - virtual void PageBreakBefore( bool bBreak ) SAL_OVERRIDE; + virtual void PageBreakBefore(bool bBreak) SAL_OVERRIDE; /// Write a section break /// msword::ColumnBreak or msword::PageBreak - virtual void SectionBreak( sal_uInt8 nC, const WW8_SepInfo* pSectionInfo = NULL ) SAL_OVERRIDE; + virtual void SectionBreak(sal_uInt8 nC, const WW8_SepInfo* pSectionInfo = NULL) SAL_OVERRIDE; /// Start of the section properties. virtual void StartSection() SAL_OVERRIDE; @@ -163,291 +163,291 @@ public: virtual void EndSection() SAL_OVERRIDE; /// Protection of forms. - virtual void SectionFormProtection( bool bProtected ) SAL_OVERRIDE; + virtual void SectionFormProtection(bool bProtected) SAL_OVERRIDE; /// Numbering of the lines in the document. - virtual void SectionLineNumbering( sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo ) SAL_OVERRIDE; + virtual void SectionLineNumbering(sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo) SAL_OVERRIDE; /// Has different headers/footers for the title page. virtual void SectionTitlePage() SAL_OVERRIDE; /// Description of the page borders. - virtual void SectionPageBorders( const SwFrmFmt* pFmt, const SwFrmFmt* pFirstPageFmt ) SAL_OVERRIDE; + virtual void SectionPageBorders(const SwFrmFmt* pFmt, const SwFrmFmt* pFirstPageFmt) SAL_OVERRIDE; /// Columns populated from right/numbers on the right side? - virtual void SectionBiDi( bool bBiDi ) SAL_OVERRIDE; + virtual void SectionBiDi(bool bBiDi) SAL_OVERRIDE; /// The style of the page numbers. /// - virtual void SectionPageNumbering( sal_uInt16 nNumType, ::boost::optional<sal_uInt16> oPageRestartNumber ) SAL_OVERRIDE; + virtual void SectionPageNumbering(sal_uInt16 nNumType, ::boost::optional<sal_uInt16> oPageRestartNumber) SAL_OVERRIDE; /// The type of breaking. - virtual void SectionType( sal_uInt8 nBreakCode ) SAL_OVERRIDE; + virtual void SectionType(sal_uInt8 nBreakCode) SAL_OVERRIDE; /// Definition of a numbering instance. - virtual void NumberingDefinition( sal_uInt16 nId, const SwNumRule &rRule ) SAL_OVERRIDE; + virtual void NumberingDefinition(sal_uInt16 nId, const SwNumRule& rRule) SAL_OVERRIDE; /// Start of the abstract numbering definition instance. - virtual void StartAbstractNumbering( sal_uInt16 nId ) SAL_OVERRIDE; + virtual void StartAbstractNumbering(sal_uInt16 nId) SAL_OVERRIDE; /// End of the abstract numbering definition instance. virtual void EndAbstractNumbering() SAL_OVERRIDE; /// All the numbering level information. - virtual void NumberingLevel( sal_uInt8 nLevel, - sal_uInt16 nStart, - sal_uInt16 nNumberingType, - SvxAdjust eAdjust, - const sal_uInt8 *pNumLvlPos, - sal_uInt8 nFollow, - const wwFont *pFont, - const SfxItemSet *pOutSet, - sal_Int16 nIndentAt, - sal_Int16 nFirstLineIndex, - sal_Int16 nListTabPos, - const OUString &rNumberingString, - const SvxBrushItem* pBrush = 0) SAL_OVERRIDE;//For i120928,to export graphic of bullet - - void WriteField_Impl( const SwField* pFld, ww::eField eType, const OUString& rFldCmd, sal_uInt8 nMode ); - void WriteBookmarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ); - void WriteAnnotationMarks_Impl( std::vector< OUString >& rStarts, std::vector< OUString >& rEnds ); - void WriteHeaderFooter_Impl( const SwFrmFmt& rFmt, bool bHeader, const sal_Char* pStr, bool bTitlepg ); + virtual void NumberingLevel(sal_uInt8 nLevel, + sal_uInt16 nStart, + sal_uInt16 nNumberingType, + SvxAdjust eAdjust, + const sal_uInt8* pNumLvlPos, + sal_uInt8 nFollow, + const wwFont* pFont, + const SfxItemSet* pOutSet, + sal_Int16 nIndentAt, + sal_Int16 nFirstLineIndex, + sal_Int16 nListTabPos, + const OUString& rNumberingString, + const SvxBrushItem* pBrush = 0) SAL_OVERRIDE;//For i120928,to export graphic of bullet + + void WriteField_Impl(const SwField* pFld, ww::eField eType, const OUString& rFldCmd, sal_uInt8 nMode); + void WriteBookmarks_Impl(std::vector< OUString >& rStarts, std::vector< OUString >& rEnds); + void WriteAnnotationMarks_Impl(std::vector< OUString >& rStarts, std::vector< OUString >& rEnds); + void WriteHeaderFooter_Impl(const SwFrmFmt& rFmt, bool bHeader, const sal_Char* pStr, bool bTitlepg); protected: /// Output frames - the implementation. - virtual void OutputFlyFrame_Impl( const sw::Frame& rFmt, const Point& rNdTopLeft ) SAL_OVERRIDE; + virtual void OutputFlyFrame_Impl(const sw::Frame& rFmt, const Point& rNdTopLeft) SAL_OVERRIDE; /// Sfx item Sfx item RES_CHRATR_CASEMAP - virtual void CharCaseMap( const SvxCaseMapItem& rCaseMap ) SAL_OVERRIDE; + virtual void CharCaseMap(const SvxCaseMapItem& rCaseMap) SAL_OVERRIDE; /// Sfx item Sfx item RES_CHRATR_COLOR - virtual void CharColor( const SvxColorItem& rColor) SAL_OVERRIDE; + virtual void CharColor(const SvxColorItem& rColor) SAL_OVERRIDE; /// Sfx item Sfx item RES_CHRATR_CONTOUR - virtual void CharContour( const SvxContourItem& rContour ) SAL_OVERRIDE; + virtual void CharContour(const SvxContourItem& rContour) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CROSSEDOUT - virtual void CharCrossedOut( const SvxCrossedOutItem& rCrossedOut ) SAL_OVERRIDE; + virtual void CharCrossedOut(const SvxCrossedOutItem& rCrossedOut) SAL_OVERRIDE; /// Sfx item RES_CHRATR_ESCAPEMENT - virtual void CharEscapement( const SvxEscapementItem& rEscapement ) SAL_OVERRIDE; + virtual void CharEscapement(const SvxEscapementItem& rEscapement) SAL_OVERRIDE; /// Sfx item RES_CHRATR_FONT - virtual void CharFont( const SvxFontItem& rFont ) SAL_OVERRIDE; + virtual void CharFont(const SvxFontItem& rFont) SAL_OVERRIDE; /// Sfx item RES_CHRATR_FONTSIZE - virtual void CharFontSize( const SvxFontHeightItem& rFontSize ) SAL_OVERRIDE; + virtual void CharFontSize(const SvxFontHeightItem& rFontSize) SAL_OVERRIDE; /// Sfx item RES_CHRATR_KERNING - virtual void CharKerning( const SvxKerningItem& rKerning ) SAL_OVERRIDE; + virtual void CharKerning(const SvxKerningItem& rKerning) SAL_OVERRIDE; /// Sfx item RES_CHRATR_LANGUAGE - virtual void CharLanguage( const SvxLanguageItem& rLanguage ) SAL_OVERRIDE; + virtual void CharLanguage(const SvxLanguageItem& rLanguage) SAL_OVERRIDE; /// Sfx item RES_CHRATR_POSTURE - virtual void CharPosture( const SvxPostureItem& rPosture ) SAL_OVERRIDE; + virtual void CharPosture(const SvxPostureItem& rPosture) SAL_OVERRIDE; /// Sfx item RES_CHRATR_SHADOWED - virtual void CharShadow( const SvxShadowedItem& rShadow ) SAL_OVERRIDE; + virtual void CharShadow(const SvxShadowedItem& rShadow) SAL_OVERRIDE; /// Sfx item RES_CHRATR_UNDERLINE - virtual void CharUnderline( const SvxUnderlineItem& rUnderline ) SAL_OVERRIDE; + virtual void CharUnderline(const SvxUnderlineItem& rUnderline) SAL_OVERRIDE; /// Sfx item RES_CHRATR_WEIGHT - virtual void CharWeight( const SvxWeightItem& rWeight ) SAL_OVERRIDE; + virtual void CharWeight(const SvxWeightItem& rWeight) SAL_OVERRIDE; /// Sfx item RES_CHRATR_AUTOKERN - virtual void CharAutoKern( const SvxAutoKernItem& ) SAL_OVERRIDE; + virtual void CharAutoKern(const SvxAutoKernItem&) SAL_OVERRIDE; /// Sfx item RES_CHRATR_BLINK - virtual void CharAnimatedText( const SvxBlinkItem& rBlink ) SAL_OVERRIDE; + virtual void CharAnimatedText(const SvxBlinkItem& rBlink) SAL_OVERRIDE; /// Sfx item RES_CHRATR_BACKGROUND - virtual void CharBackground( const SvxBrushItem& rBrush ) SAL_OVERRIDE; + virtual void CharBackground(const SvxBrushItem& rBrush) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CJK_FONT - virtual void CharFontCJK( const SvxFontItem& rFont ) SAL_OVERRIDE; + virtual void CharFontCJK(const SvxFontItem& rFont) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CJK_FONTSIZE - virtual void CharFontSizeCJK( const SvxFontHeightItem& rFontSize ) SAL_OVERRIDE; + virtual void CharFontSizeCJK(const SvxFontHeightItem& rFontSize) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CJK_LANGUAGE - virtual void CharLanguageCJK( const SvxLanguageItem& rLanguageItem ) SAL_OVERRIDE; + virtual void CharLanguageCJK(const SvxLanguageItem& rLanguageItem) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CJK_POSTURE - virtual void CharPostureCJK( const SvxPostureItem& rPosture ) SAL_OVERRIDE; + virtual void CharPostureCJK(const SvxPostureItem& rPosture) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CJK_WEIGHT - virtual void CharWeightCJK( const SvxWeightItem& rWeight ) SAL_OVERRIDE; + virtual void CharWeightCJK(const SvxWeightItem& rWeight) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CTL_FONT - virtual void CharFontCTL( const SvxFontItem& rFont ) SAL_OVERRIDE; + virtual void CharFontCTL(const SvxFontItem& rFont) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CTL_FONTSIZE - virtual void CharFontSizeCTL( const SvxFontHeightItem& rFontSize ) SAL_OVERRIDE; + virtual void CharFontSizeCTL(const SvxFontHeightItem& rFontSize) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CTL_LANGUAGE - virtual void CharLanguageCTL( const SvxLanguageItem& rLanguageItem ) SAL_OVERRIDE; + virtual void CharLanguageCTL(const SvxLanguageItem& rLanguageItem) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CTL_POSTURE - virtual void CharPostureCTL( const SvxPostureItem& rWeight ) SAL_OVERRIDE; + virtual void CharPostureCTL(const SvxPostureItem& rWeight) SAL_OVERRIDE; /// Sfx item RES_CHRATR_CTL_WEIGHT - virtual void CharWeightCTL( const SvxWeightItem& rWeight ) SAL_OVERRIDE; + virtual void CharWeightCTL(const SvxWeightItem& rWeight) SAL_OVERRIDE; /// Sfx item RES_CHRATR_BidiRTL - virtual void CharBidiRTL( const SfxPoolItem& ) SAL_OVERRIDE; + virtual void CharBidiRTL(const SfxPoolItem&) SAL_OVERRIDE; /// Sfx item RES_CHRATR_IdctHint - virtual void CharIdctHint( const SfxPoolItem& ) SAL_OVERRIDE; + virtual void CharIdctHint(const SfxPoolItem&) SAL_OVERRIDE; /// Sfx item RES_CHRATR_ROTATE - virtual void CharRotate( const SvxCharRotateItem& rRotate ) SAL_OVERRIDE; + virtual void CharRotate(const SvxCharRotateItem& rRotate) SAL_OVERRIDE; /// Sfx item RES_CHRATR_EMPHASIS_MARK - virtual void CharEmphasisMark( const SvxEmphasisMarkItem& rEmphasisMark ) SAL_OVERRIDE; + virtual void CharEmphasisMark(const SvxEmphasisMarkItem& rEmphasisMark) SAL_OVERRIDE; /// Sfx item RES_CHRATR_TWO_LINES - virtual void CharTwoLines( const SvxTwoLinesItem& rTwoLines ) SAL_OVERRIDE; + virtual void CharTwoLines(const SvxTwoLinesItem& rTwoLines) SAL_OVERRIDE; /// Sfx item RES_CHRATR_SCALEW - virtual void CharScaleWidth( const SvxCharScaleWidthItem& rScaleWidth ) SAL_OVERRIDE; + virtual void CharScaleWidth(const SvxCharScaleWidthItem& rScaleWidth) SAL_OVERRIDE; /// Sfx item RES_CHRATR_RELIEF - virtual void CharRelief( const SvxCharReliefItem& rRelief) SAL_OVERRIDE; + virtual void CharRelief(const SvxCharReliefItem& rRelief) SAL_OVERRIDE; /// Sfx item RES_CHRATR_HIDDEN - virtual void CharHidden( const SvxCharHiddenItem& rHidden ) SAL_OVERRIDE; + virtual void CharHidden(const SvxCharHiddenItem& rHidden) SAL_OVERRIDE; /// Sfx item RES_CHRATR_BOX - virtual void CharBorder( const ::editeng::SvxBorderLine* pAllBorder, const sal_uInt16 nDist, const bool bShadow ) SAL_OVERRIDE; + virtual void CharBorder(const ::editeng::SvxBorderLine* pAllBorder, const sal_uInt16 nDist, const bool bShadow) SAL_OVERRIDE; /// Sfx item RES_CHRATR_HIGHLIGHT - virtual void CharHighlight( const SvxBrushItem& ) SAL_OVERRIDE {}; + virtual void CharHighlight(const SvxBrushItem&) SAL_OVERRIDE {}; /// Sfx item RES_TXTATR_INETFMT - virtual void TextINetFormat( const SwFmtINetFmt& ) SAL_OVERRIDE; + virtual void TextINetFormat(const SwFmtINetFmt&) SAL_OVERRIDE; /// Sfx item RES_TXTATR_CHARFMT - virtual void TextCharFormat( const SwFmtCharFmt& ) SAL_OVERRIDE; + virtual void TextCharFormat(const SwFmtCharFmt&) SAL_OVERRIDE; /// Sfx item RES_TXTATR_FTN - virtual void TextFootnote_Impl( const SwFmtFtn& ) SAL_OVERRIDE; + virtual void TextFootnote_Impl(const SwFmtFtn&) SAL_OVERRIDE; /// Sfx item RES_PARATR_LINESPACING - virtual void ParaLineSpacing_Impl( short nSpace, short nMulti ) SAL_OVERRIDE; + virtual void ParaLineSpacing_Impl(short nSpace, short nMulti) SAL_OVERRIDE; /// Sfx item RES_PARATR_ADJUST - virtual void ParaAdjust( const SvxAdjustItem& rAdjust ) SAL_OVERRIDE; + virtual void ParaAdjust(const SvxAdjustItem& rAdjust) SAL_OVERRIDE; /// Sfx item RES_PARATR_SPLIT - virtual void ParaSplit( const SvxFmtSplitItem& rSplit ) SAL_OVERRIDE; + virtual void ParaSplit(const SvxFmtSplitItem& rSplit) SAL_OVERRIDE; /// Sfx item RES_PARATR_WIDOWS - virtual void ParaWidows( const SvxWidowsItem& rWidows ) SAL_OVERRIDE; + virtual void ParaWidows(const SvxWidowsItem& rWidows) SAL_OVERRIDE; /// Sfx item RES_PARATR_TABSTOP - virtual void ParaTabStop( const SvxTabStopItem& rTabStop ) SAL_OVERRIDE; + virtual void ParaTabStop(const SvxTabStopItem& rTabStop) SAL_OVERRIDE; /// Sfx item RES_PARATR_HYPHENZONE - virtual void ParaHyphenZone( const SvxHyphenZoneItem& ) SAL_OVERRIDE; + virtual void ParaHyphenZone(const SvxHyphenZoneItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_NUMRULE - virtual void ParaNumRule_Impl( const SwTxtNode *pTxtNd, sal_Int32 nLvl, sal_Int32 nNumId ) SAL_OVERRIDE; + virtual void ParaNumRule_Impl(const SwTxtNode* pTxtNd, sal_Int32 nLvl, sal_Int32 nNumId) SAL_OVERRIDE; /// Sfx item RES_PARATR_SCRIPTSPACE - virtual void ParaScriptSpace( const SfxBoolItem& ) SAL_OVERRIDE; + virtual void ParaScriptSpace(const SfxBoolItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_HANGINGPUNCTUATION - virtual void ParaHangingPunctuation( const SfxBoolItem& ) SAL_OVERRIDE; + virtual void ParaHangingPunctuation(const SfxBoolItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_FORBIDDEN_RULES - virtual void ParaForbiddenRules( const SfxBoolItem& ) SAL_OVERRIDE; + virtual void ParaForbiddenRules(const SfxBoolItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_VERTALIGN - virtual void ParaVerticalAlign( const SvxParaVertAlignItem& rAlign ) SAL_OVERRIDE; + virtual void ParaVerticalAlign(const SvxParaVertAlignItem& rAlign) SAL_OVERRIDE; /// Sfx item RES_PARATR_SNAPTOGRID - virtual void ParaSnapToGrid( const SvxParaGridItem& ) SAL_OVERRIDE; + virtual void ParaSnapToGrid(const SvxParaGridItem&) SAL_OVERRIDE; /// Sfx item RES_FRM_SIZE - virtual void FormatFrameSize( const SwFmtFrmSize& ) SAL_OVERRIDE; + virtual void FormatFrameSize(const SwFmtFrmSize&) SAL_OVERRIDE; /// Sfx item RES_PAPER_BIN - virtual void FormatPaperBin( const SvxPaperBinItem& ) SAL_OVERRIDE; + virtual void FormatPaperBin(const SvxPaperBinItem&) SAL_OVERRIDE; /// Sfx item RES_LR_SPACE - virtual void FormatLRSpace( const SvxLRSpaceItem& rLRSpace ) SAL_OVERRIDE; + virtual void FormatLRSpace(const SvxLRSpaceItem& rLRSpace) SAL_OVERRIDE; /// Sfx item RES_UL_SPACE - virtual void FormatULSpace( const SvxULSpaceItem& rULSpace ) SAL_OVERRIDE; + virtual void FormatULSpace(const SvxULSpaceItem& rULSpace) SAL_OVERRIDE; /// Sfx item RES_SURROUND - virtual void FormatSurround( const SwFmtSurround& ) SAL_OVERRIDE; + virtual void FormatSurround(const SwFmtSurround&) SAL_OVERRIDE; /// Sfx item RES_VERT_ORIENT - virtual void FormatVertOrientation( const SwFmtVertOrient& ) SAL_OVERRIDE; + virtual void FormatVertOrientation(const SwFmtVertOrient&) SAL_OVERRIDE; /// Sfx item RES_HORI_ORIENT - virtual void FormatHorizOrientation( const SwFmtHoriOrient& ) SAL_OVERRIDE; + virtual void FormatHorizOrientation(const SwFmtHoriOrient&) SAL_OVERRIDE; /// Sfx item RES_ANCHOR - virtual void FormatAnchor( const SwFmtAnchor& ) SAL_OVERRIDE; + virtual void FormatAnchor(const SwFmtAnchor&) SAL_OVERRIDE; /// Sfx item RES_BACKGROUND - virtual void FormatBackground( const SvxBrushItem& ) SAL_OVERRIDE; + virtual void FormatBackground(const SvxBrushItem&) SAL_OVERRIDE; /// Sfx item RES_FILL_STYLE - virtual void FormatFillStyle( const XFillStyleItem& ) SAL_OVERRIDE; + virtual void FormatFillStyle(const XFillStyleItem&) SAL_OVERRIDE; /// Sfx item RES_FILL_GRADIENT - virtual void FormatFillGradient( const XFillGradientItem& ) SAL_OVERRIDE; + virtual void FormatFillGradient(const XFillGradientItem&) SAL_OVERRIDE; /// Sfx item RES_BOX - virtual void FormatBox( const SvxBoxItem& ) SAL_OVERRIDE; + virtual void FormatBox(const SvxBoxItem&) SAL_OVERRIDE; /// Sfx item RES_COL - virtual void FormatColumns_Impl( sal_uInt16 nCols, const SwFmtCol & rCol, bool bEven, SwTwips nPageSize ) SAL_OVERRIDE; + virtual void FormatColumns_Impl(sal_uInt16 nCols, const SwFmtCol& rCol, bool bEven, SwTwips nPageSize) SAL_OVERRIDE; /// Sfx item RES_KEEP - virtual void FormatKeep( const SvxFmtKeepItem& ) SAL_OVERRIDE; + virtual void FormatKeep(const SvxFmtKeepItem&) SAL_OVERRIDE; /// Sfx item RES_TEXTGRID - virtual void FormatTextGrid( const SwTextGridItem& ) SAL_OVERRIDE; + virtual void FormatTextGrid(const SwTextGridItem&) SAL_OVERRIDE; /// Sfx item RES_LINENUMBER - virtual void FormatLineNumbering( const SwFmtLineNumber& ) SAL_OVERRIDE; + virtual void FormatLineNumbering(const SwFmtLineNumber&) SAL_OVERRIDE; /// Sfx item RES_FRAMEDIR - virtual void FormatFrameDirection( const SvxFrameDirectionItem& ) SAL_OVERRIDE; + virtual void FormatFrameDirection(const SvxFrameDirectionItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_GRABBAG - virtual void ParaGrabBag( const SfxGrabBagItem& ) SAL_OVERRIDE; + virtual void ParaGrabBag(const SfxGrabBagItem&) SAL_OVERRIDE; /// Sfx item RES_CHRATR_GRABBAG - virtual void CharGrabBag( const SfxGrabBagItem& ) SAL_OVERRIDE; + virtual void CharGrabBag(const SfxGrabBagItem&) SAL_OVERRIDE; /// Sfx item RES_PARATR_OUTLINELEVEL - virtual void ParaOutlineLevel( const SfxUInt16Item& ) SAL_OVERRIDE; + virtual void ParaOutlineLevel(const SfxUInt16Item&) SAL_OVERRIDE; /// Write the expanded field - virtual void WriteExpand( const SwField* pFld ) SAL_OVERRIDE; + virtual void WriteExpand(const SwField* pFld) SAL_OVERRIDE; - virtual void RefField( const SwField& rFld, const OUString& rRef ) SAL_OVERRIDE; - virtual void HiddenField( const SwField& rFld ) SAL_OVERRIDE; - virtual void SetField( const SwField& rFld, ww::eField eType, const OUString& rCmd ) SAL_OVERRIDE; - virtual void PostitField( const SwField* pFld ) SAL_OVERRIDE; - virtual bool DropdownField( const SwField* pFld ) SAL_OVERRIDE; - virtual bool PlaceholderField( const SwField* pFld ) SAL_OVERRIDE; + virtual void RefField(const SwField& rFld, const OUString& rRef) SAL_OVERRIDE; + virtual void HiddenField(const SwField& rFld) SAL_OVERRIDE; + virtual void SetField(const SwField& rFld, ww::eField eType, const OUString& rCmd) SAL_OVERRIDE; + virtual void PostitField(const SwField* pFld) SAL_OVERRIDE; + virtual bool DropdownField(const SwField* pFld) SAL_OVERRIDE; + virtual bool PlaceholderField(const SwField* pFld) SAL_OVERRIDE; /// Reference to the export, where to get the data from - RtfExport &m_rExport; + RtfExport& m_rExport; private: /// Output graphic fly frames. - void FlyFrameGraphic( const SwFlyFrmFmt* pFlyFrmFmt, const SwGrfNode* pGrfNode ); - void FlyFrameOLE( const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize ); + void FlyFrameGraphic(const SwFlyFrmFmt* pFlyFrmFmt, const SwGrfNode* pGrfNode); + void FlyFrameOLE(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize); void FlyFrameOLEReplacement(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize); /// Math export. bool FlyFrameOLEMath(const SwFlyFrmFmt* pFlyFrmFmt, SwOLENode& rOLENode, const Size& rSize); @@ -455,17 +455,17 @@ private: /* * Table methods. */ - void InitTableHelper( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); - void StartTable( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); - void StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); - void StartTableCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); - void TableCellProperties( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); - void EndTableCell( ); - void EndTableRow( ); + void InitTableHelper(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner); + void StartTable(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner); + void StartTableRow(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner); + void StartTableCell(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner); + void TableCellProperties(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner); + void EndTableCell(); + void EndTableRow(); void EndTable(); /// End cell, row, and even the entire table if necessary. - void FinishTableRowCell( ww8::WW8TableNodeInfoInner::Pointer_t pInner, bool bForceEmptyParagraph = false ); + void FinishTableRowCell(ww8::WW8TableNodeInfoInner::Pointer_t pInner, bool bForceEmptyParagraph = false); void WriteTextFootnoteNumStr(const SwFmtFtn& rFootnote); @@ -515,7 +515,7 @@ private: /* * The current table helper. */ - SwWriteTable *m_pTableWrt; + SwWriteTable* m_pTableWrt; /* * Remember if we are in an open cell, or not. @@ -599,7 +599,7 @@ private: boost::optional<XFillStyle> m_oFillStyle; public: - RtfAttributeOutput( RtfExport &rExport ); + RtfAttributeOutput(RtfExport& rExport); virtual ~RtfAttributeOutput(); @@ -613,22 +613,22 @@ public: // These are used by wwFont::WriteRtf() /// Start the font. - void StartFont( const OUString& rFamilyName ) const; + void StartFont(const OUString& rFamilyName) const; /// End the font. void EndFont() const; /// Alternate name for the font. - void FontAlternateName( const OUString& rName ) const; + void FontAlternateName(const OUString& rName) const; /// Font charset. - void FontCharset( sal_uInt8 nCharSet ) const; + void FontCharset(sal_uInt8 nCharSet) const; /// Font family. - void FontFamilyType( FontFamily eFamily, const wwFont &rFont ) const; + void FontFamilyType(FontFamily eFamily, const wwFont& rFont) const; /// Font pitch. - void FontPitchType( FontPitch ePitch ) const; + void FontPitchType(FontPitch ePitch) const; /// Writes binary data as a hex dump. static OString WriteHex(const sal_uInt8* pData, sal_uInt32 nSize, SvStream* pStream = 0, sal_uInt32 nLimit = 64); |