19 #ifndef INCLUDED_SW_INC_SWCRSR_HXX
20 #define INCLUDED_SW_INC_SWCRSR_HXX
30 struct SearchOptions2;
90 bool & io_rbLeft,
bool bVisualAllowed,
bool bInsertCursor);
91 virtual void DoSetBidiLevelUpDown();
109 virtual short MaxReplaceArived();
110 virtual void SaveTableBoxContent(
const SwPosition* pPos );
122 bool bReplace =
false,
139 bool IsStartEndSentence(
bool bEnd,
SwRootFrame const* pLayout)
const;
140 bool SelectWord(
SwViewShell const * pViewShell,
const Point* pPt );
144 bool IsStartWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr)
const;
145 bool IsEndWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr)
const;
146 bool IsInWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr)
const;
147 bool GoStartWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr);
148 bool GoEndWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr);
149 bool GoNextWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr);
150 bool GoPrevWordWT(sal_Int16 nWordType,
SwRootFrame const* pLayout =
nullptr);
151 bool SelectWordWT(
SwViewShell const * pViewShell, sal_Int16 nWordType,
const Point* pPt );
160 bool GoSentence(SentenceMoveType eMoveType,
SwRootFrame const*pLayout =
nullptr);
161 bool ExpandToSentenceBorders(
SwRootFrame const* pLayout);
163 virtual bool LeftRight(
bool bLeft, sal_uInt16 nCnt, sal_uInt16 nMode,
164 bool bAllowVisual,
bool bSkipHidden,
bool bInsertCursor,
167 bool LeftRightMargin(
SwRootFrame const& rLayout,
bool bLeftMargin,
bool bAPI);
168 bool IsAtLeftRightMargin(
SwRootFrame const& rLayout,
bool bLeftMargin,
bool bAPI)
const;
169 bool SttEndDoc(
bool bSttDoc );
170 bool GoPrevNextCell(
bool bNext, sal_uInt16 nCnt );
172 bool Left( sal_uInt16 nCnt ) {
return LeftRight(
true, nCnt,
CRSR_SKIP_CHARS,
false,
false,
false,
nullptr,
false); }
173 bool Right( sal_uInt16 nCnt ) {
return LeftRight(
false, nCnt,
CRSR_SKIP_CHARS,
false,
false,
false,
nullptr,
false); }
174 bool GoNextCell( sal_uInt16 nCnt = 1 ) {
return GoPrevNextCell(
true, nCnt ); }
175 bool GoPrevCell( sal_uInt16 nCnt = 1 ) {
return GoPrevNextCell(
false, nCnt ); }
176 virtual bool GotoTable(
const OUString& rName );
177 bool GotoTableBox(
const OUString& rName );
178 bool GotoRegion( std::u16string_view rName );
179 bool GotoFootnoteAnchor();
180 bool GotoFootnoteText();
181 bool GotoNextFootnoteAnchor();
182 bool GotoPrevFootnoteAnchor();
195 bool IsInProtectTable(
bool bMove =
false,
196 bool bChgCursor =
true );
197 bool IsNoContent()
const;
200 void RestoreSavePos();
203 virtual bool IsAtValidPos(
bool bPoint =
true )
const;
206 virtual bool IsReadOnlyAvailable()
const;
208 virtual bool IsSkipOverProtectSections()
const;
209 virtual bool IsSkipOverHiddenSections()
const;
248 : nNode( rCursor.GetPoint()->nNode.GetIndex() ),
249 nContent( rCursor.GetPoint()->nContent.GetIndex() )
272 virtual bool LeftRight(
bool bLeft, sal_uInt16 nCnt, sal_uInt16 nMode,
273 bool bAllowVisual,
bool bSkipHidden,
bool bInsertCursor,
275 virtual bool GotoTable(
const OUString& rName )
override;
bool IsCursorMoved() const
bool IsColumnSelection() const
virtual int DoFind(SwPaM &, SwMoveFnCollection const &, const SwPaM &, bool, std::unique_ptr< SvxSearchItem > &xSearchItem)=0
void InsertBox(const SwTableBox &rTableBox)
SwTableCursor(const SwPosition &rPos)
const SwSelBoxes & GetSelectedBoxes() const
Represents the style of a paragraph.
Marks a position in the document model.
void SetColumnSelection(bool bNew)
bool GoPrevCell(sal_uInt16 nCnt=1)
const SwCursor * GetPrev() const
const SwTableCursor * GetPrev() const
const SwPosition * GetMark() const
bool Left(sal_uInt16 nCnt)
tools::Long GetCursorRowSpanOffset() const
sal_uInt8 GetCursorBidiLevel() const
SwCursor * MakeBoxSels(SwCursor *pCurrentCursor)
SwCursor_SavePos(const SwCursor &rCursor)
The root element of a Writer document layout.
const SwCursor * GetNext() const
sal_uLong GetIndex() const
virtual bool GotoTable(const OUString &rName) override
bool IsCursorMovedUpdate()
std::vector< SwCursor_SavePos > m_vSavePos
bool(* SwWhichRegion)(SwPaM &, SwMoveFnCollection const &, bool bInReadOnly)
bool GoNextCell(sal_uInt16 nCnt=1)
PaM is Point and Mark: a selection of the document model.
bool(* SwWhichTable)(SwPaM &, SwMoveFnCollection const &, bool bInReadOnly)
virtual bool IsReplaceMode() const =0
A helper class to save cursor state (position).
bool(* SwWhichPara)(SwPaM &, SwMoveFnCollection const &)
sal_uInt8 m_nCursorBidiLevel
const SwPosition * GetPoint() const
tools::Long m_nRowSpanOffset
SwTableCursor * GetNext()
void Create(SvxOrientationItem &rItem, SvStream &rStrm, sal_uInt16)
SwCursorSaveState(SwCursor &rC)
const sal_uInt16 CRSR_SKIP_HIDDEN
const sal_uInt16 CRSR_SKIP_CELLS
SwSelBoxes m_SelectedBoxes
bool Right(sal_uInt16 nCnt)
sal_Int32 GetIndex() const
size_t GetSelectedBoxesCount() const
void SetCursorBidiLevel(sal_uInt8 nNewLevel)
virtual bool LeftRight(bool bLeft, sal_uInt16 nCnt, sal_uInt16 nMode, bool bAllowVisual, bool bSkipHidden, bool bInsertCursor, SwRootFrame const *, bool) override
SwTableBox is one table cell in the document model.
virtual ~SwTableCursor() override
const SwTableCursor * GetNext() const
SwPaM & operator=(const SwPaM &)
@@ semantic: no copy assignment for super class Ring.
void ParkCursor()
park table cursor on the boxes' start node
virtual bool IsSelOvrCheck(SwCursorSelOverFlags eFlags) override
const sal_uInt16 CRSR_SKIP_CHARS
void ActualizeSelection(const SwSelBoxes &rBoxes)
void DeleteBox(size_t nPos)
bool HasReadOnlyBoxSel() const
bool(* SwWhichSection)(SwPaM &, SwMoveFnCollection const &)
SwTableCursor * GetPrev()
const SwCursor_SavePos * GetSavePos() const