diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-09-30 10:10:08 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-09-30 14:27:41 +0200 |
commit | 93099409f3e9894b7a40182f775d76757fa2fb5b (patch) | |
tree | 0ef85877beba2acc6a0764258f9719e3142858eb /sw/source/core/unocore | |
parent | daa058c714804ffbd2aa1ff20096b4c79bebea0c (diff) |
SwPaM::GetDoc can return a reference instead
and remove discovered redundant null checks
Change-Id: Iac8ad7821d9acfcc9550a96402c02ac248f16f2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103672
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/core/unocore')
-rw-r--r-- | sw/source/core/unocore/unocrsr.cxx | 14 | ||||
-rw-r--r-- | sw/source/core/unocore/unocrsrhelper.cxx | 92 | ||||
-rw-r--r-- | sw/source/core/unocore/unodraw.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/unocore/unofield.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/unocore/unoidx.cxx | 8 | ||||
-rw-r--r-- | sw/source/core/unocore/unoobj.cxx | 108 | ||||
-rw-r--r-- | sw/source/core/unocore/unoobj2.cxx | 52 | ||||
-rw-r--r-- | sw/source/core/unocore/unoparagraph.cxx | 6 | ||||
-rw-r--r-- | sw/source/core/unocore/unoport.cxx | 4 | ||||
-rw-r--r-- | sw/source/core/unocore/unoportenum.cxx | 67 | ||||
-rw-r--r-- | sw/source/core/unocore/unoredline.cxx | 10 | ||||
-rw-r--r-- | sw/source/core/unocore/unorefmk.cxx | 8 | ||||
-rw-r--r-- | sw/source/core/unocore/unotbl.cxx | 48 |
13 files changed, 206 insertions, 215 deletions
diff --git a/sw/source/core/unocore/unocrsr.cxx b/sw/source/core/unocore/unocrsr.cxx index 115326eabbf7..bbb70f15313c 100644 --- a/sw/source/core/unocore/unocrsr.cxx +++ b/sw/source/core/unocore/unocrsr.cxx @@ -34,8 +34,8 @@ SwUnoCursor::SwUnoCursor( const SwPosition &rPos ) SwUnoCursor::~SwUnoCursor() { - SwDoc* pDoc = GetDoc(); - if( !pDoc->IsInDtor() ) + SwDoc& rDoc = GetDoc(); + if( !rDoc.IsInDtor() ) { assert(!m_aNotifier.HasListeners()); } @@ -69,8 +69,8 @@ bool SwUnoCursor::IsSelOvr( SwCursorSelOverFlags eFlags ) { if (m_bRemainInSection) { - SwDoc* pDoc = GetDoc(); - SwNodeIndex aOldIdx( *pDoc->GetNodes()[ GetSavePos()->nNode ] ); + SwDoc& rDoc = GetDoc(); + SwNodeIndex aOldIdx( *rDoc.GetNodes()[ GetSavePos()->nNode ] ); SwNodeIndex& rPtIdx = GetPoint()->nNode; SwStartNode *pOldSttNd = aOldIdx.GetNode().StartOfSectionNode(), *pNewSttNd = rPtIdx.GetNode().StartOfSectionNode(); @@ -116,7 +116,7 @@ bool SwUnoCursor::IsSelOvr( SwCursorSelOverFlags eFlags ) rPtIdx.Assign( *pInvalidNode->EndOfSectionNode(), 1 ); if( !rPtIdx.GetNode().IsContentNode() && - ( !pDoc->GetNodes().GoNextSection( &rPtIdx ) || + ( !rDoc.GetNodes().GoNextSection( &rPtIdx ) || rPtIdx > pOldSttNd->EndOfSectionIndex() ) ) break; } @@ -172,7 +172,7 @@ bool SwUnoTableCursor::IsSelOvr( SwCursorSelOverFlags eFlags ) if( !bRet ) { const SwTableNode* pTNd = GetPoint()->nNode.GetNode().FindTableNode(); - bRet = !(pTNd == GetDoc()->GetNodes()[ GetSavePos()->nNode ]-> + bRet = !(pTNd == GetDoc().GetNodes()[ GetSavePos()->nNode ]-> FindTableNode() && (!HasMark() || pTNd == GetMark()->nNode.GetNode().FindTableNode() )); } @@ -186,7 +186,7 @@ void SwUnoTableCursor::MakeBoxSels() if( GetPoint()->nNode.GetIndex() && GetMark()->nNode.GetIndex() && nullptr != ( pCNd = GetContentNode() ) && pCNd->getLayoutFrame( pCNd->GetDoc().getIDocumentLayoutAccess().GetCurrentLayout() ) && nullptr != ( pCNd = GetContentNode(false) ) && pCNd->getLayoutFrame( pCNd->GetDoc().getIDocumentLayoutAccess().GetCurrentLayout() ) ) - bMakeTableCursors = GetDoc()->getIDocumentLayoutAccess().GetCurrentLayout()->MakeTableCursors( *this ); + bMakeTableCursors = GetDoc().getIDocumentLayoutAccess().GetCurrentLayout()->MakeTableCursors( *this ); if ( !bMakeTableCursors ) { diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx index 6727693d0bcf..8e51f25a51b8 100644 --- a/sw/source/core/unocore/unocrsrhelper.cxx +++ b/sw/source/core/unocore/unocrsrhelper.cxx @@ -185,7 +185,7 @@ void GetSelectableFromAny(uno::Reference<uno::XInterface> const& xIfc, if (pRanges) { SwUnoCursor const* pUnoCursor = pRanges->GetCursor(); - if (pUnoCursor && pUnoCursor->GetDoc() == &rTargetDoc) + if (pUnoCursor && &pUnoCursor->GetDoc() == &rTargetDoc) { o_rpPaM = lcl_createPamCopy(*pUnoCursor); } @@ -256,7 +256,7 @@ void GetSelectableFromAny(uno::Reference<uno::XInterface> const& xIfc, if (pCellRange) { SwUnoCursor const*const pUnoCursor(pCellRange->GetTableCursor()); - if (pUnoCursor && pUnoCursor->GetDoc() == &rTargetDoc) + if (pUnoCursor && &pUnoCursor->GetDoc() == &rTargetDoc) { // probably can't copy it to o_rpPaM for this since it's // a SwTableCursor @@ -545,7 +545,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry static_cast<SwTOXMark &>((*marks.begin())->GetAttr()); const uno::Reference< text::XDocumentIndexMark > xRef = SwXDocumentIndexMark::CreateXDocumentIndexMark( - *rPam.GetDoc(), &rMark); + rPam.GetDoc(), &rMark); (*pAny) <<= xRef; } } @@ -563,7 +563,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry if( pAny ) { const uno::Reference< text::XDocumentIndex > xRef = - SwXDocumentIndex::CreateXDocumentIndex(*rPam.GetDoc(), + SwXDocumentIndex::CreateXDocumentIndex(rPam.GetDoc(), static_cast<SwTOXBaseSection *>(pBase)); (*pAny) <<= xRef; } @@ -576,7 +576,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry { const SwPosition *pPos = rPam.Start(); const SwTextNode *pTextNd = - rPam.GetDoc()->GetNodes()[pPos->nNode.GetIndex()]->GetTextNode(); + rPam.GetDoc().GetNodes()[pPos->nNode.GetIndex()]->GetTextNode(); const SwTextAttr* pTextAttr = pTextNd ? pTextNd->GetFieldTextAttrAt( pPos->nContent.GetIndex(), true ) : nullptr; @@ -585,7 +585,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry if( pAny ) { uno::Reference<text::XTextField> const xField( - SwXTextField::CreateXTextField(rPam.GetDoc(), + SwXTextField::CreateXTextField(&rPam.GetDoc(), &pTextAttr->GetFormatField())); *pAny <<= xField; } @@ -686,7 +686,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry if( pAny ) { const uno::Reference< text::XFootnote > xFootnote = - SwXFootnote::CreateXFootnote(*rPam.GetDoc(), + SwXFootnote::CreateXFootnote(rPam.GetDoc(), &const_cast<SwFormatFootnote&>(rFootnote)); *pAny <<= xFootnote; } @@ -712,7 +712,7 @@ bool getCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry { // hmm... can only return 1 here const SwFormatRefMark& rRef = (*marks.begin())->GetRefMark(); uno::Reference<XTextContent> const xRef = - SwXReferenceMark::CreateXReferenceMark(*rPam.GetDoc(), + SwXReferenceMark::CreateXReferenceMark(rPam.GetDoc(), const_cast<SwFormatRefMark*>(&rRef)); *pAny <<= xRef; } @@ -832,7 +832,7 @@ void setNumberingProperty(const Any& rValue, SwPaM& rPam) auto pSwNum = comphelper::getUnoTunnelImplementation<SwXNumberingRules>(xIndexReplace); if(pSwNum) { - SwDoc* pDoc = rPam.GetDoc(); + SwDoc& rDoc = rPam.GetDoc(); if(pSwNum->GetNumRule()) { SwNumRule aRule(*pSwNum->GetNumRule()); @@ -856,11 +856,11 @@ void setNumberingProperty(const Any& rValue, SwPaM& rPam) { // get CharStyle and set the rule - const size_t nChCount = pDoc->GetCharFormats()->size(); + const size_t nChCount = rDoc.GetCharFormats()->size(); SwCharFormat* pCharFormat = nullptr; for(size_t nCharFormat = 0; nCharFormat < nChCount; ++nCharFormat) { - SwCharFormat& rChFormat = *((*(pDoc->GetCharFormats()))[nCharFormat]); + SwCharFormat& rChFormat = *((*(rDoc.GetCharFormats()))[nCharFormat]); if(rChFormat.GetName() == pNewCharStyles[i]) { pCharFormat = &rChFormat; @@ -870,7 +870,7 @@ void setNumberingProperty(const Any& rValue, SwPaM& rPam) if(!pCharFormat) { - SfxStyleSheetBasePool* pPool = pDoc->GetDocShell()->GetStyleSheetPool(); + SfxStyleSheetBasePool* pPool = rDoc.GetDocShell()->GetStyleSheetPool(); SfxStyleSheetBase* pBase; pBase = pPool->Find(pNewCharStyles[i], SfxStyleFamily::Char); // shall it really be created? @@ -890,7 +890,7 @@ void setNumberingProperty(const Any& rValue, SwPaM& rPam) ) { const SvxFontListItem* pFontListItem = - static_cast<const SvxFontListItem* >(pDoc->GetDocShell() + static_cast<const SvxFontListItem* >(rDoc.GetDocShell() ->GetItem( SID_ATTR_CHAR_FONTLIST )); const FontList* pList = pFontListItem->GetFontList(); @@ -901,51 +901,51 @@ void setNumberingProperty(const Any& rValue, SwPaM& rPam) } aRule.Set( i, aFormat ); } - UnoActionContext aAction(pDoc); + UnoActionContext aAction(&rDoc); if( rPam.GetNext() != &rPam ) // Multiple selection? { - pDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); + rDoc.GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); SwPamRanges aRangeArr( rPam ); SwPaM aPam( *rPam.GetPoint() ); for ( size_t n = 0; n < aRangeArr.Count(); ++n ) { // no start of a new list - pDoc->SetNumRule( aRangeArr.SetPam( n, aPam ), aRule, false ); + rDoc.SetNumRule( aRangeArr.SetPam( n, aPam ), aRule, false ); } - pDoc->GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); + rDoc.GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); } else { // no start of a new list - pDoc->SetNumRule( rPam, aRule, false ); + rDoc.SetNumRule( rPam, aRule, false ); } } else if(!pSwNum->GetCreatedNumRuleName().isEmpty()) { - UnoActionContext aAction( pDoc ); - SwNumRule* pRule = pDoc->FindNumRulePtr( pSwNum->GetCreatedNumRuleName() ); + UnoActionContext aAction( &rDoc ); + SwNumRule* pRule = rDoc.FindNumRulePtr( pSwNum->GetCreatedNumRuleName() ); if ( !pRule ) throw RuntimeException(); // no start of a new list - pDoc->SetNumRule( rPam, *pRule, false ); + rDoc.SetNumRule( rPam, *pRule, false ); } else { // #i103817# // outline numbering - UnoActionContext aAction(pDoc); - SwNumRule* pRule = pDoc->GetOutlineNumRule(); + UnoActionContext aAction(&rDoc); + SwNumRule* pRule = rDoc.GetOutlineNumRule(); if(!pRule) throw RuntimeException(); - pDoc->SetNumRule( rPam, *pRule, false ); + rDoc.SetNumRule( rPam, *pRule, false ); } } } else if ( rValue.getValueType() == cppu::UnoType<void>::get() ) { - rPam.GetDoc()->DelNumRules(rPam); + rPam.GetDoc().DelNumRules(rPam); } } @@ -967,7 +967,7 @@ void GetCurPageStyle(SwPaM const & rPaM, OUString &rString) { if (!rPaM.GetContentNode()) return; // TODO: is there an easy way to get it for tables/sections? - SwRootFrame* pLayout = rPaM.GetDoc()->getIDocumentLayoutAccess().GetCurrentLayout(); + SwRootFrame* pLayout = rPaM.GetDoc().getIDocumentLayoutAccess().GetCurrentLayout(); // Consider the position inside the content node, since the node may span over multiple pages // with different page styles. SwContentFrame* pFrame = rPaM.GetContentNode()->getLayoutFrame(pLayout, rPaM.GetPoint()); @@ -985,7 +985,7 @@ void GetCurPageStyle(SwPaM const & rPaM, OUString &rString) // reset special properties of the cursor void resetCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry, SwPaM& rPam) { - SwDoc* pDoc = rPam.GetDoc(); + SwDoc& rDoc = rPam.GetDoc(); switch(rEntry.nWID) { case FN_UNO_PARA_STYLE : @@ -994,19 +994,19 @@ void resetCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry, SwPaM& r break; case FN_UNO_NUM_START_VALUE : { - UnoActionContext aAction(pDoc); + UnoActionContext aAction(&rDoc); if( rPam.GetNext() != &rPam ) // Multiple selection? { - pDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); + rDoc.GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); SwPamRanges aRangeArr( rPam ); SwPaM aPam( *rPam.GetPoint() ); for( size_t n = 0; n < aRangeArr.Count(); ++n ) - pDoc->SetNodeNumStart( *aRangeArr.SetPam( n, aPam ).GetPoint(), 1 ); - pDoc->GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); + rDoc.SetNodeNumStart( *aRangeArr.SetPam( n, aPam ).GetPoint(), 1 ); + rDoc.GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); } else - pDoc->SetNodeNumStart( *rPam.GetPoint(), 0 ); + rDoc.SetNodeNumStart( *rPam.GetPoint(), 0 ); } break; @@ -1018,7 +1018,7 @@ void resetCursorPropertyValue(const SfxItemPropertySimpleEntry& rEntry, SwPaM& r { std::set<sal_uInt16> aWhichIds; aWhichIds.insert( RES_TXTATR_CHARFMT); - pDoc->ResetAttrs(rPam, true, aWhichIds); + rDoc.ResetAttrs(rPam, true, aWhichIds); } break; } @@ -1028,8 +1028,8 @@ void InsertFile(SwUnoCursor* pUnoCursor, const OUString& rURL, const uno::Sequence< beans::PropertyValue >& rOptions) { std::unique_ptr<SfxMedium> pMed; - SwDoc* pDoc = pUnoCursor->GetDoc(); - SwDocShell* pDocSh = pDoc->GetDocShell(); + SwDoc& rDoc = pUnoCursor->GetDoc(); + SwDocShell* pDocSh = rDoc.GetDocShell(); utl::MediaDescriptor aMediaDescriptor( rOptions ); OUString sFileName = rURL; OUString sFilterName, sFilterOptions, sPassword, sBaseURL; @@ -1128,10 +1128,10 @@ void InsertFile(SwUnoCursor* pUnoCursor, const OUString& rURL, if( !pRead ) return; - UnoActionContext aContext(pDoc); + UnoActionContext aContext(&rDoc); if(pUnoCursor->HasMark()) - pDoc->getIDocumentContentOperations().DeleteAndJoin(*pUnoCursor); + rDoc.getIDocumentContentOperations().DeleteAndJoin(*pUnoCursor); SwNodeIndex aSave( pUnoCursor->GetPoint()->nNode, -1 ); sal_Int32 nContent = pUnoCursor->GetPoint()->nContent.GetIndex(); @@ -1229,7 +1229,7 @@ void makeRedline( SwPaM const & rPaM, const OUString& rRedlineType, const uno::Sequence< beans::PropertyValue >& rRedlineProperties ) { - IDocumentRedlineAccess* pRedlineAccess = &rPaM.GetDoc()->getIDocumentRedlineAccess(); + IDocumentRedlineAccess& rRedlineAccess = rPaM.GetDoc().getIDocumentRedlineAccess(); RedlineType eType; if ( rRedlineType == "Insert" ) @@ -1250,7 +1250,7 @@ void makeRedline( SwPaM const & rPaM, std::size_t nAuthor = 0; OUString sAuthor; if( aPropMap.getValue("RedlineAuthor") >>= sAuthor ) - nAuthor = pRedlineAccess->InsertRedlineAuthor(sAuthor); + nAuthor = rRedlineAccess.InsertRedlineAuthor(sAuthor); OUString sComment; SwRedlineData aRedlineData( eType, nAuthor ); @@ -1288,7 +1288,7 @@ void makeRedline( SwPaM const & rPaM, // Check if there are any properties if (aRevertProperties.hasElements()) { - SwDoc *const pDoc = rPaM.GetDoc(); + SwDoc& rDoc = rPaM.GetDoc(); // Build set of attributes we want to fetch std::vector<sal_uInt16> aWhichPairs; @@ -1334,7 +1334,7 @@ void makeRedline( SwPaM const & rPaM, sal_uInt16 nStylePoolId = USHRT_MAX; OUString sParaStyleName; aWhichPairs.push_back(0); // terminate - SfxItemSet aItemSet(pDoc->GetAttrPool(), aWhichPairs.data()); + SfxItemSet aItemSet(rDoc.GetAttrPool(), aWhichPairs.data()); for (size_t i = 0; i < aEntries.size(); ++i) { @@ -1348,7 +1348,7 @@ void makeRedline( SwPaM const & rPaM, { aItemSet.Put( SwNumRuleItem( xNumberingRules->getName() )); // keep it during export - SwNumRule* pRule = pDoc->FindNumRulePtr( + SwNumRule* pRule = rDoc.FindNumRulePtr( xNumberingRules->getName()); if (pRule) pRule->SetUsedByRedline(true); @@ -1373,13 +1373,13 @@ void makeRedline( SwPaM const & rPaM, } SwRangeRedline* pRedline = new SwRangeRedline( aRedlineData, rPaM ); - RedlineFlags nPrevMode = pRedlineAccess->GetRedlineFlags( ); + RedlineFlags nPrevMode = rRedlineAccess.GetRedlineFlags( ); // xRedlineExtraData is copied here pRedline->SetExtraData( xRedlineExtraData.get() ); - pRedlineAccess->SetRedlineFlags_intern(RedlineFlags::On); - auto const result(pRedlineAccess->AppendRedline(pRedline, false)); - pRedlineAccess->SetRedlineFlags_intern( nPrevMode ); + rRedlineAccess.SetRedlineFlags_intern(RedlineFlags::On); + auto const result(rRedlineAccess.AppendRedline(pRedline, false)); + rRedlineAccess.SetRedlineFlags_intern( nPrevMode ); if (IDocumentRedlineAccess::AppendResult::IGNORED == result) throw lang::IllegalArgumentException(); } diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 5242276dfdd3..fa2fdfb24944 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -2046,7 +2046,7 @@ void SwXShape::attach(const uno::Reference< text::XTextRange > & xTextRange) else if (pCursor) pDoc = pCursor->GetDoc(); else if (pPortion) - pDoc = pPortion->GetCursor().GetDoc(); + pDoc = &pPortion->GetCursor().GetDoc(); else if (pParagraph && pParagraph->GetTextNode()) pDoc = &pParagraph->GetTextNode()->GetDoc(); diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx index cd1504545971..4fdd9544a402 100644 --- a/sw/source/core/unocore/unofield.cxx +++ b/sw/source/core/unocore/unofield.cxx @@ -2059,7 +2059,7 @@ void SAL_CALL SwXTextField::attach( OSL_ENSURE( pField != nullptr, "<SwXTextField::attach(..)> - annotation field missing!" ); if ( pField != nullptr ) { - IDocumentMarkAccess* pMarksAccess = aIntPam.GetDoc()->getIDocumentMarkAccess(); + IDocumentMarkAccess* pMarksAccess = aIntPam.GetDoc().getIDocumentMarkAccess(); pMarksAccess->makeAnnotationMark( aIntPam, pField->GetName() ); } } diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx index d74cf65358f1..9cfe87f04901 100644 --- a/sw/source/core/unocore/unoidx.cxx +++ b/sw/source/core/unocore/unoidx.cxx @@ -1902,8 +1902,8 @@ void SwXDocumentIndexMark::Impl::InsertTOXMark( SwTOXType & rTOXType, SwTOXMark & rMark, SwPaM & rPam, SwXTextCursor const*const pTextCursor) { - SwDoc *const pDoc( rPam.GetDoc() ); - UnoActionContext aAction(pDoc); + SwDoc& rDoc(rPam.GetDoc()); + UnoActionContext aAction(&rDoc); bool bMark = *rPam.GetPoint() != *rPam.GetMark(); // n.b.: toxmarks must have either alternative text or an extent if (bMark && !rMark.GetAlternativeText().isEmpty()) @@ -1928,7 +1928,7 @@ void SwXDocumentIndexMark::Impl::InsertTOXMark( // rMark gets copied into the document pool; // pNewTextAttr comes back with the real format SwTextAttr *pNewTextAttr = nullptr; - pDoc->getIDocumentContentOperations().InsertPoolItem(rPam, rMark, nInsertFlags, + rDoc.getIDocumentContentOperations().InsertPoolItem(rPam, rMark, nInsertFlags, /*pLayout*/nullptr, /*bExpandCharToPara*/false, &pNewTextAttr); if (bMark && *rPam.GetPoint() > *rPam.GetMark()) { @@ -1942,7 +1942,7 @@ void SwXDocumentIndexMark::Impl::InsertTOXMark( nullptr); } - m_pDoc = pDoc; + m_pDoc = &rDoc; m_pTOXMark = &pNewTextAttr->GetTOXMark(); m_pTOXType = &rTOXType; EndListeningAll(); diff --git a/sw/source/core/unocore/unoobj.cxx b/sw/source/core/unocore/unoobj.cxx index 01d777dccd4b..ef08aeb38e89 100644 --- a/sw/source/core/unocore/unoobj.cxx +++ b/sw/source/core/unocore/unoobj.cxx @@ -176,9 +176,9 @@ void SwUnoCursorHelper::GetTextFromPam(SwPaM & rPam, OUString & rBuffer, /// @throws lang::IllegalArgumentException /// @throws uno::RuntimeException static void -lcl_setCharStyle(SwDoc *const pDoc, const uno::Any & rValue, SfxItemSet & rSet) +lcl_setCharStyle(SwDoc& rDoc, const uno::Any & rValue, SfxItemSet & rSet) { - SwDocShell *const pDocSh = pDoc->GetDocShell(); + SwDocShell *const pDocSh = rDoc.GetDocShell(); if(!pDocSh) return; @@ -228,8 +228,8 @@ lcl_setAutoStyle(IStyleAccess & rStyleAccess, const uno::Any & rValue, void SwUnoCursorHelper::SetTextFormatColl(const uno::Any & rAny, SwPaM & rPaM) { - SwDoc *const pDoc = rPaM.GetDoc(); - SwDocShell *const pDocSh = pDoc->GetDocShell(); + SwDoc& rDoc = rPaM.GetDoc(); + SwDocShell *const pDocSh = rDoc.GetDocShell(); if(!pDocSh) return; OUString uStyle; @@ -245,14 +245,14 @@ SwUnoCursorHelper::SetTextFormatColl(const uno::Any & rAny, SwPaM & rPaM) } SwTextFormatColl *const pLocal = pStyle->GetCollection(); - UnoActionContext aAction(pDoc); - pDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); + UnoActionContext aAction(&rDoc); + rDoc.GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); SwPaM *pTmpCursor = &rPaM; do { - pDoc->SetTextFormatColl(*pTmpCursor, pLocal); + rDoc.SetTextFormatColl(*pTmpCursor, pLocal); pTmpCursor = pTmpCursor->GetNext(); } while ( pTmpCursor != &rPaM ); - pDoc->GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); + rDoc.GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); } bool @@ -311,26 +311,26 @@ lcl_SetNodeNumStart(SwPaM & rCursor, uno::Any const& rValue) sal_Int16 nTmp = 1; rValue >>= nTmp; sal_uInt16 nStt = (nTmp < 0 ? USHRT_MAX : static_cast<sal_uInt16>(nTmp)); - SwDoc* pDoc = rCursor.GetDoc(); - UnoActionContext aAction(pDoc); + SwDoc& rDoc = rCursor.GetDoc(); + UnoActionContext aAction(&rDoc); if( rCursor.GetNext() != &rCursor ) // MultiSelection? { - pDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); + rDoc.GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr ); SwPamRanges aRangeArr( rCursor ); SwPaM aPam( *rCursor.GetPoint() ); for( size_t n = 0; n < aRangeArr.Count(); ++n ) { - pDoc->SetNumRuleStart(*aRangeArr.SetPam( n, aPam ).GetPoint()); - pDoc->SetNodeNumStart(*aRangeArr.SetPam( n, aPam ).GetPoint(), + rDoc.SetNumRuleStart(*aRangeArr.SetPam( n, aPam ).GetPoint()); + rDoc.SetNodeNumStart(*aRangeArr.SetPam( n, aPam ).GetPoint(), nStt ); } - pDoc->GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); + rDoc.GetIDocumentUndoRedo().EndUndo( SwUndoId::END, nullptr ); } else { - pDoc->SetNumRuleStart( *rCursor.GetPoint()); - pDoc->SetNodeNumStart( *rCursor.GetPoint(), nStt ); + rDoc.SetNumRuleStart( *rCursor.GetPoint()); + rDoc.SetNodeNumStart( *rCursor.GetPoint(), nStt ); } } @@ -346,10 +346,10 @@ lcl_setCharFormatSequence(SwPaM & rPam, uno::Any const& rValue) for (sal_Int32 nStyle = 0; nStyle < aCharStyles.getLength(); nStyle++) { uno::Any aStyle; - rPam.GetDoc()->GetIDocumentUndoRedo().StartUndo(SwUndoId::START, nullptr); + rPam.GetDoc().GetIDocumentUndoRedo().StartUndo(SwUndoId::START, nullptr); aStyle <<= aCharStyles.getConstArray()[nStyle]; // create a local set and apply each format directly - SfxItemSet aSet(rPam.GetDoc()->GetAttrPool(), + SfxItemSet aSet(rPam.GetDoc().GetAttrPool(), svl::Items<RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT>{}); lcl_setCharStyle(rPam.GetDoc(), aStyle, aSet); // the first style should replace the current attributes, @@ -357,7 +357,7 @@ lcl_setCharFormatSequence(SwPaM & rPam, uno::Any const& rValue) SwUnoCursorHelper::SetCursorAttr(rPam, aSet, nStyle ? SetAttrMode::DONTREPLACE : SetAttrMode::DEFAULT); - rPam.GetDoc()->GetIDocumentUndoRedo().EndUndo(SwUndoId::START, nullptr); + rPam.GetDoc().GetIDocumentUndoRedo().EndUndo(SwUndoId::START, nullptr); } return true; } @@ -374,12 +374,12 @@ lcl_setDropcapCharStyle(SwPaM const & rPam, SfxItemSet & rItemSet, OUString sStyle; SwStyleNameMapper::FillUIName(uStyle, sStyle, SwGetPoolIdFromName::ChrFmt); - SwDoc *const pDoc = rPam.GetDoc(); + SwDoc& rDoc = rPam.GetDoc(); //default character style must not be set as default format SwDocStyleSheet *const pStyle = static_cast<SwDocStyleSheet*>( - pDoc->GetDocShell() + rDoc.GetDocShell() ->GetStyleSheetPool()->Find(sStyle, SfxStyleFamily::Char)); - if (!pStyle || pStyle->GetCharFormat() == pDoc->GetDfltCharFormat()) + if (!pStyle || pStyle->GetCharFormat() == rDoc.GetDfltCharFormat()) { throw lang::IllegalArgumentException(); } @@ -450,7 +450,7 @@ SwUnoCursorHelper::SetCursorPropertyValue( lcl_setCharStyle(rPam.GetDoc(), rValue, rItemSet); break; case RES_TXTATR_AUTOFMT: - lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(), + lcl_setAutoStyle(rPam.GetDoc().GetIStyleAccess(), rValue, rItemSet, false); break; case FN_UNO_CHARFMT_SEQUENCE: @@ -460,7 +460,7 @@ SwUnoCursorHelper::SetCursorPropertyValue( SwUnoCursorHelper::SetTextFormatColl(rValue, rPam); break; case RES_AUTO_STYLE: - lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(), + lcl_setAutoStyle(rPam.GetDoc().GetIStyleAccess(), rValue, rItemSet, true); break; case FN_UNO_PAGE_STYLE: @@ -519,7 +519,7 @@ SwUnoCursorHelper::SetCursorPropertyValue( // TODO create own map for this, it contains UNO_NAME_DISPLAY_NAME? or make property readable so ODF export can map it to a automatic style? SfxItemPropertySet const& rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_CHAR_AUTO_STYLE)); SfxItemPropertyMap const& rMap(rPropSet.getPropertyMap()); - SfxItemSet items( rPam.GetDoc()->GetAttrPool(), + SfxItemSet items( rPam.GetDoc().GetAttrPool(), svl::Items<RES_CHRATR_BEGIN, RES_CHRATR_END-1, RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1>{} ); @@ -563,7 +563,7 @@ SwUnoCursorHelper::SetCursorPropertyValue( { throw lang::IllegalArgumentException(); } - rPam.GetDoc()->SetNumRuleStart(*rPam.GetPoint(), bVal); + rPam.GetDoc().SetNumRuleStart(*rPam.GetPoint(), bVal); } break; case FN_UNO_NUM_RULES: @@ -598,7 +598,7 @@ SwUnoCursorHelper::SetCursorPropertyValue( if (MID_PAGEDESC_PAGEDESCNAME == rEntry.nMemberId) { SwUnoCursorHelper::SetPageDesc( - rValue, *rPam.GetDoc(), rItemSet); + rValue, rPam.GetDoc(), rItemSet); } else { @@ -630,7 +630,7 @@ SwUnoCursorHelper::GetCurTextFormatColl(SwPaM & rPaM, const bool bConditional) break; } - const SwNodes& rNds = rPaM.GetDoc()->GetNodes(); + const SwNodes& rNds = rPaM.GetDoc().GetNodes(); for( sal_uLong n = nSttNd; n <= nEndNd; ++n ) { SwTextNode const*const pNd = rNds[ n ]->GetTextNode(); @@ -697,10 +697,10 @@ SwPaM* SwXTextCursor::GetPaM() { return m_pImpl->m_pUnoCursor.get(); } SwDoc const* SwXTextCursor::GetDoc() const - { return m_pImpl->m_pUnoCursor ? m_pImpl->m_pUnoCursor->GetDoc() : nullptr; } + { return m_pImpl->m_pUnoCursor ? &m_pImpl->m_pUnoCursor->GetDoc() : nullptr; } SwDoc* SwXTextCursor::GetDoc() - { return m_pImpl->m_pUnoCursor ? m_pImpl->m_pUnoCursor->GetDoc() : nullptr; } + { return m_pImpl->m_pUnoCursor ? &m_pImpl->m_pUnoCursor->GetDoc() : nullptr; } SwXTextCursor::SwXTextCursor( SwDoc & rDoc, @@ -714,7 +714,7 @@ SwXTextCursor::SwXTextCursor( SwXTextCursor::SwXTextCursor(uno::Reference< text::XText > const& xParent, SwPaM const& rSourceCursor, const CursorType eType) - : m_pImpl( new Impl(*rSourceCursor.GetDoc(), eType, + : m_pImpl( new Impl(rSourceCursor.GetDoc(), eType, xParent, *rSourceCursor.GetPoint(), rSourceCursor.HasMark() ? rSourceCursor.GetMark() : nullptr) ) { @@ -732,22 +732,22 @@ void SwXTextCursor::DeleteAndInsert(const OUString& rText, return; // Start/EndAction - SwDoc* pDoc = pUnoCursor->GetDoc(); - UnoActionContext aAction(pDoc); + SwDoc& rDoc = pUnoCursor->GetDoc(); + UnoActionContext aAction(&rDoc); const sal_Int32 nTextLen = rText.getLength(); - pDoc->GetIDocumentUndoRedo().StartUndo(SwUndoId::INSERT, nullptr); + rDoc.GetIDocumentUndoRedo().StartUndo(SwUndoId::INSERT, nullptr); auto pCurrent = pUnoCursor; do { if (pCurrent->HasMark()) { - pDoc->getIDocumentContentOperations().DeleteAndJoin(*pCurrent); + rDoc.getIDocumentContentOperations().DeleteAndJoin(*pCurrent); } if(nTextLen) { const bool bSuccess( SwUnoCursorHelper::DocInsertStringSplitCR( - *pDoc, *pCurrent, rText, bForceExpandHints ) ); + rDoc, *pCurrent, rText, bForceExpandHints ) ); OSL_ENSURE( bSuccess, "Doc->Insert(Str) failed." ); SwUnoCursorHelper::SelectPam(*pUnoCursor, true); @@ -755,7 +755,7 @@ void SwXTextCursor::DeleteAndInsert(const OUString& rText, } pCurrent = pCurrent->GetNext(); } while (pCurrent != pUnoCursor); - pDoc->GetIDocumentUndoRedo().EndUndo(SwUndoId::INSERT, nullptr); + rDoc.GetIDocumentUndoRedo().EndUndo(SwUndoId::INSERT, nullptr); } namespace { @@ -1659,7 +1659,7 @@ SwXTextCursor::getStart() { // return cursor to prevent modifying SwXTextRange for META SwXTextCursor * const pXCursor( - new SwXTextCursor(*rUnoCursor.GetDoc(), xParent, CursorType::Meta, + new SwXTextCursor(rUnoCursor.GetDoc(), xParent, CursorType::Meta, *rUnoCursor.GetPoint()) ); pXCursor->gotoStart(false); xRet = static_cast<text::XWordCursor*>(pXCursor); @@ -1685,7 +1685,7 @@ SwXTextCursor::getEnd() { // return cursor to prevent modifying SwXTextRange for META SwXTextCursor * const pXCursor( - new SwXTextCursor(*rUnoCursor.GetDoc(), xParent, CursorType::Meta, + new SwXTextCursor(rUnoCursor.GetDoc(), xParent, CursorType::Meta, *rUnoCursor.GetPoint()) ); pXCursor->gotoEnd(false); xRet = static_cast<text::XWordCursor*>(pXCursor); @@ -1743,7 +1743,7 @@ uno::Any SwUnoCursorHelper::GetPropertyValue( if (!bDone) { SfxItemSet aSet( - rPaM.GetDoc()->GetAttrPool(), + rPaM.GetDoc().GetAttrPool(), svl::Items< RES_CHRATR_BEGIN, RES_FRMATR_END - 1, RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER>{}); @@ -1787,12 +1787,12 @@ void SwUnoCursorHelper::SetPropertyValues( if (!rPropertyValues.hasElements()) return; - SwDoc *const pDoc = rPaM.GetDoc(); + SwDoc& rDoc = rPaM.GetDoc(); OUString aUnknownExMsg, aPropertyVetoExMsg; // Build set of attributes we want to fetch const sal_uInt16 zero = 0; - SfxItemSet aItemSet(pDoc->GetAttrPool(), &zero); + SfxItemSet aItemSet(rDoc.GetAttrPool(), &zero); std::vector<std::pair<const SfxItemPropertySimpleEntry*, const uno::Any&>> aEntries; aEntries.reserve(rPropertyValues.getLength()); for (const auto& rPropVal : rPropertyValues) @@ -1924,17 +1924,17 @@ SwUnoCursorHelper::GetPropertyStates( case SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT: case SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION: pSet.reset( - new SfxItemSet( rPaM.GetDoc()->GetAttrPool(), + new SfxItemSet( rPaM.GetDoc().GetAttrPool(), svl::Items<RES_CHRATR_BEGIN, RES_TXTATR_END>{} )); break; case SW_PROPERTY_STATE_CALLER_SINGLE_VALUE_ONLY: pSet.reset( - new SfxItemSet( rPaM.GetDoc()->GetAttrPool(), + new SfxItemSet( rPaM.GetDoc().GetAttrPool(), {{pEntry->nWID, pEntry->nWID}} )); break; default: pSet.reset( new SfxItemSet( - rPaM.GetDoc()->GetAttrPool(), + rPaM.GetDoc().GetAttrPool(), svl::Items< RES_CHRATR_BEGIN, RES_FRMATR_END - 1, RES_UNKNOWNATR_CONTAINER, @@ -2006,7 +2006,7 @@ void SwUnoCursorHelper::SetPropertyToDefault( SwPaM& rPaM, const SfxItemPropertySet& rPropSet, const OUString& rPropertyName) { - SwDoc & rDoc = *rPaM.GetDoc(); + SwDoc& rDoc = rPaM.GetDoc(); SfxItemPropertySimpleEntry const*const pEntry = rPropSet.getPropertyMap().getByName(rPropertyName); if (!pEntry) @@ -2057,7 +2057,7 @@ uno::Any SwUnoCursorHelper::GetPropertyDefault( uno::Any aRet; if (pEntry->nWID < RES_FRMATR_END) { - SwDoc & rDoc = *rPaM.GetDoc(); + SwDoc& rDoc = rPaM.GetDoc(); const SfxPoolItem& rDefItem = rDoc.GetAttrPool().GetDefaultItem(pEntry->nWID); rDefItem.QueryValue(aRet, pEntry->nMemberId); @@ -2336,12 +2336,12 @@ SwXTextCursor::setAllPropertiesToDefault() lcl_EnumerateIds(g_ResetableSetRange, aWhichIds); if (!aParaWhichIds.empty()) { - lcl_SelectParaAndReset(rUnoCursor, *rUnoCursor.GetDoc(), + lcl_SelectParaAndReset(rUnoCursor, rUnoCursor.GetDoc(), aParaWhichIds); } if (!aWhichIds.empty()) { - rUnoCursor.GetDoc()->ResetAttrs(rUnoCursor, true, aWhichIds); + rUnoCursor.GetDoc().ResetAttrs(rUnoCursor, true, aWhichIds); } } @@ -2356,7 +2356,7 @@ SwXTextCursor::setPropertiesToDefault( if ( !rPropertyNames.hasElements() ) return; - SwDoc & rDoc = *rUnoCursor.GetDoc(); + SwDoc& rDoc = rUnoCursor.GetDoc(); std::set<sal_uInt16> aWhichIds; std::set<sal_uInt16> aParaWhichIds; for (const OUString& rName : rPropertyNames) @@ -2420,7 +2420,7 @@ SwXTextCursor::getPropertyDefaults( uno::Sequence< uno::Any > aRet(nCount); if ( nCount ) { - SwDoc & rDoc = *rUnoCursor.GetDoc(); + SwDoc& rDoc = rUnoCursor.GetDoc(); const OUString *pNames = rPropertyNames.getConstArray(); uno::Any *pAny = aRet.getArray(); for (sal_Int32 i = 0; i < nCount; i++) @@ -2848,7 +2848,7 @@ SwXTextCursor::sort(const uno::Sequence< beans::PropertyValue >& rDescriptor) { throw uno::RuntimeException("Bad sort properties"); } - UnoActionContext aContext( rUnoCursor.GetDoc() ); + UnoActionContext aContext( &rUnoCursor.GetDoc() ); SwPosition & rStart = *rUnoCursor.Start(); SwPosition & rEnd = *rUnoCursor.End(); @@ -2857,7 +2857,7 @@ SwXTextCursor::sort(const uno::Sequence< beans::PropertyValue >& rDescriptor) const sal_uLong nOffset = rEnd.nNode.GetIndex() - rStart.nNode.GetIndex(); const sal_Int32 nCntStt = rStart.nContent.GetIndex(); - rUnoCursor.GetDoc()->SortText(rUnoCursor, aSortOpt); + rUnoCursor.GetDoc().SortText(rUnoCursor, aSortOpt); // update selection rUnoCursor.DeleteMark(); @@ -2901,7 +2901,7 @@ SwXTextCursor::createEnumeration() throw uno::RuntimeException(); } - auto pNewCursor(rUnoCursor.GetDoc()->CreateUnoCursor(*rUnoCursor.GetPoint()) ); + auto pNewCursor(rUnoCursor.GetDoc().CreateUnoCursor(*rUnoCursor.GetPoint()) ); if (rUnoCursor.HasMark()) { pNewCursor->SetMark(); diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index b6b96608e6fb..bfba1dd85a36 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -225,7 +225,7 @@ static SwDoc * lcl_IsNewStyleTable(SwUnoTableCursor const& rCursor) { SwTableNode *const pTableNode = rCursor.GetNode().FindTableNode(); return (pTableNode && !pTableNode->GetTable().IsNewModel()) - ? rCursor.GetDoc() + ? &rCursor.GetDoc() : nullptr; } @@ -257,12 +257,12 @@ void SwUnoCursorHelper::SetCursorAttr(SwPaM & rPam, const SetAttrMode nAttrMode, const bool bTableMode) { const SetAttrMode nFlags = nAttrMode | SetAttrMode::APICALL; - SwDoc* pDoc = rPam.GetDoc(); + SwDoc& rDoc = rPam.GetDoc(); //StartEndAction - UnoActionContext aAction(pDoc); + UnoActionContext aAction(&rDoc); if (rPam.GetNext() != &rPam) // Ring of Cursors { - pDoc->GetIDocumentUndoRedo().StartUndo(SwUndoId::INSATTR, nullptr); + rDoc.GetIDocumentUndoRedo().StartUndo(SwUndoId::INSATTR, nullptr); for(SwPaM& rCurrent : rPam.GetRingContainer()) { @@ -270,15 +270,15 @@ void SwUnoCursorHelper::SetCursorAttr(SwPaM & rPam, ( bTableMode || (*rCurrent.GetPoint() != *rCurrent.GetMark()) )) { - pDoc->getIDocumentContentOperations().InsertItemSet(rCurrent, rSet, nFlags); + rDoc.getIDocumentContentOperations().InsertItemSet(rCurrent, rSet, nFlags); } } - pDoc->GetIDocumentUndoRedo().EndUndo(SwUndoId::INSATTR, nullptr); + rDoc.GetIDocumentUndoRedo().EndUndo(SwUndoId::INSATTR, nullptr); } else { - pDoc->getIDocumentContentOperations().InsertItemSet( rPam, rSet, nFlags ); + rDoc.getIDocumentContentOperations().InsertItemSet( rPam, rSet, nFlags ); } if( rSet.GetItemState( RES_PARATR_OUTLINELEVEL, false ) >= SfxItemState::DEFAULT ) @@ -286,7 +286,7 @@ void SwUnoCursorHelper::SetCursorAttr(SwPaM & rPam, SwTextNode * pTmpNode = rPam.GetNode().GetTextNode(); if ( pTmpNode ) { - rPam.GetDoc()->GetNodes().UpdateOutlineNode( *pTmpNode ); + rPam.GetDoc().GetNodes().UpdateOutlineNode( *pTmpNode ); } } } @@ -318,7 +318,7 @@ void SwUnoCursorHelper::GetCursorAttr(SwPaM & rPam, // all other nodes merge their values into the get set for (sal_uLong n = nSttNd; n <= nEndNd; ++n) { - SwNode *const pNd = rPam.GetDoc()->GetNodes()[ n ]; + SwNode *const pNd = rPam.GetDoc().GetNodes()[ n ]; switch (pNd->GetNodeType()) { case SwNodeType::Text: @@ -527,7 +527,7 @@ SwXParagraphEnumerationImpl::NextElement_Impl() (CursorType::SelectionInTable == m_eCursorType))) { SwPosition* pStart = rUnoCursor.Start(); - auto aNewCursor(rUnoCursor.GetDoc()->CreateUnoCursor(*pStart)); + auto aNewCursor(rUnoCursor.GetDoc().CreateUnoCursor(*pStart)); // one may also go into tables here if (CursorType::SelectionInTable != m_eCursorType) { @@ -613,7 +613,7 @@ SwXParagraphEnumerationImpl::NextElement_Impl() else { text::XText *const pText = m_xParentText.get(); - xRef = SwXParagraph::CreateXParagraph(*rUnoCursor.GetDoc(), + xRef = SwXParagraph::CreateXParagraph(rUnoCursor.GetDoc(), pStart->nNode.GetNode().GetTextNode(), static_cast<SwXText*>(pText), nFirstContent, nLastContent); } @@ -709,7 +709,7 @@ void SwXTextRange::Impl::Notify(const SfxHint& rHint) SwXTextRange::SwXTextRange(SwPaM const & rPam, const uno::Reference< text::XText > & xParent, const enum RangePosition eRange) - : m_pImpl( new SwXTextRange::Impl(*rPam.GetDoc(), eRange, nullptr, xParent) ) + : m_pImpl( new SwXTextRange::Impl(rPam.GetDoc(), eRange, nullptr, xParent) ) { SetPositions(rPam); } @@ -982,7 +982,7 @@ bool XTextRangeToSwPaM( SwUnoInternalPaM & rToFill, pCursor = comphelper::getUnoTunnelImplementation<OTextCursorHelper>(xTextCursor); } - if(pRange && &pRange->GetDoc() == rToFill.GetDoc()) + if(pRange && &pRange->GetDoc() == &rToFill.GetDoc()) { bRet = pRange->GetPositions(rToFill); } @@ -995,10 +995,10 @@ bool XTextRangeToSwPaM( SwUnoInternalPaM & rToFill, else { SwDoc* const pDoc = pCursor ? pCursor->GetDoc() - : (pPortion ? pPortion->GetCursor().GetDoc() : nullptr); + : (pPortion ? &pPortion->GetCursor().GetDoc() : nullptr); const SwPaM* const pUnoCursor = pCursor ? pCursor->GetPaM() : (pPortion ? &pPortion->GetCursor() : nullptr); - if (pUnoCursor && pDoc == rToFill.GetDoc()) + if (pUnoCursor && pDoc == &rToFill.GetDoc()) { OSL_ENSURE(!pUnoCursor->IsMultiSelection(), "what to do about rings?"); @@ -1420,7 +1420,7 @@ struct SwXTextRangesImpl final : public SwXTextRanges { if (pPaM) { - m_pUnoCursor.reset(pPaM->GetDoc()->CreateUnoCursor(*pPaM->GetPoint())); + m_pUnoCursor.reset(pPaM->GetDoc().CreateUnoCursor(*pPaM->GetPoint())); ::sw::DeepCopyPaM(*pPaM, *GetCursor()); } MakeRanges(); @@ -1448,7 +1448,7 @@ void SwXTextRangesImpl::MakeRanges() { const uno::Reference< text::XTextRange > xRange( SwXTextRange::CreateXTextRange( - *rTmpCursor.GetDoc(), + rTmpCursor.GetDoc(), *rTmpCursor.GetPoint(), rTmpCursor.GetMark())); if (xRange.is()) { @@ -1499,22 +1499,22 @@ uno::Any SAL_CALL SwXTextRangesImpl::getByIndex(sal_Int32 nIndex) void SwUnoCursorHelper::SetString(SwCursor & rCursor, const OUString& rString) { // Start/EndAction - SwDoc *const pDoc = rCursor.GetDoc(); - UnoActionContext aAction(pDoc); - pDoc->GetIDocumentUndoRedo().StartUndo(SwUndoId::INSERT, nullptr); + SwDoc& rDoc = rCursor.GetDoc(); + UnoActionContext aAction(&rDoc); + rDoc.GetIDocumentUndoRedo().StartUndo(SwUndoId::INSERT, nullptr); if (rCursor.HasMark()) { - pDoc->getIDocumentContentOperations().DeleteAndJoin(rCursor); + rDoc.getIDocumentContentOperations().DeleteAndJoin(rCursor); } if (!rString.isEmpty()) { const bool bSuccess( SwUnoCursorHelper::DocInsertStringSplitCR( - *pDoc, rCursor, rString, false ) ); + rDoc, rCursor, rString, false ) ); OSL_ENSURE( bSuccess, "DocInsertStringSplitCR" ); SwUnoCursorHelper::SelectPam(rCursor, true); rCursor.Left(rString.getLength()); } - pDoc->GetIDocumentUndoRedo().EndUndo(SwUndoId::INSERT, nullptr); + rDoc.GetIDocumentUndoRedo().EndUndo(SwUndoId::INSERT, nullptr); } namespace { @@ -1571,7 +1571,7 @@ SwXParaFrameEnumeration* SwXParaFrameEnumeration::Create(const SwPaM& rPaM, cons SwXParaFrameEnumerationImpl::SwXParaFrameEnumerationImpl( const SwPaM& rPaM, const enum ParaFrameMode eParaFrameMode, SwFrameFormat* const pFormat) - : m_pUnoCursor(rPaM.GetDoc()->CreateUnoCursor(*rPaM.GetPoint())) + : m_pUnoCursor(rPaM.GetDoc().CreateUnoCursor(*rPaM.GetPoint())) { if (rPaM.HasMark()) { @@ -1596,7 +1596,7 @@ SwXParaFrameEnumerationImpl::SwXParaFrameEnumerationImpl( if (PARAFRAME_PORTION_TEXTRANGE == eParaFrameMode) { //get all frames that are bound at paragraph or at character - for(const auto& pFlyFrame : rPaM.GetDoc()->GetAllFlyFormats(&GetCursor(), false, true)) + for(const auto& pFlyFrame : rPaM.GetDoc().GetAllFlyFormats(&GetCursor(), false, true)) { const auto pFrameFormat = const_cast<SwFrameFormat*>(&pFlyFrame->GetFormat()); m_vFrames.push_back(std::make_shared<sw::FrameClient>(pFrameFormat)); @@ -1645,7 +1645,7 @@ bool SwXParaFrameEnumerationImpl::CreateNextObject() const SwNodeIndex* pIdx = pFormat->GetContent().GetContentIdx(); OSL_ENSURE(pIdx, "where is the index?"); SwNode const*const pNd = - m_pUnoCursor->GetDoc()->GetNodes()[ pIdx->GetIndex() + 1 ]; + m_pUnoCursor->GetDoc().GetNodes()[ pIdx->GetIndex() + 1 ]; if (!pNd->IsNoTextNode()) { diff --git a/sw/source/core/unocore/unoparagraph.cxx b/sw/source/core/unocore/unoparagraph.cxx index 2cf496283482..2494aba60516 100644 --- a/sw/source/core/unocore/unoparagraph.cxx +++ b/sw/source/core/unocore/unoparagraph.cxx @@ -1125,7 +1125,7 @@ SwXParagraph::setPropertyToDefault(const OUString& rPropertyName) if (pEntry->nWID < RES_PARATR_BEGIN) { - aCursor.GetDoc()->ResetAttrs(aCursor, true, aWhichIds); + aCursor.GetDoc().ResetAttrs(aCursor, true, aWhichIds); } else { @@ -1133,7 +1133,7 @@ SwXParagraph::setPropertyToDefault(const OUString& rPropertyName) // to paragraph boundaries SwPosition aStart( *aCursor.Start() ); SwPosition aEnd ( *aCursor.End() ); - auto pTemp( aCursor.GetDoc()->CreateUnoCursor(aStart) ); + auto pTemp( aCursor.GetDoc().CreateUnoCursor(aStart) ); if(!SwUnoCursorHelper::IsStartOfPara(*pTemp)) { pTemp->MovePara(GoCurrPara, fnParaStart); @@ -1150,7 +1150,7 @@ SwXParagraph::setPropertyToDefault(const OUString& rPropertyName) } - pTemp->GetDoc()->ResetAttrs(*pTemp, true, aWhichIds); + pTemp->GetDoc().ResetAttrs(*pTemp, true, aWhichIds); } } else diff --git a/sw/source/core/unocore/unoport.cxx b/sw/source/core/unocore/unoport.cxx index 07af7a238484..ea0bca136e13 100644 --- a/sw/source/core/unocore/unoport.cxx +++ b/sw/source/core/unocore/unoport.cxx @@ -50,7 +50,7 @@ using namespace ::com::sun::star; void SwXTextPortion::init(const SwUnoCursor* pPortionCursor) { - m_pUnoCursor = pPortionCursor->GetDoc()->CreateUnoCursor(*pPortionCursor->GetPoint()); + m_pUnoCursor = pPortionCursor->GetDoc().CreateUnoCursor(*pPortionCursor->GetPoint()); if (pPortionCursor->HasMark()) { m_pUnoCursor->SetMark(); @@ -356,7 +356,7 @@ void SwXTextPortion::GetPropertyValue( if(!pSet) { pSet = std::make_unique<SfxItemSet>( - pUnoCursor->GetDoc()->GetAttrPool(), + pUnoCursor->GetDoc().GetAttrPool(), svl::Items< RES_CHRATR_BEGIN, RES_FRMATR_END - 1, RES_UNKNOWNATR_CONTAINER, diff --git a/sw/source/core/unocore/unoportenum.cxx b/sw/source/core/unocore/unoportenum.cxx index 17f0ac08431b..6be9774ee015 100644 --- a/sw/source/core/unocore/unoportenum.cxx +++ b/sw/source/core/unocore/unoportenum.cxx @@ -317,7 +317,7 @@ SwXTextPortionEnumeration::SwXTextPortionEnumeration( const sal_Int32 nEnd ) : m_Portions() { - m_pUnoCursor = rParaCursor.GetDoc()->CreateUnoCursor(*rParaCursor.GetPoint()); + m_pUnoCursor = rParaCursor.GetDoc().CreateUnoCursor(*rParaCursor.GetPoint()); OSL_ENSURE(nEnd == -1 || (nStart <= nEnd && nEnd <= m_pUnoCursor->Start()->nNode.GetNode().GetTextNode()->GetText().getLength()), @@ -334,7 +334,7 @@ SwXTextPortionEnumeration::SwXTextPortionEnumeration( TextRangeList_t const & rPortions ) : m_Portions( rPortions ) { - m_pUnoCursor = rParaCursor.GetDoc()->CreateUnoCursor(*rParaCursor.GetPoint()); + m_pUnoCursor = rParaCursor.GetDoc().CreateUnoCursor(*rParaCursor.GetPoint()); } SwXTextPortionEnumeration::~SwXTextPortionEnumeration() @@ -388,7 +388,7 @@ lcl_ExportFieldMark( const SwTextNode * const pTextNode ) { uno::Reference<text::XTextRange> xRef; - SwDoc* pDoc = pUnoCursor->GetDoc(); + SwDoc& rDoc = pUnoCursor->GetDoc(); // maybe it's a good idea to add a special hint to the hints array and rely on the hint segmentation... const sal_Int32 start = pUnoCursor->Start()->nContent.GetIndex(); OSL_ENSURE(pUnoCursor->End()->nContent.GetIndex() == start, @@ -405,18 +405,15 @@ lcl_ExportFieldMark( if (CH_TXT_ATR_FIELDSTART == Char) { ::sw::mark::IFieldmark* pFieldmark = nullptr; - if (pDoc) - { - pFieldmark = pDoc->getIDocumentMarkAccess()-> - getFieldmarkAt(*pUnoCursor->GetMark()); - } + pFieldmark = rDoc.getIDocumentMarkAccess()-> + getFieldmarkAt(*pUnoCursor->GetMark()); SwXTextPortion* pPortion = new SwXTextPortion( pUnoCursor, i_xParentText, PORTION_FIELD_START); xRef = pPortion; - if (pFieldmark && pDoc) + if (pFieldmark) { pPortion->SetBookmark( - SwXFieldmark::CreateXFieldmark(*pDoc, pFieldmark)); + SwXFieldmark::CreateXFieldmark(rDoc, pFieldmark)); } } else if (CH_TXT_ATR_FIELDSEP == Char) @@ -429,34 +426,28 @@ lcl_ExportFieldMark( else if (CH_TXT_ATR_FIELDEND == Char) { ::sw::mark::IFieldmark* pFieldmark = nullptr; - if (pDoc) - { - pFieldmark = pDoc->getIDocumentMarkAccess()-> - getFieldmarkAt(*pUnoCursor->GetMark()); - } + pFieldmark = rDoc.getIDocumentMarkAccess()-> + getFieldmarkAt(*pUnoCursor->GetMark()); SwXTextPortion* pPortion = new SwXTextPortion( pUnoCursor, i_xParentText, PORTION_FIELD_END); xRef = pPortion; - if (pFieldmark && pDoc) + if (pFieldmark) { pPortion->SetBookmark( - SwXFieldmark::CreateXFieldmark(*pDoc, pFieldmark)); + SwXFieldmark::CreateXFieldmark(rDoc, pFieldmark)); } } else if (CH_TXT_ATR_FORMELEMENT == Char) { - ::sw::mark::IFieldmark* pFieldmark = nullptr; - if (pDoc) - { - pFieldmark = pDoc->getIDocumentMarkAccess()->getFieldmarkAt(*pUnoCursor->GetMark()); - } + ::sw::mark::IFieldmark* pFieldmark = + rDoc.getIDocumentMarkAccess()->getFieldmarkAt(*pUnoCursor->GetMark()); SwXTextPortion* pPortion = new SwXTextPortion( pUnoCursor, i_xParentText, PORTION_FIELD_START_END); xRef = pPortion; - if (pFieldmark && pDoc) + if (pFieldmark) { pPortion->SetBookmark( - SwXFieldmark::CreateXFieldmark(*pDoc, pFieldmark)); + SwXFieldmark::CreateXFieldmark(rDoc, pFieldmark)); } } else @@ -472,13 +463,13 @@ lcl_CreateRefMarkPortion( const SwUnoCursor * const pUnoCursor, const SwTextAttr & rAttr, const bool bEnd) { - SwDoc* pDoc = pUnoCursor->GetDoc(); + SwDoc& rDoc = pUnoCursor->GetDoc(); SwFormatRefMark& rRefMark = const_cast<SwFormatRefMark&>( static_cast<const SwFormatRefMark&>(rAttr.GetAttr())); Reference<XTextContent> xContent; if (!xContent.is()) { - xContent = SwXReferenceMark::CreateXReferenceMark(*pDoc, &rRefMark); + xContent = SwXReferenceMark::CreateXReferenceMark(rDoc, &rRefMark); } SwXTextPortion* pPortion = nullptr; @@ -515,11 +506,11 @@ lcl_CreateTOXMarkPortion( const SwUnoCursor * const pUnoCursor, SwTextAttr & rAttr, const bool bEnd) { - SwDoc* pDoc = pUnoCursor->GetDoc(); + SwDoc& rDoc = pUnoCursor->GetDoc(); SwTOXMark & rTOXMark = static_cast<SwTOXMark&>(rAttr.GetAttr()); const Reference<XTextContent> xContent = - SwXDocumentIndexMark::CreateXDocumentIndexMark(*pDoc, & rTOXMark); + SwXDocumentIndexMark::CreateXDocumentIndexMark(rDoc, & rTOXMark); SwXTextPortion* pPortion = nullptr; if (!bEnd) @@ -723,7 +714,7 @@ lcl_ExportHints( // if the attribute has a dummy character, then xRef is set (except META) // otherwise, the portion for the attribute is inserted into rPortions! Reference<XTextRange> xRef; - SwDoc* pDoc = pUnoCursor->GetDoc(); + SwDoc& rDoc = pUnoCursor->GetDoc(); //search for special text attributes - first some ends size_t nEndIndex = 0; sal_Int32 nNextEnd = 0; @@ -828,7 +819,7 @@ lcl_ExportHints( new SwXTextPortion( pUnoCursor, xParent, PORTION_FIELD); Reference<XTextField> const xField = - SwXTextField::CreateXTextField(pDoc, + SwXTextField::CreateXTextField(&rDoc, &pAttr->GetFormatField()); pPortion->SetTextField(xField); } @@ -847,14 +838,14 @@ lcl_ExportHints( { SwXTextPortion* pPortion = new SwXTextPortion( pUnoCursor, xParent, PORTION_ANNOTATION_END ); pPortion->SetBookmark(SwXBookmark::CreateXBookmark( - *pDoc, pAnnotationMark)); + rDoc, pAnnotationMark)); xRef = pPortion; } else { SwXTextPortion* pPortion = new SwXTextPortion( pUnoCursor, xParent, PORTION_ANNOTATION ); Reference<XTextField> xField = - SwXTextField::CreateXTextField(pDoc, + SwXTextField::CreateXTextField(&rDoc, &pAttr->GetFormatField()); pPortion->SetTextField(xField); xRef = pPortion; @@ -874,7 +865,7 @@ lcl_ExportHints( new SwXTextPortion( pUnoCursor, xParent, PORTION_FIELD); xRef = pPortion; Reference<XTextField> xField = - SwXTextField::CreateXTextField(pDoc, + SwXTextField::CreateXTextField(&rDoc, &pAttr->GetFormatField()); pPortion->SetTextField(xField); } @@ -907,7 +898,7 @@ lcl_ExportHints( xRef = pPortion = new SwXTextPortion( pUnoCursor, xParent, PORTION_FOOTNOTE); Reference<XFootnote> xContent = - SwXFootnotes::GetObject(*pDoc, pAttr->GetFootnote()); + SwXFootnotes::GetObject(rDoc, pAttr->GetFootnote()); pPortion->SetFootnote(xContent); } } @@ -1309,22 +1300,22 @@ static void lcl_CreatePortions( pUnoCursor->Right(i_nStartPos); } - SwDoc * const pDoc = pUnoCursor->GetDoc(); + SwDoc& rDoc = pUnoCursor->GetDoc(); std::deque<sal_Int32> FieldMarks; lcl_FillFieldMarkArray(FieldMarks, *pUnoCursor, i_nStartPos); SwXBookmarkPortion_ImplList Bookmarks; - lcl_FillBookmarkArray(*pDoc, *pUnoCursor, Bookmarks); + lcl_FillBookmarkArray(rDoc, *pUnoCursor, Bookmarks); SwXRedlinePortion_ImplList Redlines; - lcl_FillRedlineArray(*pDoc, *pUnoCursor, Redlines); + lcl_FillRedlineArray(rDoc, *pUnoCursor, Redlines); SwSoftPageBreakList SoftPageBreaks; lcl_FillSoftPageBreakArray(*pUnoCursor, SoftPageBreaks); SwAnnotationStartPortion_ImplList AnnotationStarts; - lcl_FillAnnotationStartArray( *pDoc, *pUnoCursor, AnnotationStarts ); + lcl_FillAnnotationStartArray( rDoc, *pUnoCursor, AnnotationStarts ); PortionStack_t PortionStack; PortionStack.push( PortionList_t(&i_rPortions, nullptr) ); diff --git a/sw/source/core/unocore/unoredline.cxx b/sw/source/core/unocore/unoredline.cxx index 4ba69d93b553..4a25cd38cd61 100644 --- a/sw/source/core/unocore/unoredline.cxx +++ b/sw/source/core/unocore/unoredline.cxx @@ -210,7 +210,7 @@ uno::Any SwXRedlinePortion::getPropertyValue( const OUString& rPropertyName ) if ( 1 < ( pNodeIdx->GetNode().EndOfSectionIndex() - pNodeIdx->GetNode().GetIndex() ) ) { SwUnoCursor& rUnoCursor = GetCursor(); - uno::Reference<text::XText> xRet = new SwXRedlineText(rUnoCursor.GetDoc(), *pNodeIdx); + uno::Reference<text::XText> xRet = new SwXRedlineText(&rUnoCursor.GetDoc(), *pNodeIdx); aRet <<= xRet; } else { @@ -232,8 +232,8 @@ bool SwXRedlinePortion::Validate() { SwUnoCursor& rUnoCursor = GetCursor(); //search for the redline - SwDoc* pDoc = rUnoCursor.GetDoc(); - const SwRedlineTable& rRedTable = pDoc->getIDocumentRedlineAccess().GetRedlineTable(); + SwDoc& rDoc = rUnoCursor.GetDoc(); + const SwRedlineTable& rRedTable = rDoc.getIDocumentRedlineAccess().GetRedlineTable(); bool bFound = false; for(size_t nRed = 0; nRed < rRedTable.size() && !bFound; nRed++) { @@ -277,7 +277,7 @@ uno::Any SwXRedlinePortion::GetPropertyValue( const OUString& rPropertyName, co } else if (rPropertyName == UNO_NAME_IS_IN_HEADER_FOOTER) { - aRet <<= rRedline.GetDoc()->IsInHeaderFooter( rRedline.GetPoint()->nNode ); + aRet <<= rRedline.GetDoc().IsInHeaderFooter( rRedline.GetPoint()->nNode ); } else if (rPropertyName == UNO_NAME_MERGE_LAST_PARA) { @@ -321,7 +321,7 @@ uno::Sequence< beans::PropertyValue > SwXRedlinePortion::CreateRedlineProperties { if ( 1 < ( pNodeIdx->GetNode().EndOfSectionIndex() - pNodeIdx->GetNode().GetIndex() ) ) { - uno::Reference<text::XText> xRet = new SwXRedlineText(rRedline.GetDoc(), *pNodeIdx); + uno::Reference<text::XText> xRet = new SwXRedlineText(&rRedline.GetDoc(), *pNodeIdx); pRet[nPropIdx].Name = UNO_NAME_REDLINE_TEXT; pRet[nPropIdx++].Value <<= xRet; } diff --git a/sw/source/core/unocore/unorefmk.cxx b/sw/source/core/unocore/unorefmk.cxx index 3d6cd98f3551..aa94abd1a229 100644 --- a/sw/source/core/unocore/unorefmk.cxx +++ b/sw/source/core/unocore/unorefmk.cxx @@ -206,9 +206,9 @@ void SwXReferenceMark::Impl::InsertRefMark(SwPaM& rPam, //! in some cases when this function is called the pDoc pointer member may have become //! invalid/deleted thus we obtain the document pointer from rPaM where it should always //! be valid. - SwDoc *pDoc2 = rPam.GetDoc(); + SwDoc& rDoc2 = rPam.GetDoc(); - UnoActionContext aCont(pDoc2); + UnoActionContext aCont(&rDoc2); SwFormatRefMark aRefMark(m_sMarkName); bool bMark = *rPam.GetPoint() != *rPam.GetMark(); @@ -225,7 +225,7 @@ void SwXReferenceMark::Impl::InsertRefMark(SwPaM& rPam, rPam.GetPoint()->nContent.GetIndex(), RES_TXTATR_REFMARK); } - pDoc2->getIDocumentContentOperations().InsertPoolItem( rPam, aRefMark, nInsertFlags ); + rDoc2.getIDocumentContentOperations().InsertPoolItem( rPam, aRefMark, nInsertFlags ); if( bMark && *rPam.GetPoint() > *rPam.GetMark()) { @@ -431,7 +431,7 @@ void SAL_CALL SwXReferenceMark::setName(const OUString& rName) m_pImpl->m_sMarkName = rName; //create a new one m_pImpl->InsertRefMark( aPam, nullptr ); - m_pImpl->m_pDoc = aPam.GetDoc(); + m_pImpl->m_pDoc = &aPam.GetDoc(); } } } diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx index fe79c13a4482..86b0b7ca5446 100644 --- a/sw/source/core/unocore/unotbl.cxx +++ b/sw/source/core/unocore/unotbl.cxx @@ -1487,7 +1487,7 @@ SwXTextTableCursor::SwXTextTableCursor(SwFrameFormat& rTableFormat, const SwTabl , m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_TABLE_CURSOR)) { StartListening(m_pFrameFormat->GetNotifier()); - m_pUnoCursor = pTableSelection->GetDoc()->CreateUnoCursor(*pTableSelection->GetPoint(), true); + m_pUnoCursor = pTableSelection->GetDoc().CreateUnoCursor(*pTableSelection->GetPoint(), true); if(pTableSelection->HasMark()) { m_pUnoCursor->SetMark(); @@ -1561,7 +1561,7 @@ sal_Bool SwXTextTableCursor::goUp(sal_Int16 Count, sal_Bool bExpand) SwUnoTableCursor& rTableCursor = dynamic_cast<SwUnoTableCursor&>(rUnoCursor); lcl_CursorSelect(rTableCursor, bExpand); return rTableCursor.UpDown(true, Count, nullptr, 0, - *rUnoCursor.GetDoc()->getIDocumentLayoutAccess().GetCurrentLayout()); + *rUnoCursor.GetDoc().getIDocumentLayoutAccess().GetCurrentLayout()); } sal_Bool SwXTextTableCursor::goDown(sal_Int16 Count, sal_Bool bExpand) @@ -1571,7 +1571,7 @@ sal_Bool SwXTextTableCursor::goDown(sal_Int16 Count, sal_Bool bExpand) SwUnoTableCursor& rTableCursor = dynamic_cast<SwUnoTableCursor&>(rUnoCursor); lcl_CursorSelect(rTableCursor, bExpand); return rTableCursor.UpDown(false, Count, nullptr, 0, - *rUnoCursor.GetDoc()->getIDocumentLayoutAccess().GetCurrentLayout()); + *rUnoCursor.GetDoc().getIDocumentLayoutAccess().GetCurrentLayout()); } void SwXTextTableCursor::gotoStart(sal_Bool bExpand) @@ -1605,8 +1605,8 @@ sal_Bool SwXTextTableCursor::mergeRange() rTableCursor.MakeBoxSels(); bool bResult; { - UnoActionContext aContext(rUnoCursor.GetDoc()); - bResult = TableMergeErr::Ok == rTableCursor.GetDoc()->MergeTable(rTableCursor); + UnoActionContext aContext(&rUnoCursor.GetDoc()); + bResult = TableMergeErr::Ok == rTableCursor.GetDoc().MergeTable(rTableCursor); } if(bResult) { @@ -1632,8 +1632,8 @@ sal_Bool SwXTextTableCursor::splitRange(sal_Int16 Count, sal_Bool Horizontal) rTableCursor.MakeBoxSels(); bool bResult; { - UnoActionContext aContext(rUnoCursor.GetDoc()); - bResult = rTableCursor.GetDoc()->SplitTable(rTableCursor.GetSelectedBoxes(), !Horizontal, Count); + UnoActionContext aContext(&rUnoCursor.GetDoc()); + bResult = rTableCursor.GetDoc().SplitTable(rTableCursor.GetSelectedBoxes(), !Horizontal, Count); } rTableCursor.MakeBoxSels(); return bResult; @@ -1661,7 +1661,7 @@ void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName, const u } auto& rTableCursor = dynamic_cast<SwUnoTableCursor&>(rUnoCursor); rTableCursor.MakeBoxSels(); - SwDoc* pDoc = rUnoCursor.GetDoc(); + SwDoc& rDoc = rUnoCursor.GetDoc(); switch(pEntry->nWID) { case FN_UNO_TABLE_CELL_BACKGROUND: @@ -1669,7 +1669,7 @@ void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName, const u std::unique_ptr<SfxPoolItem> aBrush(std::make_unique<SvxBrushItem>(RES_BACKGROUND)); SwDoc::GetBoxAttr(rUnoCursor, aBrush); aBrush->PutValue(aValue, pEntry->nMemberId); - pDoc->SetBoxAttr(rUnoCursor, *aBrush); + rDoc.SetBoxAttr(rUnoCursor, *aBrush); } break; @@ -1677,7 +1677,7 @@ void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName, const u { SfxUInt32Item aNumberFormat(RES_BOXATR_FORMAT); aNumberFormat.PutValue(aValue, 0); - pDoc->SetBoxAttr(rUnoCursor, aNumberFormat); + rDoc.SetBoxAttr(rUnoCursor, aNumberFormat); } break; case FN_UNO_PARA_STYLE: @@ -1685,7 +1685,7 @@ void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName, const u break; default: { - SfxItemSet aItemSet(pDoc->GetAttrPool(), {{pEntry->nWID, pEntry->nWID}}); + SfxItemSet aItemSet(rDoc.GetAttrPool(), {{pEntry->nWID, pEntry->nWID}}); SwUnoCursorHelper::GetCursorAttr(rTableCursor.GetSelRing(), aItemSet); @@ -1737,7 +1737,7 @@ uno::Any SwXTextTableCursor::getPropertyValue(const OUString& rPropertyName) break; default: { - SfxItemSet aSet(rTableCursor.GetDoc()->GetAttrPool(), + SfxItemSet aSet(rTableCursor.GetDoc().GetAttrPool(), svl::Items<RES_CHRATR_BEGIN, RES_FRMATR_END-1, RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER>{}); SwUnoCursorHelper::GetCursorAttr(rTableCursor.GetSelRing(), aSet); @@ -3383,7 +3383,7 @@ SwXCellRange::setPropertyValue(const OUString& rPropertyName, const uno::Any& aV if ( pEntry->nFlags & beans::PropertyAttribute::READONLY) throw beans::PropertyVetoException("Property is read-only: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) ); - SwDoc *const pDoc = m_pImpl->m_pTableCursor->GetDoc(); + SwDoc& rDoc = m_pImpl->m_pTableCursor->GetDoc(); SwUnoTableCursor& rCursor(dynamic_cast<SwUnoTableCursor&>(*m_pImpl->m_pTableCursor)); { // HACK: remove pending actions for selecting old style tables @@ -3397,13 +3397,13 @@ SwXCellRange::setPropertyValue(const OUString& rPropertyName, const uno::Any& aV std::unique_ptr<SfxPoolItem> aBrush(std::make_unique<SvxBrushItem>(RES_BACKGROUND)); SwDoc::GetBoxAttr(*m_pImpl->m_pTableCursor, aBrush); aBrush->PutValue(aValue, pEntry->nMemberId); - pDoc->SetBoxAttr(*m_pImpl->m_pTableCursor, *aBrush); + rDoc.SetBoxAttr(*m_pImpl->m_pTableCursor, *aBrush); } break; case RES_BOX : { - SfxItemSet aSet(pDoc->GetAttrPool(), + SfxItemSet aSet(rDoc.GetAttrPool(), svl::Items<RES_BOX, RES_BOX, SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER>{}); SvxBoxInfoItem aBoxInfo( SID_ATTR_BORDER_INNER ); @@ -3431,14 +3431,14 @@ SwXCellRange::setPropertyValue(const OUString& rPropertyName, const uno::Any& aV SvxBoxItem aBoxItem(aSet.Get(RES_BOX)); static_cast<SfxPoolItem&>(aBoxItem).PutValue(aValue, pEntry->nMemberId); aSet.Put(aBoxItem); - pDoc->SetTabBorders(*m_pImpl->m_pTableCursor, aSet); + rDoc.SetTabBorders(*m_pImpl->m_pTableCursor, aSet); } break; case RES_BOXATR_FORMAT: { SfxUInt32Item aNumberFormat(RES_BOXATR_FORMAT); static_cast<SfxPoolItem&>(aNumberFormat).PutValue(aValue, 0); - pDoc->SetBoxAttr(rCursor, aNumberFormat); + rDoc.SetBoxAttr(rCursor, aNumberFormat); } break; case FN_UNO_RANGE_ROW_LABEL: @@ -3466,12 +3466,12 @@ SwXCellRange::setPropertyValue(const OUString& rPropertyName, const uno::Any& aV sal_Int16 nAlign = -1; aValue >>= nAlign; if( nAlign >= text::VertOrientation::NONE && nAlign <= text::VertOrientation::BOTTOM) - pDoc->SetBoxAlign( rCursor, nAlign ); + rDoc.SetBoxAlign( rCursor, nAlign ); } break; default: { - SfxItemSet aItemSet( pDoc->GetAttrPool(), {{pEntry->nWID, pEntry->nWID}} ); + SfxItemSet aItemSet( rDoc.GetAttrPool(), {{pEntry->nWID, pEntry->nWID}} ); SwUnoCursorHelper::GetCursorAttr(rCursor.GetSelRing(), aItemSet); @@ -3510,8 +3510,8 @@ uno::Any SAL_CALL SwXCellRange::getPropertyValue(const OUString& rPropertyName) break; case RES_BOX : { - SwDoc *const pDoc = m_pImpl->m_pTableCursor->GetDoc(); - SfxItemSet aSet(pDoc->GetAttrPool(), + SwDoc& rDoc = m_pImpl->m_pTableCursor->GetDoc(); + SfxItemSet aSet(rDoc.GetAttrPool(), svl::Items<RES_BOX, RES_BOX, SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER>{}); aSet.Put(SvxBoxInfoItem( SID_ATTR_BORDER_INNER )); @@ -3552,7 +3552,7 @@ uno::Any SAL_CALL SwXCellRange::getPropertyValue(const OUString& rPropertyName) default: { SfxItemSet aSet( - m_pImpl->m_pTableCursor->GetDoc()->GetAttrPool(), + m_pImpl->m_pTableCursor->GetDoc().GetAttrPool(), svl::Items< RES_CHRATR_BEGIN, RES_FRMATR_END - 1, RES_UNKNOWNATR_CONTAINER, @@ -3979,7 +3979,7 @@ void SwXTableRows::insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) pUnoCursor->Move( fnMoveForward, GoInNode ); { // remove actions - TODO: why? - UnoActionRemoveContext aRemoveContext(pUnoCursor->GetDoc()); + UnoActionRemoveContext aRemoveContext(&pUnoCursor->GetDoc()); } pFrameFormat->GetDoc()->InsertRow(*pUnoCursor, static_cast<sal_uInt16>(nCount), bAppend); } @@ -4134,7 +4134,7 @@ void SwXTableColumns::insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) { // remove actions - TODO: why? - UnoActionRemoveContext aRemoveContext(pUnoCursor->GetDoc()); + UnoActionRemoveContext aRemoveContext(&pUnoCursor->GetDoc()); } pFrameFormat->GetDoc()->InsertCol(*pUnoCursor, static_cast<sal_uInt16>(nCount), bAppend); |