KTextEditor
Go to the documentation of this file.
20 #ifndef KDELIBS_KTEXTEDITOR_SMARTRANGE_H
21 #define KDELIBS_KTEXTEDITOR_SMARTRANGE_H
28 #include <QtCore/QList>
30 #ifndef DOXYGEN_SHOULD_SKIP_THIS
31 template <
class T>
class QStack;
38 class SmartRangeNotifier;
39 class SmartRangeWatcher;
108 Q_DECLARE_FLAGS(InsertBehaviors, InsertBehavior)
115 virtual
bool isSmartRange() const;
120 virtual SmartRange* toSmartRange() const;
134 virtual
void setRange(const
Range& range);
154 {
return *
static_cast<const SmartCursor*
>(m_start); }
174 {
return *
static_cast<const SmartCursor*
>(m_end); }
180 virtual bool confineToRange(
const Range& range);
186 virtual bool expandToRange(
const Range& range);
211 virtual QStringList text(
bool block =
false)
const;
220 virtual bool replaceText(
const QStringList &text,
bool block =
false);
229 virtual bool removeText(
bool block =
false);
246 InsertBehaviors insertBehavior()
const;
258 void setInsertBehavior(InsertBehaviors behavior);
278 {
return m_parentRange; }
310 inline int depth()
const
311 {
return m_parentRange ? m_parentRange->depth() + 1 : 0; }
336 void clearChildRanges();
342 void deleteChildRanges();
348 void clearAndDeleteChildRanges();
413 QStack<SmartRange*>* rangesEntered = 0L,
414 QStack<SmartRange*>* rangesExited = 0L)
const;
422 int overlapCount()
const;
472 void associateAction(
KAction* action);
480 void dissociateAction(
KAction* action);
488 {
return m_associatedActions; }
493 void clearAssociatedActions();
547 void deletePrimaryNotifier();
592 { setRange(rhs);
return *
this; }
604 { setRange(rhs);
return *
this; }
632 virtual void rangeChanged(
Cursor* cursor,
const Range& from);
639 virtual void checkFeedback();
652 void rebuildChildStructure();
666 QStack<SmartRange*>* rangesEntered,
667 QStack<SmartRange*>* rangesExited,
668 bool first =
false)
const;
726 bool m_ownsAttribute :1;
733 uchar m_overlapCount:6;
736 Q_DECLARE_OPERATORS_FOR_FLAGS(SmartRange::InsertBehaviors)
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Apr 16 2013 19:18:00 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.