87 std::pair<Point, bool>
const tmp(aPt,
true);
152 return nullptr != pFrame;
189 return nullptr != pFrame;
200 if( SIZE_MAX == nDescNo )
210 if (nDescNo < pMyDoc->GetPageDescCnt())
240 std::pair<Point, bool>
const tmp(aPt,
false);
241 if (pCNd &&
nullptr != pCNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp))
272 const SwSection* pSect = rFormats[ --
n ]->GetSection();
279 && (!pFnd || pFnd->
GetIndex() > pSectNd->GetIndex())
280 && (!pName || *pName ==
281 static_cast<SwTOXBaseSection const*>(pSect)->GetTOXName()))
323 const SwSection* pSect = rFormats[ --
n ]->GetSection();
330 && (!pFnd || pFnd->
GetIndex() < pSectNd->GetIndex())
331 && (!pName || *pName ==
332 static_cast<SwTOXBaseSection const*>(pSect)->GetTOXName()))
374 const SwTOXType* pType = aMarks[0]->GetTOXType();
378 assert(pContentFrame->IsTextFrame());
417 std::pair<Point, bool>
const tmp(aPt,
false);
434 pTBox = pFormulaItem->GetTableBox();
439 !pFormulaItem->HasValidBoxes() ) )
443 std::pair<Point, bool>
const tmp(aPt,
false);
452 if( bNext ? ( aCurGEF < aCmp && aCmp < aFndGEF )
453 : ( aCmp < aCurGEF && aFndGEF < aCmp ))
477 }
while( !bFnd && --nMaxDo );
487 aFndGEF.GetPosOfContent( rPos );
524 std::pair<Point, bool>
const tmp(aPt,
false);
539 auto pToxMarkItem =
dynamic_cast<const SwTOXMark*
>(pItem);
542 pTextTOX = pToxMarkItem->GetTextTOXMark();
548 std::pair<Point, bool>
const tmp(aPt,
false);
556 if( bNext ? ( aCurGEF < aCmp && aCmp < aFndGEF )
557 : ( aCmp < aCurGEF && aFndGEF < aCmp ))
591 aFndGEF.GetPosOfContent( rPos );
628 const bool bInReadOnly,
629 const bool bChkInpFlag =
false )
633 std::vector<SwFormatField*> vFields;
637 SwTextField* pTextField = pFormatField->GetTextField();
638 if ( pTextField !=
nullptr
643 std::pair<Point, bool>
const tmp(aPt,
false);
648 if ( pCFrame !=
nullptr
652 pNew->SetBodyPos( *pCFrame );
653 rLst.
insert( std::move(pNew) );
663 sal_Int32
const nContentOffset)
665 std::unique_ptr<SetGetExpField> pSrch;
666 std::unique_ptr<SwIndex> pIndex;
667 if (-1 == nContentOffset)
681 std::pair<Point, bool>
const tmp(aPt,
false);
682 pSrch->SetBodyPos(*pTextNode->
getLayoutFrame(pLayout, &rPos, &tmp));
687 o_rFound = (it != rSrtLst.
end()) && (**it == *pSrch);
695 const bool bAddSetExpressionFieldsToInputFields )
713 const SwFieldTypes& rFieldTypes = *
mxDoc->getIDocumentFieldsAccess().GetFieldTypes();
714 const size_t nSize = rFieldTypes.size();
715 for(
size_t i=0;
i < nSize; ++
i )
717 pFieldType = rFieldTypes[
i ].get();
727 const SwFieldTypes& rFieldTypes = *
mxDoc->getIDocumentFieldsAccess().GetFieldTypes();
728 const size_t nSize = rFieldTypes.size();
729 for(
size_t i=0;
i < nSize; ++
i )
731 pFieldType = rFieldTypes[
i ].get();
732 if( nResType == pFieldType->
Which() )
740 if( aSrtLst.
empty() )
752 OSL_ENSURE( pTNd,
"No ContentNode" );
755 const bool bDelField = ( pTextField == nullptr );
756 sal_Int32 nContentOffset = -1;
765 mxDoc->IsClipBoard() );
766 pTextField->ChgTextNode( pTNd );
774 nContentOffset = pTextField->
GetStart();
778 GetLayout(), pTNd, pTextField, rPos, nContentOffset);
782 auto const pFormat(static_cast<SwFormatField*>(&pTextField->
GetAttr()));
787 if( it != aSrtLst.
end() && isSrch )
791 if( ++it == aSrtLst.
end() )
796 if( it == aSrtLst.
begin() )
805 if( it == aSrtLst.
end() )
810 if( it == aSrtLst.
begin() )
845 SwTextNode* pTNd = pTextField->GetpTextNode();
858 const bool bIncludeInputFieldAtStart )
863 if ( pNode !=
nullptr )
872 const SwPaM* pCursor,
873 const bool bIncludeInputFieldAtStart )
878 if ( pTextField !=
nullptr
881 const sal_Int32 nTextFieldLength =
882 pTextField->
End() !=
nullptr
887 pFieldAtCursor = pTextField;
891 return pFieldAtCursor;
895 const SwPaM *
const pCursor,
896 const bool bIncludeInputFieldAtStart)
914 if ( pCurField !=
nullptr
919 static_cast<SwTableField*
>(pCurField)->PtrToBoxNm( pTableNd ? &pTableNd->
GetTable() : nullptr );
943 Point aDocPt( rDocPt );
944 if (
GetLayout()->GetModelPositionForViewPoint( &aPos, aDocPt ) )
954 assert(pTextInputField !=
nullptr
955 &&
"<SwEditShell::StartOfInputFieldAtPos(..)> - no Input Field at given position");
962 assert(pTextInputField !=
nullptr
963 &&
"<SwEditShell::EndOfInputFieldAtPos(..)> - no Input Field at given position");
964 return *(pTextInputField->
End());
1036 if (nPos == nStartPos)
1047 if (nPos < nStartPos)
1096 if (nPos == nStartPos)
1108 if (nStartPos < nPos)
1158 bool bWithChildren ,
bool bKillPams)
1162 if( rOutlNds.
empty() )
1168 if( nSttPos > nEndPos )
1170 OSL_ENSURE(
false,
"Start > End for array access" );
1171 std::swap(nSttPos, nEndPos);
1174 SwNode* pSttNd = rOutlNds[ nSttPos ];
1175 SwNode* pEndNd = rOutlNds[ nEndPos ];
1180 for( ++nEndPos; nEndPos < rOutlNds.
size(); ++nEndPos )
1182 pEndNd = rOutlNds[ nEndPos ];
1184 if( nNxtLevel <= nLevel )
1189 else if( ++nEndPos < rOutlNds.
size() )
1190 pEndNd = rOutlNds[ nEndPos ];
1192 if( nEndPos == rOutlNds.
size() )
1222 sal_Int32
nPos = -1;
1224 nSubType, nSeqNo, &nPos,
nullptr,
GetLayout());
1268 &aSpecialPos :
nullptr;
1271 pTextNd = aPos.nNode.GetNode().GetTextNode();
1289 && bCursorFoundExact )
1303 else if( bCursorFoundExact && pTextNd )
1312 const SwWrongList* pSmartTagList = pTextNd->GetSmartTags();
1313 sal_Int32 nCurrent = aPos.nContent.GetIndex();
1314 const sal_Int32 nBegin = nCurrent;
1317 if (pSmartTagList && pSmartTagList->
InWrongWord(nCurrent, nLen) && !pTextNd->IsSymbolAt(nBegin))
1331 if( bRet && bSetCursor )
1346 std::pair<Point, bool> tmp(aPt,
true);
1349 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1351 pFrame->
GetCharRect( *pFieldRect, aPos, &aTmpState );
1361 pTextAttr = pTextNd->GetFieldTextAttrAt( aPos.nContent.GetIndex() );
1362 const SwField* pField = pTextAttr !=
nullptr
1375 std::pair<Point, bool> tmp(aPt,
true);
1376 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1383 pFrame->
GetCharRect( *pFieldRect, aPos, &aTmpState );
1406 static_cast<const SwTableField*
>(pField)->IsIntrnlName() )
1429 if (bCursorFoundExact && pFieldBookmark)
1452 else if (
nullptr != ( pTextAttr = pTextNd->GetTextAttrForCharAt(
1486 std::pair<Point, bool> tmp(aPt,
true);
1487 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1489 pFrame->
GetCharRect( *pFieldRect, aPos, &aTmpState );
1499 pTextAttr =
nullptr;
1502 std::vector<SwTextAttr *>
const marks(
1503 pTextNd->GetTextAttrsAt(
1507 pTextAttr = *marks.begin();
1514 std::vector<SwTextAttr *>
const marks(
1515 pTextNd->GetTextAttrsAt(
1519 pTextAttr = *marks.begin();
1540 const sal_Int32* pEnd = pTextAttr->
GetEnd();
1542 rContentAtPos.
sStr =
1545 rContentAtPos.
sStr =
1555 std::pair<Point, bool> tmp(aPt,
true);
1558 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1560 pFrame->
GetCharRect( *pFieldRect, aPos, &aTmpState );
1570 pTextAttr = pTextNd->GetTextAttrAt(
1590 const sal_Int32 nSt = pTextAttr->
GetStart();
1591 const sal_Int32 nEnd = *pTextAttr->
End();
1593 rContentAtPos.
sStr = pTextNd->GetExpandText(
GetLayout(), nSt, nEnd-nSt);
1601 std::pair<Point, bool> tmp(aPt,
true);
1602 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1608 pFrame->
GetCharRect(aStart, aStartPos, &aTmpState);
1617 *pFieldRect = aStart.
Union(aEnd);
1637 std::pair<Point, bool> tmp(aPt,
true);
1638 pFrame = pTextNd->getLayoutFrame(
GetLayout(),
nullptr, &tmp);
1646 pRedl->
CalcStartEnd(pTextNd->GetIndex(), nStart, nEnd);
1656 nEnd = pTextNd->Len();
1668 *pFieldRect = aStart.
Union(aEnd);
1686 if( pSttNd &&
nullptr != ( pTableNd = pTextNd->
FindTableNode()) &&
1700 std::pair<Point, bool> tmp(aPt,
true);
1728 const_cast<SwTableBoxFormula*>(static_cast<const SwTableBoxFormula*>(pItem))->PtrToBoxNm( &pTableNd->
GetTable() );
1760 const sal_Int32
n = aPos.nContent.GetIndex();
1763 if( pTextNd->GetpSwpHints() )
1765 for(
size_t i = 0;
i < pTextNd->GetSwpHints().Count(); ++
i )
1767 const SwTextAttr* pHt = pTextNd->GetSwpHints().Get(
i);
1768 const sal_Int32 nAttrStart = pHt->
GetStart();
1769 if( nAttrStart > n )
1772 if(
nullptr != pHt->
End() && (
1775 : n <= *pHt->
End() )) ||
1776 ( n == nAttrStart &&
1777 ( nAttrStart == *pHt->
End() || !n ))) )
1782 if( pTextNd->HasSwAttrSet() &&
1783 pTextNd->GetpSwAttrSet()->Count() )
1785 SfxItemSet aFormatSet( pTextNd->GetSwAttrSet() );
1787 aFormatSet.Differentiate( aSet );
1789 aSet.Put( aFormatSet );
1793 pTextNd->SwContentNode::GetAttr( aSet );
1795 rContentAtPos.
sStr =
"Pos: (";
1796 rContentAtPos.
sStr += OUString::number( aPos.nNode.GetIndex());
1797 rContentAtPos.
sStr +=
":";
1798 rContentAtPos.
sStr += OUString::number( aPos.nContent.GetIndex());
1799 rContentAtPos.
sStr +=
")";
1800 rContentAtPos.
sStr +=
"\nParagraph Style: ";
1801 rContentAtPos.
sStr += pTextNd->GetFormatColl()->GetName();
1802 if( pTextNd->GetCondFormatColl() )
1804 rContentAtPos.
sStr +=
"\nConditional Style: " + pTextNd->GetCondFormatColl()->GetName();
1809 OUStringBuffer sAttrs;
1819 MapUnit::MapCM, aStr, aInt);
1820 if (!sAttrs.isEmpty())
1821 sAttrs.append(
", ");
1822 sAttrs.append(aStr);
1826 if (!sAttrs.isEmpty())
1828 if( !rContentAtPos.
sStr.isEmpty() )
1829 rContentAtPos.
sStr +=
"\n";
1830 rContentAtPos.
sStr +=
"Attr: " + sAttrs.toString();
1868 return pPostItField;
1916 SwPaM aTemp( *pSttNd );
1919 if(pContentNode && pContentNode->
IsTextNode())
1934 pTmpFrame = aIter.
Next();
1941 const sal_Int32 nEnd )
1986 const sal_Int32* pEnd = pTextAttr->
End();
2016 return mxDoc->FindINetAttr( rName );
2020 SwRect& rRect, sal_Int16& rOrient )
2035 if(
GetLayout()->GetModelPositionForViewPoint( &aPos, aPt, &aTmpState ) &&
2036 !aPos.nNode.GetNode().IsProtect())
2039 rRect = aFPos.aCursor;
2040 rOrient = aFPos.eOrient;
2061 if(
GetLayout()->GetModelPositionForViewPoint( &aPos, aPt, &aTmpState ) )
2070 if( 0 == aFPos.nParaCnt + aFPos.nColumnCnt &&
2073 0 == aFPos.nTabCnt + aFPos.nSpaceCnt )) &&
2074 pCNd && pCNd->
Len() )
2085 if( pSectNd && aFPos.nParaCnt )
2094 pCNd->
Len() == aPos.nContent.GetIndex() )
2098 for( sal_uInt16
n = 0;
n < aFPos.nParaCnt + aFPos.nColumnCnt; ++
n )
2101 if( !
n && pNextFormat )
2106 if(
n < aFPos.nColumnCnt )
2115 switch( aFPos.eMode )
2127 aLR.SetTextLeft( aFPos.nTabCnt );
2128 aLR.SetTextFirstLineOffset( 0 );
2133 if( SvxAdjust::Left != rAdj.
GetAdjust() )
2139 OSL_ENSURE(
false,
"No ContentNode" );
2147 OUStringBuffer sInsert;
2156 if (aFPos.nSpaceCnt)
2159 if (!sInsert.isEmpty())
2167 switch( aFPos.eOrient )
2169 case text::HoriOrientation::CENTER:
2172 case text::HoriOrientation::RIGHT:
2250 if( *pIdx <= pFnd->
End()->nNode )
2257 if( pFnd && bSelect )
2260 if( RedlineType::FmtColl == pFnd->
GetType() )
2314 sal_uInt16 nSeqNo = pTmp->
GetSeqNo();
2315 if( nSeqNo && bSelect )
2317 bool bCheck =
false;
2327 if( pTmp && bCheck )
2334 while( pCur != pNextPam )
2337 *pNEnd = pNextPam->
End();
2382 pNextPam = pPrevPam;
2384 pNextPam = pNextPam->
GetNext();
2406 }
while( nLoopCnt );
2424 if( aCurPos.GetNode() < nBodySttNdIdx )
2427 std::pair<Point, bool> tmp(aPt,
true);
2432 aCurPos.SetBodyPos( *pFrame );
2446 pTextNd = pFnd->GetpTextNode();
2452 if (pTextNd->
GetIndex() < nBodySttNdIdx)
2454 std::pair<Point, bool> tmp(aPt,
true);
2463 ? ( aPos < aCmpPos && aCurPos < aPos )
2464 : ( aCmpPos < aPos && aPos < aCurPos ))
2470 sText = sText.replaceAll(
"\x0a",
"");
2473 if( !sText.isEmpty() )
2488 if( rURLItem.
GetMap() || !rURLItem.
GetURL().isEmpty() )
2498 ? ( aPos < aCmpPos && aCurPos < aPos )
2499 : ( aCmpPos < aPos && aPos < aCurPos ))
2510 if( pFndAttr || pFndFormat )
2548 static_cast<SwFEShell*
>(
this)->SelectFlyFrame( *pFly );
vcl::RenderContext * GetOut() const
SwSectionNode * FindSectionNode()
Search section node, in which it is.
Instances of SwFields and those derived from it occur 0 to n times.
const SwEndNode * EndOfSectionNode() const
Starts a section of nodes in the document model.
Base class of the Writer layout elements.
Represents the visualization of a paragraph.
virtual sal_Int32 Len() const
bool ContainsPageDesc(const SwPageDesc *pDesc, size_t *pPos) const
const_iterator lower_bound(const Value &x) const
sal_uLong GetIndex() const
virtual const SwRangeRedline * SelPrevRedline(SwPaM &rPam) const =0
bool m_bFieldInfo
should be fields recognized?
SAL_DLLPRIVATE void UpdateCursor(sal_uInt16 eFlags=SwCursorShell::SCROLLWIN|SwCursorShell::CHKRANGE, bool bIdleEnd=false)
SwNode & GetNode(bool bPoint=true) const
void Right(const tools::Long nRight)
static SwField * GetFieldAtCursor(const SwPaM *pCursor, const bool bIncludeInputFieldAtStart)
SwShellCursor * m_pCurrentCursor
current cursor
sal_uInt16 GetSeqNo() const
Represents the style of a paragraph.
virtual bool GetPresentation(const SfxPoolItem &rItem, MapUnit ePresentationMetric, OUString &rText, const IntlWrapper &rIntlWrapper) const
Marks a position in the document model.
virtual const tools::Rectangle & GetCurrentBoundRect() const
const SwNodes & GetNodes() const
bool IsInProtectTable(bool bMove=false, bool bChgCursor=true)
bool IsMultiSelection() const
const SwPageFrame * GetPageAtPos(const Point &rPt, const Size *pSize=nullptr, bool bExtend=false) const
Point rPt: The point that should be used to find the page Size pSize: If given, we return the (first)...
SwRect & Union(const SwRect &rRect)
SwPaM * GetCursor(bool bMakeTableCursor=true) const
Return pointer to the current shell cursor.
const SwTableBox * GetTableBox(const OUString &rName, const bool bPerformValidCheck=false) const
SvxAdjust GetAdjust() const
SwComparePosition ComparePosition(const T &rStt1, const T &rEnd1, const T &rStt2, const T &rEnd2)
virtual const SwRootFrame * GetCurrentLayout() const =0
static SwContentNode * GetContentNode(SwDoc &rDoc, SwNodeIndex &rIdx, bool bNext)
const SwRangeRedline * SelNextRedline()
constexpr TypedWhichId< SwTableBoxValue > RES_BOXATR_VALUE(150)
void Left(const tools::Long nLeft)
bool MoveFieldType(const SwFieldType *pFieldType, const bool bNext, const SwFieldIds nResType=SwFieldIds::Unknown, const bool bAddSetExpressionFieldsToInputFields=true)
virtual void InsertItemSet(const SwPaM &rRg, const SfxItemSet &, const SetAttrMode nFlags=SetAttrMode::DEFAULT, SwRootFrame const *pLayout=nullptr)=0
SwShellCursor * getShellCursor(bool bBlock)
Delivers the current shell cursor.
const SwTextNode * GetBodyTextNode(const SwDoc &rDoc, SwPosition &rPos, const SwFrame &rFrame)
Forward declaration: get "BodyTextNode" for exp.fld in Fly's headers/footers/footnotes.
virtual const sal_Int32 * GetEnd() const
end position
std::vector< SwTOXMark * > SwTOXMarks
size_type FindPrevOfSeqNo(size_type nSttPos) const
const SwRect & getFramePrintArea() const
Pos1 is as large as Pos2.
const SfxPoolItem * pAttr
const SwPosition * GetMark() const
only align left, center, right
Base class of all fields.
const SwRangeRedline * GotoRedline(SwRedlineTable::size_type nArrPos, bool bSelect)
Pos1 completely contained in Pos2.
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
virtual SwUndoId EndUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Closes undo block.
Provides access to the marks of a document.
virtual void SetMark() override
Unless this is called, the getter method of Mark will return Point.
virtual bool IsSelOvr(SwCursorSelOverFlags eFlags=SwCursorSelOverFlags::CheckNodeSection|SwCursorSelOverFlags::Toggle|SwCursorSelOverFlags::ChangePos)
static SwContentNode * GoPrevSection(SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true)
bool m_bSetInReadOnly
ReadOnly areas may be entered.
virtual void MakeSelVisible()
show the current selected "object"
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(94)
bool m_bExactOnly
let GetModelPositionForViewPoint look for exact matches only, i.e.
bool GotoFootnoteAnchor()
jump from footnote to anchor
Content, content of frame (header, footer, fly).
SwSectionFormat * GetFormat()
void Pos(const Point &rNew)
IDocumentMarkAccess * getIDocumentMarkAccess()
IDocumentUndoRedo & GetIDocumentUndoRedo()
virtual void Calc(vcl::RenderContext *pRenderContext) const
Of course Writer needs its own rectangles.
virtual const sal_Int32 * GetEnd() const override
end position
SwTextAttr * GetTextAttrAt(sal_Int32 const nIndex, sal_uInt16 const nWhich, enum GetTextAttrMode const eMode=DEFAULT) const
get the innermost text attribute covering position nIndex.
bool GotoNxtPrvTableFormula(bool bNext=true, bool bOnlyErrors=false)
Jump to next/previous table formula Optionally it is possible to also jump to broken formulas...
bool GotoHeaderText()
jump from the content to the header
IDocumentContentOperations const & getIDocumentContentOperations() const
bool HasWriterListeners() const
void CalcStartEnd(sal_uLong nNdIdx, sal_Int32 &rStart, sal_Int32 &rEnd) const
Calculates the intersection with text node number nNdIdx.
The root element of a Writer document layout.
const SwFrameFormats * GetSpzFrameFormats() const
int GetAttrOutlineLevel() const
Returns outline level of this text node.
bool HasSelection() const
Does the current cursor create a selection?
bool MakeOutlineSel(SwOutlineNodes::size_type nSttPos, SwOutlineNodes::size_type nEndPos, bool bWithChildren, bool bKillPams=true)
void GatherFields(std::vector< SwFormatField * > &rvFormatFields, bool bCollectOnlyInDocNodes=true) const
SwContentNode * GetContentNode(bool bPoint=true) const
virtual bool GetModelPositionForViewPoint(SwPosition *, Point &, SwCursorMoveState *=nullptr, bool bTestBackground=false) const
sal_uInt32 GetItemCount2(sal_uInt16 nWhich) const
virtual bool GetModelPositionForViewPoint(SwPosition *, Point &, SwCursorMoveState *=nullptr, bool bTestBackground=false) const override
Primary passes the call to the first page.
const SfxPoolItem * NextItem()
SwWrongList * SubList(sal_uInt16 nIdx) const
static SwTextNode * FindAnchor(SwDoc *pDoc, const OUString &rRefMark, sal_uInt16 nSubType, sal_uInt16 nSeqNo, sal_Int32 *pStt, sal_Int32 *pEnd=nullptr, SwRootFrame const *pLayout=nullptr)
const SwTOXMark & GetTOXMark() const
rtl::Reference< SwDoc > mxDoc
The document; never 0.
const SwRect & getFrameArea() const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
void NormalizePam(bool bPointFirst=true)
Ensure point and mark of the current PaM are in a specific order.
bool SetTextFormatColl(const SwPaM &rRg, SwTextFormatColl *pFormat, const bool bReset=true, const bool bResetListAttrs=false, SwRootFrame const *pLayout=nullptr)
Add 4th optional parameter .
virtual ::sw::mark::IFieldmark * getFieldmarkFor(const SwPosition &pos) const =0
by left paragraph indentation
int m_nInNumPortionOffset
distance from number portion's start
SwField * GetCurField(const bool bIncludeInputFieldAtStart=false) const
constexpr sal_uInt16 POOLATTR_BEGIN(HINT_BEGIN)
bool GotoPrevTOXBase(const OUString *=nullptr)
jump to previous index
sal_uLong GetIndex() const
sal_Int32 GetStart() const
IsAttrAtPos eContentAtPos
Pos2 completely contained in Pos1.
const SwTable & GetTable() const
union SwContentAtPos::@24 aFnd
const SwFormatField & GetFormatField() const
static void lcl_MakeFieldLst(SetGetExpFields &rLst, const SwFieldType &rFieldType, const bool bInReadOnly, const bool bChkInpFlag=false)
jump to next/previous field type
bool SelectNxtPrvHyperlink(bool bNext)
const IDocumentRedlineAccess & getIDocumentRedlineAccess() const
Provides access to the document redline interface.
constexpr TypedWhichId< SwFormatFootnote > RES_TXTATR_FTN(58)
void SetBodyPos(const SwContentFrame &rFrame)
virtual bool GetCharRect(SwRect &, const SwPosition &, SwCursorMoveState *=nullptr, bool bAllowFarAway=true) const
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
const sw::mark::IFieldmark * pFieldmark
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
bool HasClickHdl() const
Does the field possess an action on its ClickHandler? (e.g. INetFields, ...).
SwShellCursor * GetCursor_()
bool SelectText(const sal_Int32 nStart, const sal_Int32 nEnd)
const OUString & GetAlternativeText() const
bool IsContentNode() const
PaM is Point and Mark: a selection of the document model.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
const SfxItemPool & GetAttrPool() const
virtual bool InsertString(const SwPaM &rRg, const OUString &, const SwInsertFlags nInsertMode=SwInsertFlags::EMPTYEXPAND)=0
Insert string into existing text node at position rRg.Point().
static SwNodePtr GetStartNode(SwOutlineNodes const *pOutlNds, int nOutlineLevel, SwOutlineNodes::size_type *nOutl)
const SwTableNode * IsCursorInTable() const
bool SetShadowCursorPos(const Point &rPt, SwFillMode eFillMode)
OUString GetExpandTextMerged(SwRootFrame const *const pLayout, SwTextNode const &rNode, bool const bWithNumber, bool const bWithSpacesForLevel, ExpandMode const i_mode)
bool GetShadowCursorPos(const Point &rPt, SwFillMode eFillMode, SwRect &rRect, sal_Int16 &rOrient)
A helper class to save cursor state (position).
virtual SwUndoId StartUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Opens undo block.
bool IsContentFrame() const
static constexpr auto npos
SwPaM * CreateCursor()
delete the current cursor and make the following into the current
bool GoInNode(SwPaM &rPam, SwMoveFnCollection const &fnMove)
const SwFrame * GetLastLower() const
const SwStartNode * StartOfSectionNode() const
const SwPosition * GetPoint() const
bool SetCursorInHdFt(size_t nDescNo, bool bInHeader)
std::vector< SwSectionFormat * >::size_type size_type
void EndAction(const bool bIdleEnd=false, const bool DoSetPosX=false)
SwIndex & Assign(SwIndexReg *, sal_Int32)
const SwPageDesc & GetPageDesc(const size_t i) const
SwPageFrame * FindPageFrame()
const SwRangeRedline * SelPrevRedline()
SwPageDesc * GetPageDesc()
SwContentNode * GetContentNode()
vector_type::size_type size_type
bool GotoINetAttr(const SwTextINetFormat &rAttr)
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
SwLayoutFrame * GetUpper()
tools::Long Width() const
Marks a character position inside a document model node.
bool GotoNextTOXBase(const OUString *=nullptr)
jump to the next index
bool IsPageAtPos(const Point &rPt) const
const SwFlyFrameFormat * GetFlyFormat() const
bool GotoPrevOutline()
jump to previous node with outline num.
Marks a node in the document model.
SwFrameFormat * GetFrameFormat()
const SwOutlineNodes & GetOutLineNds() const
Array of all OutlineNodes.
SwNodes & GetNodes()
Node is in which nodes-array/doc?
T static_txtattr_cast(S *s)
ring_container GetRingContainer()
const_iterator end() const
SwTextField * GetFieldTextAttrAt(const sal_Int32 nIndex, const bool bIncludeInputFieldAtStart=false) const
bool SelectTextAttr(sal_uInt16 nWhich, bool bExpand, const SwTextAttr *pAttr=nullptr)
SwOutlineNodes::size_type GetOutlinePos(sal_uInt8 nLevel=UCHAR_MAX, SwPaM *pPaM=nullptr)
search "outline position" before previous outline node at given level
void SetAdjust(const SvxAdjust eType)
bool IsInProtectSect() const
is the node in a protected section?
const SwTextNode * GetpTextNode() const
SwStartNode * GetStartNode()
void GotoTOXMarkBase()
jump to index of TOXMark
const SwTextAttr * pFndTextAttr
A page of the document layout.
const SwTOXMark & GotoTOXMark(const SwTOXMark &rCurTOXMark, SwTOXSearch eDir, bool bInReadOnly)
static void SetSearchLabel(const SearchLabel &rSL)
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
SAL_DLLPRIVATE const SwRangeRedline * GotoRedline_(SwRedlineTable::size_type nArrPos, bool bSelect)
static sal_Int32 EndOfInputFieldAtPos(const SwPosition &rPos)
const SwPosition * Start() const
constexpr sal_uInt16 POOLATTR_END(RES_UNKNOWNATR_END)
tools::Long GetUpDownX() const
SwTextNode * GetParaPropsNode(SwRootFrame const &rLayout, SwNodeIndex const &rNode)
SwFieldType * GetTyp() const
bool IsInProtectSect() const
Is node in a protected area?
const SwNodeIndex * GetContentIdx() const
const_iterator begin() const
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
Point LogicToPixel(const Point &rLogicPt) const
DEFAULT: (Start <= nIndex < End)
bool m_bFootnoteNoInfo
recognized footnote numbering
bool DocPtInsideInputField(const Point &rDocPt) const
const SwTextNode & GetTextNode() const
bool m_bInNumPortion
point is in number portion #i23726#
size_type FindNextOfSeqNo(size_type nSttPos) const
IDocumentUndoRedo const & GetIDocumentUndoRedo() const
Provides access to the document undo/redo interface.
SwFrameFormat & GetMaster()
sal_uLong EndOfSectionIndex() const
void Bottom(const tools::Long nBottom)
SwTextNode is a paragraph in the document model.
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
constexpr TypedWhichId< SwTableBoxFormula > RES_BOXATR_FORMULA(149)
bool IsReadOnlyAvailable() const
const SwStartNode * GetSttNd() const
SwFieldIds Which() const
ResId.
OUString GetExpandText(SwRootFrame const *pLayout, const sal_Int32 nIdx=0, const sal_Int32 nLen=-1, const bool bWithNum=false, const bool bAddSpaceAfterListLabelStr=false, const bool bWithSpacesForLevel=false, const ExpandMode eAdditionalMode=ExpandMode::ExpandFootnote) const
add 4th optional parameter indicating, when that a spa...
const SwCharFormats * GetCharFormats() const
general base class for all free-flowing frames
bool IsFieldDeletedInModel(IDocumentRedlineAccess const &rIDRA, SwTextField const &rTextField)
SwContentFrame * GetCurrFrame(const bool bCalcFrame=true) const
Get current frame in which the cursor is positioned.
Pos1 overlaps Pos2 at the end.
fill with spaces and tabs
static sal_uInt16 GetCurTOXMark(const SwPosition &rPos, SwTOXMarks &)
Get current table of contents Mark.
vcl::Window * GetWin() const
static sal_Int32 StartOfInputFieldAtPos(const SwPosition &rPos)
virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem &, const SetAttrMode nFlags=SetAttrMode::DEFAULT, SwRootFrame const *pLayout=nullptr, bool bExpandCharToPara=false, SwTextAttr **ppNewTextAttr=nullptr)=0
Insert an attribute.
SwMoveFnCollection const & fnMoveForward
SwPam::Move()/Find() default argument.
sal_uInt16 GetWrongPos(sal_Int32 nValue) const
Find the first position that is greater or equal to the given value.
sal_Int32 GetIndex() const
bool InWrongWord(sal_Int32 &rChk, sal_Int32 &rLn) const
If a word is incorrectly selected, this method returns begin and length of it.
bool IsInside(const Point &rPOINT) const
OString strip(const OString &rIn, char c)
SAL_DLLPRIVATE void MoveCursorToNum()
const SwTextINetFormat * GetINetFormat() const
static bool PosInsideInputField(const SwPosition &rPos)
const SwPosition * End() const
bool IsRightToLeft() const
void Top(const tools::Long nTop)
RedlineType GetType(sal_uInt16 nPos=0) const
const sal_Int32 * End() const
SwTableBox is one table cell in the document model.
const SwFormatINetFormat * FindINetAttr(std::u16string_view rName) const
static bool GotoNextNum(SwPosition &, SwRootFrame const *pLayout, bool bOverUpper=true, sal_uInt8 *pUpper=nullptr, sal_uInt8 *pLower=nullptr)
const Point & GetPtPos() const
SwSpecialPos * m_pSpecialPos
for positions inside fields
virtual const SwRangeRedline * SelNextRedline(SwPaM &rPam) const =0
constexpr TypedWhichId< SwTOXMark > RES_TXTATR_TOXMARK(47)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(157)
bool IsParaPropsNode(SwRootFrame const &rLayout, SwTextNode const &rNode)
static bool GotoPrevNum(SwPosition &, SwRootFrame const *pLayout, bool bOverUpper=true)
constexpr TypedWhichId< SwFormatField > RES_TXTATR_INPUTFIELD(55)
virtual bool AppendTextNode(SwPosition &rPos)=0
const SwStartNode * FindTableBoxStartNode() const
const SwRangeRedline * pRedl
const SwTOXMark & GotoTOXMark(const SwTOXMark &rStart, SwTOXSearch eDir)
traveling between marks
SwMoveFnCollection const & fnMoveBackward
SwTableNode * FindTableNode()
Search table node, in which it is.
static SetGetExpFields::const_iterator lcl_FindField(bool &o_rFound, SetGetExpFields const &rSrtLst, SwRootFrame const *const pLayout, SwTextNode *const pTextNode, SwTextField const *const pTextField, SwPosition const &rPos, sal_Int32 const nContentOffset)
bool m_bPosCorr
Point had to be corrected.
SwContentFrame * FindContentFrame(const SwDoc &rDoc, const SwRootFrame &rLayout, const bool isReadOnlyAvailable) const
const SfxPoolItem & GetAttr() const
SwContentNode * GoNextSection(SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true) const
Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!!!).
bool GotoNxtPrvTOXMark(bool bNext=true)
jump to next/previous index marker
bool IsDocNodes() const
Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc...
void GetPosOfContent(SwPosition &rPos) const
make visible in spite of Readonly
const SwTextTOXMark * GetTextTOXMark() const
bool GetContentAtPos(const Point &rPt, SwContentAtPos &rContentAtPos, bool bSetCursor=false, SwRect *pFieldRect=nullptr)
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
constexpr TypedWhichId< SwFormatRefMark > RES_TXTATR_REFMARK(RES_TXTATR_WITHEND_BEGIN)
SectionType GetType() const
bool Seek_Entry(SwNode *rP, size_type *pnPos) const
virtual const SwRedlineTable & GetRedlineTable() const =0
SwRect m_aCharRect
Char-SRectangle on which the cursor is located.
SwTextNode & GetTextNode() const
std::pair< const_iterator, bool > insert(Value &&x)
const SfxPoolItem & GetAttr(sal_uInt16 nWhich, bool bInParent=true) const
SS for PoolItems: hard attributation.
bool IsInvalidItem(const SfxPoolItem *pItem)
std::vector< SwNode * >::size_type size_type
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
SwRootFrame * GetLayout() const
const SwPostItField * GetPostItFieldAtCursor() const
SwSectionFormats & GetSections()
o3tl::strong_int< sal_Int32, struct Tag_TextFrameIndex > TextFrameIndex
Denotes a character index in a text frame at a layout level, after extent mapping from a text node at...
static SwTextField * GetTextFieldAtCursor(const SwPaM *pCursor, const bool bIncludeInputFieldAtStart)
bool GotoOutline(const OUString &rName)
static constexpr size_type npos
void GotoNextNum()
go to next/previous point on the same level
SwContentNode * GoNext(SwNodeIndex *) const
bool GotoFormatField(const SwFormatField &rField)
bool IsFooterFrame() const
const sal_Int32 COMPLETE_STRING
constexpr TypedWhichId< SvxAdjustItem > RES_PARATR_ADJUST(64)
Pos1 overlaps Pos2 at the beginning.
bool GotoRefMark(const OUString &rRefMark, sal_uInt16 nSubType, sal_uInt16 nSeqNo)
jump to reference marker
std::vector< std::unique_ptr< SetGetExpField > >::const_iterator const_iterator
const SfxPoolItem * GetCurItem() const
SwTextFormatColl & GetNextTextFormatColl() const
const SwAttrPool & GetAttrPool() const
bool GotoFooterText()
jump from the content to the footer
void RestoreSavePos()
Restore cursor state to the one saved by SwCursorSaveState.
const SwFormatINetFormat & GetINetFormat() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
bool GotoNextOutline()
jump to next node with outline num.
bool IsHeaderFrame() const
bool IsProtected() const
Is the Frame or rather the Section in which it lies protected?
static SwTextField * GetTextFieldAtPos(const SwPosition *pPos, const bool bIncludeInputFieldAtStart)
Base class of the Writer document model elements.
SwTextFormatColl * GetTextColl() const
OStringBuffer & padToLength(OStringBuffer &rBuffer, sal_Int32 nLength, char cFill= '\0')
bool CursorInsideInputField() const