From 232ad2f2588beff50cb5c1f3b689c581ba317583 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 28 Nov 2012 11:59:00 +0100 Subject: API CHANGE: add a "position" parameter to XParagraph/TextPortionAppend methods So we can use the new RTF import for clipboard pastes in Writer without inserting text content to the end of the document only. Notes: - SwXText::insertTextPortion: the MovePara() call is removed, as all it did was trying to move the cursor beyond the end of the document. - SwRTFReader::Read: the double fake paragraph insertion / deletion is motivated by the ODT filter. - RtfFilter::filter: if TextInsertModeRange is not passed, then the behaviour is not changed. v2: - added missing @since tags - added insertTextContentWithProperties() method - removed unused appendParagraph() method Change-Id: I24cddb00a78e3b798e7d88764e59e6a77a6e98a4 Helped-by: Michael Stahl --- editeng/source/uno/unotext.cxx | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) (limited to 'editeng/source') diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx index 3b5033b6de3e..659f0f163978 100644 --- a/editeng/source/uno/unotext.cxx +++ b/editeng/source/uno/unotext.cxx @@ -2142,34 +2142,12 @@ void SvxPropertyValuesToItemSet( } } -// com::sun::star::text::XParagraphAppend (new import API) -uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextBase::appendParagraph( - const uno::Sequence< beans::PropertyValue >& rCharAndParaProps ) +uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextBase::finishParagraphInsert( + const uno::Sequence< beans::PropertyValue >& /*rCharAndParaProps*/, + const uno::Reference< text::XTextRange >& /*rTextRange*/ ) throw (lang::IllegalArgumentException, beans::UnknownPropertyException, uno::RuntimeException) { - SolarMutexGuard aGuard; uno::Reference< text::XTextRange > xRet; - SvxEditSource *pEditSource = GetEditSource(); - SvxTextForwarder *pTextForwarder = pEditSource ? pEditSource->GetTextForwarder() : 0; - if (pTextForwarder) - { - sal_uInt16 nParaCount = pTextForwarder->GetParagraphCount(); - DBG_ASSERT( nParaCount > 0, "paragraph count is 0 or negative" ); - pTextForwarder->AppendParagraph(); - - // set properties for new appended (now last) paragraph - ESelection aSel( nParaCount, 0, nParaCount, 0 ); - SfxItemSet aItemSet( *pTextForwarder->GetEmptyItemSetPtr() ); - SvxPropertyValuesToItemSet( aItemSet, rCharAndParaProps, - ImplGetSvxUnoOutlinerTextCursorSfxPropertySet(), - pTextForwarder, - nParaCount ); - pTextForwarder->QuickSetAttribs( aItemSet, aSel ); - pEditSource->UpdateData(); - SvxUnoTextRange* pRange = new SvxUnoTextRange( *this ); - xRet = pRange; - pRange->SetSelection( aSel ); - } return xRet; } @@ -2203,6 +2181,16 @@ uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextBase::finishParagraph( return xRet; } +uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextBase::insertTextPortion( + const ::rtl::OUString& /*rText*/, + const uno::Sequence< beans::PropertyValue >& /*rCharAndParaProps*/, + const uno::Reference< text::XTextRange>& /*rTextRange*/ ) + throw (lang::IllegalArgumentException, beans::UnknownPropertyException, uno::RuntimeException) +{ + uno::Reference< text::XTextRange > xRet; + return xRet; +} + // com::sun::star::text::XTextPortionAppend (new import API) uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextBase::appendTextPortion( const ::rtl::OUString& rText, -- cgit v1.2.3