edbee - Qt Editor Library
Public Member Functions | List of all members
edbee::TextRangeSet Class Reference

The basic textrange class. A simple class of textrange with a simple vector implementation. More...

#include <textrange.h>

+ Inheritance diagram for edbee::TextRangeSet:
+ Collaboration diagram for edbee::TextRangeSet:

Public Member Functions

 TextRangeSet (TextDocument *doc)
 Constructs a textrange set. More...
 
 TextRangeSet (const TextRangeSet &sel)
 the copy constructor for copying a selection More...
 
 TextRangeSet (const TextRangeSet *sel)
 
virtual ~TextRangeSet ()
 
TextRangeSetoperator= (const TextRangeSet &sel)
 copy the value from the rangeset More...
 
TextRangeSetclone () const
 
virtual int rangeCount () const
 
virtual TextRangerange (int idx)
 returns the selection range More...
 
virtual const TextRangeconstRange (int idx) const
 Returns a const reference from the. More...
 
virtual void addRange (int anchor, int caret)
 Adds a text range. More...
 
virtual void addRange (const TextRange &range)
 adds a range More...
 
virtual void removeRange (int idx)
 this method removes the range More...
 
virtual void clear ()
 This method removes ALL carets except the 'global' selection. More...
 
virtual void toSingleRange ()
 Converts the range to a single range selection. More...
 
virtual void sortRanges ()
 Sorts the ranges. More...
 
- Public Member Functions inherited from edbee::TextRangeSetBase
 TextRangeSetBase (TextDocument *doc)
 
virtual ~TextRangeSetBase ()
 
TextRangelastRange ()
 this method returns the last range More...
 
TextRangefirstRange ()
 the first range More...
 
int rangeIndexAtOffset (int offset)
 This method returns the range index at the given offset. More...
 
bool rangesBetweenOffsets (int offsetBegin, int offsetEnd, int &firstIndex, int &lastIndex)
 returns the range indices that are being overlapped by the given offsetBegin and offsetEnd More...
 
bool rangesBetweenOffsetsExlusiveEnd (int offsetBegin, int offsetEnd, int &firstIndex, int &lastIndex)
 returns the range indices that are being overlapped by the given offsetBegin and offsetEnd More...
 
bool rangesAtLine (int line, int &firstIndex, int &lastIndex)
 Returns the range indices that are being used on the given line. More...
 
bool hasSelection ()
 This method checks if there's a selection available A selection is an range with a different anchor then it's caret. More...
 
bool equals (TextRangeSetBase &sel)
 This method checks if two selections are equal. More...
 
void replaceAll (const TextRangeSetBase &base)
 Replaces all ranges with the supplied ranges. More...
 
QString getSelectedText ()
 This method returns all selected text For every filled selection range a line is returned. More...
 
QString getSelectedTextExpandedToFullLines ()
 Returns ALL lines that are touched by the selection. This means Full lines are always returned. More...
 
QString rangesAsString () const
 This method converts the selection ranges as a string, in the format: anchor>caret,anchor>caret. More...
 
void beginChanges ()
 This method starts the changes. More...
 
void endChanges ()
 
void endChangesWithoutProcessing ()
 Ends the changes without processing. WARNING, you should ONLY call this method if the operation you performed kept the rangeset in a valid state. This (at least) means the ranges need to be sorted. More...
 
bool changing () const
 Checks if the current rangeset is in a changing state. More...
 
void resetAnchors ()
 This method resets all anchors to the positions of the carets. More...
 
void clearSelection ()
 This method moves all carets to the anchor positions. More...
 
void addTextRanges (const TextRangeSetBase &sel)
 An union operation This method adds all text selection-items. Merges all ranges. More...
 
void substractTextRanges (const TextRangeSetBase &sel)
 The difference operation This method substracts the text-selection from the current selection. More...
 
void substractRange (int min, int max)
 This method substracts a single range from the ranges list. More...
 
void expandToFullLines (int amount)
 Expands the selection so it selects full lines. More...
 
void expandToWords (const QString &whitespace, const QStringList &characterGroups)
 Expands the selection to full words. More...
 
void selectWordAt (int offset, const QString &whitespace, const QStringList &characterGroups)
 Selects the word at the given offset. More...
 
void toggleWordSelectionAt (int offset, const QString &whitespace, const QStringList &characterGroups)
 Toggles a word selection at the given location The idea is the following, double-click an empty place to select the wordt at the given location Double click an existing selection to remove the selection (and caret) More...
 
void moveCarets (int amount)
 This method moves the carets by character. More...
 
void moveCaretsOrDeselect (int amount)
 This method moves the carets or deslects the given character. More...
 
void moveCaretsByCharGroup (int amount, const QString &whitespace, const QStringList &charGroups)
 This method moves the carets. More...
 
void moveCaretsToLineBoundary (int direction, const QString &whitespace)
 Moves al carets to the given line boundary (line-boundary automaticly switches between column 0 and first non-whitespace character) More...
 
void moveCaretsByLine (int amount)
 
void changeSpatial (int pos, int length, int newLength, bool sticky=false, bool performDelete=false)
 This method adds (or removes) the given spatial length at the given location. More...
 
void setRange (int anchor, int caret, int index=0)
 This mehtod sets the first range item. More...
 
void setRange (const TextRange &range, int index=0)
 Sets the range at the given index. Make sure the given index exists!! More...
 
virtual void processChangesIfRequired (bool joinBorders=false)
 This method process the changes if required. More...
 
TextDocumenttextDocument () const
 Returns the associated textdocument. More...
 
void mergeOverlappingRanges (bool joinBorders)
 This method merges overlapping ranges. More...
 

Additional Inherited Members

- Protected Attributes inherited from edbee::TextRangeSetBase
TextDocumenttextDocumentRef_
 The reference to the textbuffer. More...
 
int changing_
 A (integer) boolean for handling changes between beginChagnes and endChanges. More...
 

Detailed Description

The basic textrange class. A simple class of textrange with a simple vector implementation.

Constructor & Destructor Documentation

◆ TextRangeSet() [1/3]

edbee::TextRangeSet::TextRangeSet ( TextDocument doc)

Constructs a textrange set.

Parameters
docthe document for this rangeset

◆ TextRangeSet() [2/3]

edbee::TextRangeSet::TextRangeSet ( const TextRangeSet sel)

the copy constructor for copying a selection

Parameters
selthe ranges to copy

◆ TextRangeSet() [3/3]

edbee::TextRangeSet::TextRangeSet ( const TextRangeSet sel)

◆ ~TextRangeSet()

virtual edbee::TextRangeSet::~TextRangeSet ( )
inlinevirtual

Member Function Documentation

◆ addRange() [1/2]

void edbee::TextRangeSet::addRange ( int  anchor,
int  caret 
)
virtual

Adds a text range.

Implements edbee::TextRangeSetBase.

◆ addRange() [2/2]

void edbee::TextRangeSet::addRange ( const TextRange range)
virtual

adds a range

Implements edbee::TextRangeSetBase.

◆ clear()

void edbee::TextRangeSet::clear ( )
virtual

This method removes ALL carets except the 'global' selection.

Implements edbee::TextRangeSetBase.

◆ clone()

TextRangeSet * edbee::TextRangeSet::clone ( ) const

◆ constRange()

const TextRange & edbee::TextRangeSet::constRange ( int  idx) const
virtual

Returns a const reference from the.

Implements edbee::TextRangeSetBase.

◆ operator=()

TextRangeSet & edbee::TextRangeSet::operator= ( const TextRangeSet sel)

copy the value from the rangeset

◆ range()

TextRange & edbee::TextRangeSet::range ( int  idx)
virtual

returns the selection range

Implements edbee::TextRangeSetBase.

◆ rangeCount()

virtual int edbee::TextRangeSet::rangeCount ( ) const
inlinevirtual

◆ removeRange()

void edbee::TextRangeSet::removeRange ( int  idx)
virtual

this method removes the range

Implements edbee::TextRangeSetBase.

◆ sortRanges()

void edbee::TextRangeSet::sortRanges ( )
virtual

Sorts the ranges.

Implements edbee::TextRangeSetBase.

◆ toSingleRange()

void edbee::TextRangeSet::toSingleRange ( )
virtual

Converts the range to a single range selection.

Implements edbee::TextRangeSetBase.


The documentation for this class was generated from the following files: