svx/source/svdraw/svdotextdecomposition.cxx | 39 +++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-)
New commits: commit c2defbdb1bac442958e4a01258fb6e5f4c3ba234 Author: matteocam <matteo.campane...@gmail.com> Date: Fri May 29 15:08:57 2015 -0400 Inserts an arbitrary string in front of 1st para in next box Change-Id: If3d5257d5ebb866351fadbddc52be906e5d7aad5 diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index 5cdea14..5705da5 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -738,13 +738,44 @@ void SdrTextObj::impCopyTextInTextObj(SdrTextObj *pNextTextObj) const if ( this == pNextTextObj ) return; - SdrOutliner &rOutliner = ImpGetDrawOutliner(); - rOutliner.SetStatusEventHdl1(LINK(this,SdrTextObj,ImpDecomposeChainedText)); + SdrOutliner &rOutliner = ImpGetDrawOutliner(); + + // append a string in front of everything + // NOTE: Trying with set-text first - // Push text through the chain if there's any if (mpOverflowingText) { - pNextTextObj->NbcSetOutlinerParaObject(mpOverflowingText); + // Set text first + + rOutliner.SetText(*mpOverflowingText); + Paragraph *pFstPara = rOutliner.GetParagraph(0); + OUString aTxtFstPara = rOutliner.GetText(pFstPara); + + rOutliner.SetText("X" + aTxtFstPara, pFstPara); + // gets the whole thing + OutlinerParaObject *pNewText = rOutliner.CreateParaObject(); + // draws everything - result = "X" ++ overflowingText + pNextTextObj->NbcSetOutlinerParaObject(pNewText); } + + + /* + // Code inspired by SvxOutlinerForwarder::AppendTextPortion + sal_Int32 nLen = 0; + + EditEngine& rEditEngine = const_cast< EditEngine& >( rOutliner.GetEditEngine() ); + sal_Int32 nParaCount = rEditEngine.GetParagraphCount(); + DBG_ASSERT( 0 <= nPara && nPara < nParaCount, "paragraph index out of bounds" ); + if (0 <= nPara && nPara < nParaCount) + { + nLen = rEditEngine.GetTextLen( nPara ); + rEditEngine.QuickInsertText( rText, ESelection( nPara, nLen, nPara, nLen ) ); + } + * */ + + rOutliner.SetStatusEventHdl1(LINK(this,SdrTextObj,ImpDecomposeChainedText)); + + // Push text through the chain if there's any + rOutliner.SetStatusEventHdl1(Link()); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits