Kate::TextBlock
#include <katetextblock.h>
Public Member Functions | |
TextBlock (TextBuffer *buffer, int startLine) | |
~TextBlock () | |
void | appendLine (const QString &textOfLine) |
QSet< TextRange * > | cachedRangesForLine (int line) const |
void | clearBlockContent (TextBlock *targetBlock) |
void | clearLines () |
bool | containsRange (TextRange *range) const |
void | debugPrint (int blockIndex) const |
void | deleteBlockContent () |
void | insertCursor (Kate::TextCursor *cursor) |
void | insertText (const KTextEditor::Cursor position, const QString &text) |
TextLine | line (int line) const |
int | lineLength (int line) const |
int | lines () const |
void | markModifiedLinesAsSaved () |
void | mergeBlock (TextBlock *targetBlock) |
QVector< TextRange * > | rangesForLine (int line, KTextEditor::View *view, bool rangesWithAttributeOnly) const |
void | removeCursor (Kate::TextCursor *cursor) |
void | removeRange (TextRange *range) |
void | removeText (KTextEditor::Range range, QString &removedText) |
void | setStartLine (int startLine) |
TextBlock * | splitBlock (int fromLine) |
int | startLine () const |
void | text (QString &text) const |
void | unwrapLine (int line, TextBlock *previousBlock, int fixStartLinesStartIndex) |
void | updateRange (TextRange *range) |
void | wrapLine (const KTextEditor::Cursor position, int fixStartLinesStartIndex) |
Detailed Description
Class representing a text block.
This is used to build up a Kate::TextBuffer. This class should only be used by TextBuffer/Cursor/Range.
Definition at line 40 of file katetextblock.h.
Constructor & Destructor Documentation
◆ TextBlock()
Kate::TextBlock::TextBlock | ( | TextBuffer * | buffer, |
int | startLine | ||
) |
Construct an empty text block.
- Parameters
-
buffer parent text buffer startLine start line of this block
Definition at line 15 of file katetextblock.cpp.
◆ ~TextBlock()
Kate::TextBlock::~TextBlock | ( | ) |
Destruct the text block.
Definition at line 23 of file katetextblock.cpp.
Member Function Documentation
◆ appendLine()
void Kate::TextBlock::appendLine | ( | const QString & | textOfLine | ) |
Append a new line with given text.
- Parameters
-
textOfLine text of the line to append
Definition at line 50 of file katetextblock.cpp.
◆ cachedRangesForLine()
Return all ranges in this block which might intersect the given line and only span one line.
For them an internal fast lookup cache is hold.
- Parameters
-
line line to check intersection
- Returns
- set of ranges
Definition at line 238 of file katetextblock.h.
◆ clearBlockContent()
void Kate::TextBlock::clearBlockContent | ( | TextBlock * | targetBlock | ) |
Clear the block content, delete all lines, move all cursors not bound to range to given block at 0,0.
This is used by clear() of TextBuffer.
- Parameters
-
targetBlock empty target block for cursors
Definition at line 602 of file katetextblock.cpp.
◆ clearLines()
void Kate::TextBlock::clearLines | ( | ) |
Clear the lines.
Definition at line 55 of file katetextblock.cpp.
◆ containsRange()
|
inline |
Is the given range contained in this block?
- Parameters
-
range range to check for
- Returns
- contained in this blocks mapping?
Definition at line 191 of file katetextblock.h.
◆ debugPrint()
void Kate::TextBlock::debugPrint | ( | int | blockIndex | ) | const |
Debug output, print whole block content with line numbers and line length.
- Parameters
-
blockIndex index of this block in buffer
Definition at line 489 of file katetextblock.cpp.
◆ deleteBlockContent()
void Kate::TextBlock::deleteBlockContent | ( | ) |
Delete the block content, delete all lines and delete all cursors not bound to ranges.
This is used in destructor of TextBuffer, for fast cleanup. Only stuff remaining afterwards are cursors which are part of a range, TextBuffer will delete them itself...
Definition at line 578 of file katetextblock.cpp.
◆ insertCursor()
|
inline |
Insert cursor into this block.
- Parameters
-
cursor cursor to insert
Definition at line 205 of file katetextblock.h.
◆ insertText()
void Kate::TextBlock::insertText | ( | const KTextEditor::Cursor | position, |
const QString & | text | ||
) |
Insert text at given cursor position.
- Parameters
-
position position where to insert text text text to insert
Definition at line 351 of file katetextblock.cpp.
◆ line()
TextLine Kate::TextBlock::line | ( | int | line | ) | const |
Retrieve a text line.
- Parameters
-
line wanted line number
- Returns
- text line
Definition at line 41 of file katetextblock.cpp.
◆ lineLength()
|
inline |
Retrieve length for line
.
- Parameters
-
line wanted line number
- Returns
- length of line
Definition at line 82 of file katetextblock.h.
◆ lines()
|
inline |
Number of lines in this block.
- Returns
- number of lines
Definition at line 103 of file katetextblock.h.
◆ markModifiedLinesAsSaved()
void Kate::TextBlock::markModifiedLinesAsSaved | ( | ) |
Flag all modified text lines as saved on disk.
Definition at line 659 of file katetextblock.cpp.
◆ mergeBlock()
void Kate::TextBlock::mergeBlock | ( | TextBlock * | targetBlock | ) |
Merge this block with given one, the given one must be a direct predecessor.
- Parameters
-
targetBlock block to merge with
Definition at line 546 of file katetextblock.cpp.
◆ rangesForLine()
QVector< TextRange * > Kate::TextBlock::rangesForLine | ( | int | line, |
KTextEditor::View * | view, | ||
bool | rangesWithAttributeOnly | ||
) | const |
Return all ranges in this block which might intersect the given line.
- Parameters
-
line line to check intersection view only return ranges associated with given view rangesWithAttributeOnly ranges with attributes only?
- Returns
- list of possible candidate ranges
Definition at line 626 of file katetextblock.cpp.
◆ removeCursor()
|
inline |
Remove cursor from this block.
- Parameters
-
cursor cursor to remove
Definition at line 214 of file katetextblock.h.
◆ removeRange()
void Kate::TextBlock::removeRange | ( | TextRange * | range | ) |
Remove a range from this block.
- Parameters
-
range range to remove
Definition at line 718 of file katetextblock.cpp.
◆ removeText()
void Kate::TextBlock::removeText | ( | KTextEditor::Range | range, |
QString & | removedText | ||
) |
Remove text at given range.
- Parameters
-
range range of text to remove, must be on one line only. removedText will be filled with removed text
Definition at line 420 of file katetextblock.cpp.
◆ setStartLine()
void Kate::TextBlock::setStartLine | ( | int | startLine | ) |
Set start line of this block.
- Parameters
-
startLine new start line of this block
Definition at line 32 of file katetextblock.cpp.
◆ splitBlock()
TextBlock * Kate::TextBlock::splitBlock | ( | int | fromLine | ) |
Split given block.
A new block will be created and all lines starting from the given index will be moved to it, together with the cursors belonging to it.
- Parameters
-
fromLine line from which to split
- Returns
- new block containing the lines + cursors removed from this one
Definition at line 497 of file katetextblock.cpp.
◆ startLine()
|
inline |
Start line of this block.
- Returns
- start line of this block
Definition at line 59 of file katetextblock.h.
◆ text()
void Kate::TextBlock::text | ( | QString & | text | ) | const |
Retrieve text of block.
- Parameters
-
text for this block, lines separated by '
'
Definition at line 60 of file katetextblock.cpp.
◆ unwrapLine()
void Kate::TextBlock::unwrapLine | ( | int | line, |
TextBlock * | previousBlock, | ||
int | fixStartLinesStartIndex | ||
) |
Unwrap given line.
- Parameters
-
line line to unwrap previousBlock previous block, if any, if we unwrap first line in block, we need to have this fixStartLinesStartIndex start index to fix start lines, normally this is this block or the previous one
Definition at line 180 of file katetextblock.cpp.
◆ updateRange()
void Kate::TextBlock::updateRange | ( | TextRange * | range | ) |
Update a range from this block.
Will move the range to right set, either cached for one-line ranges or not.
- Parameters
-
range range to update
Definition at line 669 of file katetextblock.cpp.
◆ wrapLine()
void Kate::TextBlock::wrapLine | ( | const KTextEditor::Cursor | position, |
int | fixStartLinesStartIndex | ||
) |
Wrap line at given cursor position.
- Parameters
-
position line/column as cursor where to wrap fixStartLinesStartIndex start index to fix start lines, normally this is this block
Definition at line 73 of file katetextblock.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Dec 2 2023 03:52:07 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.