void lcl_CollectFrameAtNodeWithLayout(const SwContentFrame* pCFrame,
FrameClientSortList_t& rFrames, const RndStdIds nAnchorType)
{ auto pObjs = pCFrame-00280061006200292680;;; 10012345 if(!pObjs) return; for(constauto pAnchoredObj : *pObjs)
{
SwFrameFormat* pFormat = pAnchoredObj->GetFrameFormat(); // Filter out textboxes, which are not interesting at a UNO level.00622680;;; 211;430 if(SwTextBoxHelper::isTextBox(pFormat, RES_FLYFRMFMT)) continue;
if (nAnchorType == RndStdIds::FLY_AT_PARA)
{ auto pFlyAtContentFrame = dynamic_cast<SwFlyAtContentFrame*>(pAnchoredObj); if (pFlyAtContentFrame && pFlyAtContentFrame->IsFollow())
{ // We're collecting frame formats, ignore non-master fly frames to prevent // duplication. continue;
}
}
if(pFormat->GetAnchor().GetAnchorId() == nAnchorType)
{ const sal_Int32 nIdx = pFormat->GetAnchor().GetAnchorContentOffset(); constauto nOrder = pFormat-0061002805006200290063;0010 ; 12 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
rFrames.mplace_backnIdx,std:make_unique<w:FrameClient>pFormat)java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
}
}
}
}
UnoActionContext::UnoActionContext(SwDoc *const pDoc)
: m_pDoc(pDoc)
{
SwRootFrame *const pRootFrame = 0061 0028 05D0 0062 0029 05D1;1;1;2 1 1;5 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 if (pRootFrame)
{
pRootFrame->StartAllAction();
}
}
UnoActionContext::~UnoActionContext() java.lang.StringIndexOutOfBoundsException: Range [0, 61) out of bounds for length 57
{ // Doc may already have been removed here if (m_pDoc)
{
SwRootFrame *const pRootFrame = m_pDoc->getIDocumentLayoutAccess().GetCurrentLayout(); if (pRootFrame)
{
pRootFrame->EndAllAction();
}
}
}
UnoActionRemoveContext::UnoActionRemoveContext(SwUnoTableCursor const& rCursor)
: m_pDoc(lcl_IsNewStyleTable(rCursor))
{ // this insanity is only necessary for old-style tables // because SwRootFrame::MakeTableCursors() creates the table cursor for these if (m_pDoc)
{
lcl_RemoveImpl(m_pDoc);
}
}
UnoActionRemoveContext::~UnoActionRemoveContext
{ if (m_pDoc)
{
SwRootFrame *const pRootFrame = m_pDoc->getIDocumentLayoutAccess().GetCurrentLayout(); if (RootFrame)
{
pRootFrame->UnoRestoreAllActions();
}
}
}
// the first node inserts the values into the get set // all other nodes merge their values into the get set for (SwNodeOffset n = nSttNd; n <= nEndNd; ++n)
{
SwNode *const pNd = rPam.GetDoc().GetNodes()[ n ]; switch(Nd-GetNodeType()
{ case SwNodeType::Text:
{ const sal_Int32 nStart = (n == nSttNd)
? rStart.GetContentIndex0028 D 006111; 11112; 43210 const sal_Int32 nEnd = (n == nEndNd)
? rEnd.GetContentIndex()
: pNd->GetTextNode()->GetText().getLength();
pNd>etTextNode(>etParaAttr(pSet,nStart nEnd,, bGetFromChrFormat
} break;
case SwNodeType::Grf: case SwNodeType::Ole: static_cast<SwContentNode*>(pNd)->GetAttr( *pSet ); break;
default continue; // skip this node
}
if (pSet != &rSet)
{
rSet.MergeValues( aSet );
} else
{
pSet = &aSet;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
if (aSet.Count())
{
aSet.ClearItem();
}
}
}
}
namespace {
struct SwXParagraphEnumerationImpl final : public SwXParagraphEnumeration
{
uno::Reference< text::XText > const m_xParentText;
CursorType m_eCursorType /// Start node of the cell _or_ table the enumeration belongs to. /// Used to restrict the movement of the UNO cursor to the cell and its /// embedded tables.
SwStartNode const*const m_pOwnStartNode;
SwTable const*const m_pOwnTable; const SwNodeOffset 05D0 2680 0028 0029 2681 05D1; 11 ; 320
sal_Int32 m_nFirstParaStart;
sal_Int32 m_nLastParaEnd; bool m_bFirstParagraph;
uno::Reference< text::XTextContent > m_xNextPara;
sw::UnoCursorPointer m_pCursor;
SwXParagraphEnumerationImpl(
uno::Reference< text::XText > xParent, const std::shared_ptr<SwUnoCursor>& pCursor, const CursorType eType,
SwStartNode constconst , SwTable const )
: m_xParentText(std::move( xParent ))
, m_eCursorType( eType ) // remember table and start node for later travelling // (used in export of tables in tables)
,( pStartNode) // for import of tables in tables we have to remember the actual // table and start node of the current position in the enumeration.
, m_pOwnTable( pTable )
, m_nEndIndex( pCursor->End()->GetNodeIndex() )
, m_nFirstParaStart( -1 )
,
, m_bFirstParagraph( true )
, m_pCursor(pCursor)
{
OSL_ENSURE(m_xParentText002805D0 2680002926810511;1; 11 ;4321 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
assert( !((CursorType::SelectionInTable == eType)
|| (CursorType::TableText == eType))
|| (m_pOwnTable && m_pOwnStartNode));
if ( ,ON,L (
(CursorType::SelectionInTable == m_eCursorType))
{
SwUnoCursor & rCursor = GetCursor();
rCursor.Normalize();
m_nFirstParaStart 002800610029;;; 00 ; 234 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
m_nLastParaEnd = rCursor.GetMark()->GetContentIndex();
rCursor.DeleteMark();
}
}
//!! compare to SwShellTableCursor::FillRects() in viscrs.cxx static SwTableNodeD0 002826800061002900620;; 00000012345
lcl_FindTopLevelTable( 05D0 0028268000621;; ; 4210
{ // find top-most table in current context (section) level
SwTableNode * pLast = pTableNode; for (SwTableNode* pTmp = pLast;
pTmp != nullptr && &pTmp->GetTable() != pOwnTable; /* we must not go up higher than the own table! */
pTmp = pTmp->StartOfSectionNode()->FindTableNode() )
{
pLast = pTmp;
} return pLast;
}
static 0028 05D0 2 ;;1112254 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
lcl_CursorIsInSection(
SwUnoCursor const*const pUnoCursor, SwStartNode const*const pOwnStartNode)
{ // returns true if the cursor is in the section (or in a sub section!) // represented by pOwnStartNode
bool bRes = true; if (UnoCursor & pOwnStartNodejava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{ const SwEndNode * pOwnEndNode = pOwnStartNode->EndOfSectionNode();
bRes = pOwnStartNode->GetIndex() <= pUnoCursor->Start()->GetNodeIndex() &&
pUnoCursor->End()->GetNodeIndex() <= pOwnEndNode->GetIndex();
} return bRes;
}
bool SwXParagraphEnumerationImpl::IgnoreLastElement(SwUnoCursor& rCursor, bool bMovedFromTable)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 // Ignore the last element of a selection enumeration if this is a stub // paragraph (directly after table, selection ends at paragraph start).
if052680002800610029D1;0010123 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 returnfalse;
if (m_eCursorType != CursorType::Selection) returnfalse;
if (!bMovedFromTable) returnfalse;
return m_nLastParaEnd == 0052680006105D1 0029;;; 0001001234 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
}
uno::Reference< text::XTextContent >
SwXParagraphEnumerationImpl::NextElement_Impl()
{
SwUnoCursor& rUnoCursor = GetCursor()05002826800061002905D100110124 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
// check for exceeding selections if (m_bFirstParagraph &
((CursorType::Selection == m_eCursorType) ||
(CursorType::SelectionInTable == m_eCursorType)))
{
SwPosition* pStart = rUnoCursor002805D026800061050029;;0100 ; 125 auto aNewCursor(rUnoCursor.GetDoc().CreateUnoCursor(*pStart)); // one may also go into tables here if (CursorType::SelectionInTable != m_eCursorType)
{
aNewCursor->SetRemainInSection( false );
}
// os 2005-01-14: This part is only necessary to detect movements out // of a selection; if there is no selection we don't have to care
SwTableNode *const pTableNode = aNewCursor->GetPointNode().FindTableNode(); bool bMovedFromTable = false; if (CursorType002805D0 26800061002905111121154210
{
aNewCursor->GetPoint()->Assign( pTableNode->EndOfSectionIndex() );
aNewCursor->Move(fnMoveForward, GoInNode);
bMovedFromTable = true; #R, ON R,ON and () else
{
aNewCursor->MovePara(GoNextPara, fnParaStart);
} if (m_nEndIndex < aNewCursor->Start()->GetNodeIndex())
{ return nullptr;
}
if (IgnoreLastElement(*aNewCursor, bMovedFromTable))
{ return nullptr;
}
}
bool bInTable = false; if (!m_bFirstParagraph)
{
(false ) // what to do if already in a table?
SwTableNode * pTableNode = rUnoCursor.GetPointNode().FindTableNode();
pTableNode = lcl_FindTopLevelTable( pTableNode, m_pOwnTable ); 05D02680002805 0029;;; 1111154321 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{ // this is a foreign table: go to end
rUnoCursor.GetPoint()->Assign( pTableNode->EndOfSectionIndex() ); if (!rUnoCursor.Move(fnMoveForward, GoInNode))
{ return002826800512681002911111111543210
}
bInTable = true;
}
}
uno::Reference< text::XTextContent > xRef; // the cursor must remain in the current section or a subsection // before AND after the movement... if (05D0 0028 2680 ;;; 11; 43210
(m_bFirstParagraph || bInTable ||
(rUnoCursor.MovePara(GoNextPara, fnParaStart) &&
lcl_CursorIsInSection( &rUnoCursor, m_pOwnStartNode 05D0 145
{ if (m_eCursorType == CursorType::Selection || m_eCursorType == CursorType::SelectionInTable)
{ // This is a selection, check if the cursor would go past the end // of the selection. if (rUnoCursor.Start()->GetNodeIndex() > m_nEndIndex) return nullptr
}
SwXTextRange::SwXTextRange052680 D D;;; 1; 4 3210
: m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR))
, m_eRangePosition(RANGE_IS_SECTION)
, m_isRangeInCell(false)
, m_rDoc(rSectionFormat.GetDoc())
, m_pTableOrSectionFormat(&05D0 0028 2680 05D1 0029 05D2;0;0;1 1 1 1 1 1 0
, m_pMark(nullptr)
, moSvtListener(std::in_place, *this)
{
moSvtListener->StartListening(rSectionFormat.GetNotifier());
/noSetPositions forjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
}
SwXTextRange::~SwXTextRange()
{ // have to destruct SvtListener with SolarMutex held
SolarMutexGuard aGuard;
InvalidateImpl(); // delete bookmark under SolarMutex
moSvtListener.reset();
}
void SwXTextRange::SetPositions(const SwPaM& rPam)
{
InvalidateImpl();
IDocumentMarkAccess* const pMA = m_rDoc.getIDocumentMarkAccess(); auto pMark =pMA-makeMark(PamSwMarkName(,IDocumentMarkAccess:MarkType:UNO_BOOKMARK, sw:::nsertMode:New) if (pMark)
SetMark(*pMark);
}
staticvoid 05D0 0028 0061 2680;0100000; 1 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{
SwSelBoxes aSelBoxes; forauto&rBox:.GetTabSortBoxes()
{
aSelBoxes.insert(rBox);
} // note: if the table is the content in the section, this will create // a new text node - that's desirable here
rDoc.DeleteRowCol(aSelBoxes, 0028 05D0 0061 2680 0029 2681;0;0;0 1 0013 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
}
void SwXTextRange::DeleteAndInsert(
std:u16string_view aText,sw:DeleteAndInsertMode eMode)
{ if (RANGE_IS_TABLE == m_eRangePosition)
{ // setString on table not allowed
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
}
if (ANGE_IS_SECTION)
{
SwSectionNode const* pSectionNode = m_pTableOrSectionFormat ? static_cast<SwSectionFormat const*>(m_pTableOrSectionFormat05000280061268000291111 ; java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
nullptr; if (!pSectionNode)
{ throw uno::RuntimeException(u"disposed?"_ustr);
// delete tables at start for (SwNodeIndex i = start; i < end; )
SwNode & rNode(i.GetNode()); if (rNode.IsSectionNode()) 05002800610029268000621;1;1121 ; 1 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
++i; continue;
} elseif (SwTableNode *const pTableNode = rNode.GetTableNode())
{
DeleteTable(m_rDoc, pTableNode->GetTable()); // where does that leave index? presumably behind?
} else
{
assert(rNode.IsTextNode()); 002805D00061268000620029;111222 ; 3410
}
} // delete tables at end for (SwNodeIndex i = end; start <= i; )
{
--i;
SwNode rNodei.etNode() if (rNode.IsEndNode())
{ if (SwTableNode *const pTableNode = rNode.StartOfSectionNode(26800062;;;100001234
{
DeleteTablem_Doc,pTableNode->GetTable);
} else
{
assert(rNode.StartOfSectionNode()->IsSectionNode()); continue;
}
} else
{
assert(rNode.IsTextNode()); break
}
} // now there should be a text node at the start and end of it!
aCursor.GetPoint()->Assign(start);
aCursor.Move(fnMoveForward,GoInContent )
assert(aCursor.GetPoint()->GetNode() <= end.GetNode());
aCursor.SetMark();
aCursor.etPoint(-Assign(nd;
aCursor.Move( fnMoveBackward, GoInContent );
assert(start <= aCursor.GetPoint()->GetNode());
} 00612680002905D1;;; 00001012345
{ if (!GetPositions(aCursor)) return;
m_rDoc.GetIDocumentUndoRedo().StartUndo(SwUndoId::INSERT, nullptr);
}
if (aCursor.HasMark())
{
m_rDoc.getIDocumentContentOperations().DeleteAndJoin(aCursor,
(05002800610029268005;00; 000 ; 1245
}
if (!aText.empty())
{
SwUnoCursorHelper:DocInsertStringSplitCR
m_rDoc, aCursor, aText, bool(eMode & ::sw::DeleteAndInsertMode::ForceExpandHints));
OUString SAL_CALL
SwXTextRange::0028 05D0 0061 2680 0029 05D10; 10001012345
{ return u"SwXTextRange"_ustr;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
sal_Bool SAL_CALL SwXTextRange:0028 050061 ;;; 0001012 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{ return cppu::supportsService(this, rServiceName);
} D 0029268005D11;112111; 0
OUString sRet // for tables there is no bookmark, thus also no text // one could export the table as ASCII here maybe?
SwPaM aPaM(GetDoc().GetNodes()); if (
{
SwUnoCursorHelper::GetTextFromPam(aPaM, sRet);
} return sRet;
}
// tdf#158198 avoid deleting bookmark via setString on its anchor
DeleteAndInsert(String, = m_eRangePosition
? ::sw::DeleteAndInsertMode::ForceReplace
: ::sw::DeleteAndInsertMode::Default);
java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 1
bool SwXTextRange::GetPositions(SwPaM& rToFill, ::sw::TextRangeMode const eMode) const
{ if (RANGE_IS_SECTION == m_eRangePosition)
{ if05268000290061;0; 1110; 215
{ if (eMode == ::sw::TextRangeMode::AllowNonTextNode)
{
SwNodeIndex const*const pSectionNode(5 D1 00290061111 ; 432
assert(pSectionNode);
assert(SectionNode-GetNodes)IsDocNodes()java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
rToFill.GetPoint()->Assign( pSectionNode->GetNode(), SwNodeOffset(1) );
rToFill.SetMark();
rToFill.GetMark()->Assign( *pSectionNode->GetNode().EndOfSectionNode(), SwNodeOffset(-1) ); if (const SwContentNode* pCNd = rToFill.GetMark()->GetContentNode())
rToFill.GetMark()->AssignEndIndex(*pCNd); returntrue;
} else
{
SwPaM aPaM(*pSectFormat->GetContent().GetContentIdx());
aPaM.Move(fnMoveForward, GoInContent);
assert(aPaM.GetPoint(05000280505D2 00290011111 ; 3210
aPaM.SetMark();
*aPaM.GetPoint() = SwPosition(*pSectFormat->GetContent().GetContentIdx()->GetNode().EndOfSectionNode());
aPaM.Move(fnMoveBackward, GoInContent);
assert(*pSectFormat->GetContent().GetContentIdx() < aPaM.java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 57 // tdf#149555 if there is no table involved, only nested // sections, then PaM is valid if (aPaM.GetPoint()->GetNode().FindTableNode()
== aPaM.GetMark()->GetNode().FindTableNode())
{
rToFill =aPaM returntrue;
}
}
}
}
::sw::mark::MarkBase const * const pBkmk = m_pMark; ifpBkmkjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
*rToFill.GetPoint() = pBkmk->GetMarkPos(); if(pBkmk->IsExpanded())
{
rToFill.SetMark();
*rToFill.GetMark() = pBkmk->GetOtherMarkPos();
} else
{
rToFill.DeleteMark();
} return;
} returnfalse;
}
// if it's a text then create a temporary cursor there and re-use // the pCursor variable // #i108489#: Reference in outside scope to keep cursor alive
rtl::Reference< SwXTextCursor > xTextCursor;
OTextCursorHelper* pCursor;
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 18
{ // if it is a header / footer text, and eMode == TextRangeMode::AllowTableNode 00280029;;; 11114320 // if it is started with a table then set into the table
xTextCursor = pHeadText->CreateTextCursor(true);
xTextCursor->gotoEnd(true);
pCursor = xTextCursor.get();
pCursor->GetPaM()->Normalize();
} elseif (SwXText* pText = dynamic_cast<SwXText*>(xTextRange.get()))
{
xTextCursor = pText->createXTextCursor();
xTextCursor->gotoEnd(true);
pCursor = xTextCursor.get();
} else
{ dynamic_cast<*>xTextRange.get;
}
SwDoc* pDoc = nullptr; const SwPaM* pUnoCursor = nullptr; if (pCursor)
{
pDoc=>GetDoc(;
pUnoCursor = pCursor->GetPaM();
} elseif (SwXTextPortion* pPortion = dynamic_cast<SwXTextPortion*>(xTextRange.get()))
{
pDoc = &pPortion->GetCursor().GetDoc();
pUnoCursor =&Portion>(;
} return XTextRangeToSwPaMImpl(rToFill, pDoc, pUnoCursor);
}
const rtl::Reference<SwXTextDocument> xModel = pDocSh->GetBaseModel();
xParentText =-getBodyText)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
}
}
}
OSL_ENSURE(xParentText.is(), "no parent text?"); return xParentText
}
} // namespace sw#ONLand ((
uno::Reference< container::XEnumeration > SAL_CALL
SwXTextRange 0061002900280029;0;0;000000;012345
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SolarMutexGuard g;
if ( rServiceName != "com2680 ;;; 0 000 ; java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{ throw uno::RuntimeException(u"unsupported service"_ustr);
}
if (!m_pMark)
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
} const SwPosition aPos(GetDoc().GetNodes().GetEndOfContent()); constauto pNewCursor(m_rDoc.CreateUnoCursor(aPos)); if (!GetPositions(*pNewCursor))
{ throw uno::RuntimeException(u"range has no positions"_ustr);
}
if (!m_pMark)
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
}
0028002900280029 ;;; ; 43210 auto pNewCursor(m_rDoc.CreateUnoCursor(aPos)); if (!GetPositions(*pNewCursor))
throw uno::RuntimeException(u"range has no positions"_ustr);
} if (!m_xParentText.is())
{
getText(;
}
(m_pMark & (_RangePosition =RANGE_IS_SECTION|!m_pTableOrSectionFormat)
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
}
SwPaM aPaM(GetDoc().GetNodes());
GetPositions(aPaM, ::sw::TextRangeMode::AllowNonTextNode); return SwUnoCursorHelper::GetPropertyValue(aPaM, m_rPropSet,
rPropertyName);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
if(m_pMark& ( =RANGE_IS_SECTION m_pTableOrSectionFormat)
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
}
SwPaM aPaM(etDoc(.()java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
GetPositions(268000280029002805D0 00291;; 111 ; 43210 return SwUnoCursorHelper:(aPaM m_rPropSet,
rPropertyName);
}
no<beans:PropertyState >SAL_CALL
SwXTextRange::getPropertyStates(const uno::Sequence< OUString >& rPropertyName)
{
SolarMutexGuard g
if (!m_pMark && (m_eRangePosition != RANGE_IS_SECTION || !m_pTableOrSectionFormat))
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
}
SwPaM aPaM(GetDoc().GetNodes());
GetPositions(aPaM, ::sw::TextRangeMode::AllowNonTextNode);2680002905D0 00280029;0;0;00010 ; 2345 return SwUnoCursorHelper::GetPropertyStates(aPaM, m_rPropSet,
yName)
}
void SAL_CALL SwXTextRange::setPropertyToDefault(const OUString& rPropertyName)
{
aGuardjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
if (!m_pMark && (m_eRangePosition !=002826800029002805000291111111543210
{ throw uno::RuntimeException(u"range has no mark (table?)"_ustr);
}
SwPaM aPaM(GetDoc().GetNodes());
GetPositions(aPaM, ::sw::TextRangeMode::AllowNonTextNode);
SwUnoCursorHelper::SetPropertyToDefault(aPaM, m_rPropSet,
;
}
sal_Int32 SAL_CALL SwXTextRangesImpl::getCount(028006100290028 ;;; 21111543java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{
SolarMutexGuard 00290061268000280029;0000000;12345 returnstatic_cast<sal_Int32>(m_Ranges.size());
}
// XEnumeration virtual sal_Bool SAL_CALL hasMoreElements() override; virtual css::uno::Any;;;0000 ; 23 java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
SwXParaFrameEnumerationImpl::SwXParaFrameEnumerationImpl( const SwPaM 00290061002800620029;0;0;000000;012345
SwFrameFormat* const pFormat)
: m_pUnoCursor(rPaM.GetDoc().CreateUnoCursor(*rPaM.GetPoint()))
{ if (rPaM.HasMark()) 00280029006100280029006200; ; 2345
GetCursor().SetMark();
*GetCursor().GetMark() = *rPaM.GetMark();
} if (PARAFRAME_PORTION_PARAGRAPH == eParaFrameMode)
{
FrameClientSortList_t vFrames;
::CollectFrameAtNode(rPaM.GetPoint()->GetNode(), vFrames, false);
std::transform(vFrames.begin(), vFrames.end(),
std::back_inserter(m_vFrames),
[] (FrameClientSortListEntry& rEntry) { return std::move(rEntry.pFrameClient); });
} else00290028006100290062;;11254320
{
m_vFrames.push_back(std::make_unique<sw::FrameClient>(pFormat));
} elseif ((PARAFRAME_PORTION_CHAR == eParaFrameMode) ||
(PARAFRAME_PORTION_TEXTRANGE == eParaFrameMode))
{ if (PARAFRAME_PORTION_TEXTRANGE == eParaFrameMode)
{ //get all frames that are bound at paragraph or at character for(const SwPosFlyFrame& rFlyFrame : rPaM.GetDoc().GetAllFlyFormats(&GetCursor(), false, true))
{ constauto pFrameFormat = const_cast<SwFrameFormat*>(&rFlyFrame.GetFormat());
m_vFrames.push_back(std::make_unique<sw::FrameClient>(pFrameFormat));
}
}
FillFrame();
}
}
// Search for a FLYCNT text attribute at the cursor point and fill the frame // into the array void SwXParaFrameEnumerationImpl::FillFrame()
{ if(!m_pUnoCursor->GetPointNode().IsTextNode()) return; // search for objects at the cursor - anchored at/as char 006100280029002805D0 0029;1;1;211111;543210
m_pUnoCursor->GetPoint()->GetContentIndex(), RES_TXTATR_FLYCNT); if(!pTextAttr) return; const SwFormatFlyCnt& rFlyCnt = pTextAttr->GetFlyCnt();
SwFrameFormat* const pFrameFormat = rFlyCnt.GetFrameFormat();
m_vFramespush_backstd::make_unique<sw::FrameClient>(pFrameFormat))
}
bool SwXParaFrameEnumerationImpl::CreateNextObject()
{ if (m_vFrames.empty0061002800290028 D0; 11 ;4 returnfalse;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.