KTextEditor
katetextrange.cpp
16TextRange::TextRange(TextBuffer *buffer, KTextEditor::Range range, InsertBehaviors insertBehavior, EmptyBehavior emptyBehavior)
18 , m_start(buffer, this, range.start(), (insertBehavior & ExpandLeft) ? Kate::TextCursor::StayOnInsert : Kate::TextCursor::MoveOnInsert)
19 , m_end(buffer, this, range.end(), (insertBehavior & ExpandRight) ? Kate::TextCursor::MoveOnInsert : Kate::TextCursor::StayOnInsert)
44 && (m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateCaretIn) || m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateMouseIn));
70 m_start.setInsertBehavior((_insertBehaviors & ExpandLeft) ? KTextEditor::MovingCursor::StayOnInsert : KTextEditor::MovingCursor::MoveOnInsert);
71 m_end.setInsertBehavior((_insertBehaviors & ExpandRight) ? KTextEditor::MovingCursor::MoveOnInsert : KTextEditor::MovingCursor::StayOnInsert);
145 if (oldLineRange.start() == -1 || (m_start.lineInternal() != -1 && m_start.lineInternal() < oldLineRange.start())) {
176void TextRange::setRange(KTextEditor::Range range, KTextEditor::Attribute::Ptr attribute, qreal zDepth)
198 // for ranges which are allowed to become empty, normalize them, if the end has moved to the front of the start
205 m_buffer->notifyAboutRangeChange(m_view, toLineRange(), false /* attribute not interesting here */);
242 && (m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateCaretIn) || m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateMouseIn));
247 && (m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateCaretIn) || m_attribute->dynamicAttribute(KTextEditor::Attribute::ActivateMouseIn));
273 // if feedback was set to null, then notify about deleted range now because if this range is deleted
275 m_buffer->notifyAboutRangeChange(m_view, toLineRange(), m_attribute, feedbackCleared ? this : nullptr);
bool isValid() const
Returns whether the current position of this cursor is a valid position, i.e.
Definition movingcursor.h:159
A class which provides notifications of state changes to a MovingRange.
Definition movingrangefeedback.h:36
virtual void rangeInvalid(MovingRange *range)
The range is now invalid (ie.
Definition movingapi.cpp:181
bool isEmpty() const
Returns true if this range contains no characters, ie.
Definition movingrange.h:405
@ DoNotExpand
Don't expand to encapsulate new characters in either direction. This is the default.
Definition movingrange.h:142
@ ExpandRight
Expand to encapsulate new characters to the right of the range.
Definition movingrange.h:146
@ ExpandLeft
Expand to encapsulate new characters to the left of the range.
Definition movingrange.h:144
An object representing a section of text, from one Cursor to another.
Definition include/ktexteditor/range.h:49
constexpr Cursor end() const noexcept
Get the end position of this range.
Definition include/ktexteditor/range.h:163
constexpr Cursor start() const noexcept
Get the start position of this range.
Definition include/ktexteditor/range.h:153
static constexpr Range invalid() noexcept
Returns an invalid range.
Definition include/ktexteditor/range.h:121
KTEXTEDITOR_NO_EXPORT void addMultilineRange(TextRange *range)
Add/Remove a multiline range that spans multiple blocks.
Definition katetextbuffer.cpp:1026
int lineInternal() const
Non-virtual version of line(), which is faster.
Definition katetextcursor.h:125
InsertBehavior insertBehavior() const override
Get current insert behavior.
Definition katetextcursor.h:76
void setInsertBehavior(InsertBehavior insertBehavior) override
Set insert behavior.
Definition katetextcursor.h:67
void setPosition(const TextCursor &position)
Fast way to set the current cursor position to position.
Definition katetextcursor.cpp:43
int columnInternal() const
Non-virtual version of column(), which is faster.
Definition katetextcursor.h:146
int line() const override
Retrieve the line on which this cursor is situated.
Definition katetextcursor.h:115
void setAttribute(KTextEditor::Attribute::Ptr attribute) override
Sets the currently active attribute for this range.
Definition katetextrange.cpp:233
KTextEditor::MovingRangeFeedback * feedback() const override
Gets the active MovingRangeFeedback for this range.
Definition katetextrange.h:268
const TextCursor & startInternal() const
Non-virtual version of start(), which is faster.
Definition katetextrange.h:164
KTextEditor::Document * document() const override
Gets the document to which this range is bound.
Definition katetextrange.cpp:300
const KTextEditor::MovingCursor & end() const override
Retrieve end cursor of this range, read-only.
Definition katetextrange.h:173
const KTextEditor::Attribute::Ptr & attribute() const override
Gets the active Attribute for this range.
Definition katetextrange.h:240
void setZDepth(qreal zDepth) override
Set the current Z-depth of this range.
Definition katetextrange.cpp:284
InsertBehaviors insertBehaviors() const override
Get current insert behaviors.
Definition katetextrange.cpp:79
void setAttributeOnlyForViews(bool onlyForViews) override
Set if this range's attribute is only visible in views, not for example prints.
Definition katetextrange.cpp:278
KTextEditor::View * view() const override
Gets the active view for this range.
Definition katetextrange.h:220
void setFeedback(KTextEditor::MovingRangeFeedback *feedback) override
Sets the currently active MovingRangeFeedback for this range.
Definition katetextrange.cpp:260
const KTextEditor::Range toRange() const
Convert this clever range into a dumb one.
Definition katetextrange.h:199
void setView(KTextEditor::View *view) override
Sets the currently active view for this range.
Definition katetextrange.cpp:216
void setInsertBehaviors(InsertBehaviors insertBehaviors) override
Set insert behaviors.
Definition katetextrange.cpp:62
const TextCursor & endInternal() const
Nonvirtual version of end(), which is faster.
Definition katetextrange.h:182
EmptyBehavior emptyBehavior() const override
Will this range invalidate itself if it becomes empty?
Definition katetextrange.h:90
KTextEditor::LineRange toLineRange() const
Hides parent's impl of toLineRange() and uses non-virtual functions internally.
Definition katetextrange.h:190
void setEmptyBehavior(EmptyBehavior emptyBehavior) override
Set if this range will invalidate itself if it becomes empty.
Definition katetextrange.cpp:94
void setRange(KTextEditor::Range range) override
Set the range of this range.
Definition katetextrange.cpp:110
TextRange(TextBuffer *buffer, KTextEditor::Range range, InsertBehaviors insertBehavior, EmptyBehavior emptyBehavior=AllowEmpty)
Construct a text range.
Definition katetextrange.cpp:16
Q_SCRIPTABLE Q_NOREPLY void start()
bool isValid(QStringView ifopt)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:11:26 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:11:26 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.