37 if (
SwWrtShell* pWrtSh = dynamic_cast<SwWrtShell*>(
this))
38 pWrtSh->addCurrentPosition();
41 bool bRet = (this->*fnCursor)();
50 if (
SwWrtShell* pWrtSh = dynamic_cast<SwWrtShell*>(
this))
51 pWrtSh->addCurrentPosition();
55 bool bRet = (pCursor->*fnCursor)();
99 std::pair<Point, bool>
const tmp(
GetCursor_()->GetSttPos(),
true);
117 (pFrame)->ContainsContent();
121 static_cast<const SwTextFrame*>(pCnt));
132 pFrame = pFootnoteBoss->
GetNext();
149 for(
size_t n = 0;
n < rFootnoteArr.
size(); ++
n )
171 if (
SwWrtShell* pWrtSh = dynamic_cast<SwWrtShell*>(
this))
172 pWrtSh->addCurrentPosition();
190 return nTNd < nNd || ( nTNd == nNd && rFootnote.
GetStart() <= nCnt );
196 return nTNd < nNd || ( nTNd == nNd && rFootnote.
GetStart() < nCnt );
205 if( rFootnoteArr.
empty() )
214 if( nPos < rFootnoteArr.
size() )
219 pTextFootnote = rFootnoteArr[ nPos ];
221 if(
CmpLE( *pTextFootnote, nNdPos, nCntPos ) )
223 pTextFootnote =
nullptr;
224 for( ++nPos; nPos < rFootnoteArr.
size(); ++nPos )
226 pTextFootnote = rFootnoteArr[ nPos ];
227 if( !
CmpLE( *pTextFootnote, nNdPos, nCntPos ) )
229 pTextFootnote =
nullptr;
235 pTextFootnote =
nullptr;
238 pTextFootnote = rFootnoteArr[ --nPos ];
239 if(
CmpLE( *pTextFootnote, nNdPos, nCntPos ) )
241 pTextFootnote = rFootnoteArr[ ++nPos ];
248 else if( nPos < rFootnoteArr.
size() )
249 pTextFootnote = rFootnoteArr[ nPos ];
251 if (pTextFootnote ==
nullptr)
253 pTextFootnote = rFootnoteArr[ 0 ];
259 bool bRet =
nullptr != pTextFootnote;
278 if( rFootnoteArr.
empty() )
290 pTextFootnote = rFootnoteArr[ nPos ];
292 if(
CmpL( *pTextFootnote, nNdPos, nCntPos ))
294 for( ++nPos; nPos < rFootnoteArr.
size(); ++nPos )
296 pTextFootnote = rFootnoteArr[ nPos ];
297 if( !
CmpL( *pTextFootnote, nNdPos, nCntPos ) )
299 pTextFootnote = rFootnoteArr[ nPos-1 ];
307 pTextFootnote =
nullptr;
310 pTextFootnote = rFootnoteArr[ --nPos ];
311 if(
CmpL( *pTextFootnote, nNdPos, nCntPos ))
313 pTextFootnote =
nullptr;
317 pTextFootnote =
nullptr;
320 pTextFootnote = rFootnoteArr[ nPos-1 ];
322 if( pTextFootnote ==
nullptr )
324 pTextFootnote = rFootnoteArr[ rFootnoteArr.
size() - 1 ];
330 bool bRet =
nullptr != pTextFootnote;
373 ( aTmpRect.
Bottom() - aTmpRect.
Top() ) / 2 );
Base class of the Writer layout elements.
Represents the visualization of a paragraph.
static bool CmpLE(const SwTextFootnote &rFootnote, SwNodeOffset nNd, sal_Int32 nCnt)
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)
SwShellCursor * m_pCurrentCursor
current cursor
bool IsInProtectTable(bool bMove=false, bool bChgCursor=true)
bool GotoNextFootnoteAnchor()
void Left(const tools::Long nLeft)
bool IsInFootnote() const
SwShellCursor * getShellCursor(bool bBlock)
Delivers the current shell cursor.
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
virtual bool IsSelOvr(SwCursorSelOverFlags eFlags=SwCursorSelOverFlags::CheckNodeSection|SwCursorSelOverFlags::Toggle|SwCursorSelOverFlags::ChangePos)
bool GotoFootnoteAnchor()
jump from footnote to anchor
Of course Writer needs its own rectangles.
bool GotoNextFootnoteAnchor()
virtual bool GetModelPositionForViewPoint(SwPosition *, Point &, SwCursorMoveState *=nullptr, bool bTestBackground=false) const
SwTextAttr * GetTextAttrForCharAt(const sal_Int32 nIndex, const sal_uInt16 nWhich=RES_TXTATR_END) const
get the text attribute at position nIndex which owns the dummy character CH_TXTATR_* at that position...
Used by the UI to modify the document model.
constexpr TypedWhichId< SwFormatFootnote > RES_TXTATR_FTN(59)
const SwRect & getFrameArea() const
A wrapper around SfxPoolItem to store the start position of (usually) a text portion, with an optional end.
bool GotoFootnoteText()
jump from content to footnote
sal_Int32 GetStart() const
SwNodeOffset GetIndex() const
TextFrameIndex GetOffset() const
SwShellCursor * GetCursor_()
A helper class to save cursor state (position).
const SwPosition * GetPoint() const
SwIndex & Assign(SwIndexReg *, sal_Int32)
SwPageFrame * FindPageFrame()
SwNodeOffset GetIndex() const
SwLayoutFrame * GetUpper()
SwFootnoteBossFrame * FindFootnoteBossFrame(bool bFootnotes=false)
void SSize(const Size &rNew)
bool GotoPrevFootnoteAnchor()
A page of the document layout.
static void SetSearchLabel(const SearchLabel &rSL)
bool Contains(const Point &rPOINT) const
bool GotoPrevFootnoteAnchor()
virtual bool IsReadOnlyAvailable() const
void Bottom(const tools::Long nBottom)
SwTextNode is a paragraph in the document model.
SwContentFrame * GetCurrFrame(const bool bCalcFrame=true) const
Get current frame in which the cursor is positioned.
sal_Int32 GetIndex() const
void Top(const tools::Long nTop)
const Point & GetPtPos() const
SAL_DLLPRIVATE bool CallCursorShellFN(FNCursorShell)
static bool CmpL(const SwTextFootnote &rFootnote, SwNodeOffset nNd, sal_Int32 nCnt)
SwFootnoteIdxs & GetFootnoteIdxs()
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!!!).
make visible in spite of Readonly
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame...
void GotoFlyAnchor()
jump from the frame to the anchor
bool GotoFootnoteAnchor()
static SwNode * GetStartNode(SwOutlineNodes const *pOutlNds, int nOutlineLevel, SwOutlineNodes::size_type *nOutl)
SwRect m_aCharRect
Char-SRectangle on which the cursor is located.
SwRootFrame * GetLayout() const
const SwContentFrame * GetContentPos(Point &rPoint, const bool bDontLeave, const bool bBodyOnly=false, SwCursorMoveState *pCMS=nullptr, const bool bDefaultExpand=true) const
Finds the closest Content for the SPoint Is used for Pages, Flys and Cells if GetModelPositionForView...
SwPosition MapViewToModelPos(TextFrameIndex nIndex) const
SAL_DLLPRIVATE bool CallCursorFN(FNCursor)
const SwStartNode * FindFootnoteStartNode() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
Base class of the Writer document model elements.