KateTextLine Class Reference

#include <katetextline.h>

Inheritance diagram for KateTextLine:

KShared List of all members.

Detailed Description

The KateTextLine represents a line of text.

A text line that contains the text, an attribute for each character, an attribute for the free space behind the last character and a context number for the syntax highlight. The attribute stores the index to a table that contains fonts and colors and also if a character is selected.

Definition at line 41 of file katetextline.h.


Public Types

enum  Flags {
  flagNoOtherData = 1, flagHlContinue = 2, flagAutoWrapped = 4, flagFoldingColumnsOutdated = 8,
  flagNoIndentationBasedFolding = 16, flagNoIndentationBasedFoldingAtStart = 32
}
typedef KSharedPtr< KateTextLinePtr

Public Member Functions

 KateTextLine ()
 ~KateTextLine ()
void setFoldingColumnsOutdated (bool set)
bool foldingColumnsOutdated ()
uint length () const
bool hlLineContinue () const
bool isAutoWrapped () const
int firstChar () const
int lastChar () const
int nextNonSpaceChar (uint pos) const
int previousNonSpaceChar (uint pos) const
QChar getChar (uint pos) const
const QChartext () const
uchar * attributes () const
const QStringstring () const
QString string (uint startCol, uint length) const
const QCharfirstNonSpace () const
uint indentDepth (uint tabwidth) const
int cursorX (uint pos, uint tabChars) const
uint lengthWithTabs (uint tabChars) const
bool stringAtPos (uint pos, const QString &match) const
bool startingWith (const QString &match) const
bool endingWith (const QString &match) const
bool searchText (uint startCol, const QString &text, uint *foundAtCol, uint *matchLen, bool casesensitive=true, bool backwards=false)
bool searchText (uint startCol, const QRegExp &regexp, uint *foundAtCol, uint *matchLen, bool backwards=false)
uchar attribute (uint pos) const
const QMemArray< short > & ctxArray () const
const bool noIndentBasedFolding () const
const bool noIndentBasedFoldingAtStart () const
const QMemArray< uint > & foldingListArray () const
const QMemArray< unsigned
short > & 
indentationDepthArray () const
void insertText (uint pos, uint insLen, const QChar *insText, uchar *insAttribs=0)
void removeText (uint pos, uint delLen)
void truncate (uint newLen)
void setHlLineContinue (bool cont)
void setAutoWrapped (bool wrapped)
void setContext (QMemArray< short > &val)
void setNoIndentBasedFolding (bool val)
void setNoIndentBasedFoldingAtStart (bool val)
void setFoldingList (QMemArray< uint > &val)
void setIndentationDepth (QMemArray< unsigned short > &val)
uint dumpSize (bool withHighlighting) const
char * dump (char *buf, bool withHighlighting) const
char * restore (char *buf)

Member Typedef Documentation

Define a Shared-Pointer type.

Definition at line 47 of file katetextline.h.


Member Enumeration Documentation

Used Flags.

Definition at line 53 of file katetextline.h.


Constructor & Destructor Documentation

KateTextLine::KateTextLine (  ) 

Constructor Creates an empty text line with given attribute and syntax highlight context.

Definition at line 30 of file katetextline.cpp.

KateTextLine::~KateTextLine (  ) 

Destructor.

Definition at line 35 of file katetextline.cpp.


Member Function Documentation

void KateTextLine::setFoldingColumnsOutdated ( bool  set  )  [inline]

Set the flag that only positions have changed, not folding region begins/ends themselve.

Definition at line 83 of file katetextline.h.

bool KateTextLine::foldingColumnsOutdated (  )  [inline]

folding columns outdated ?

Returns:
folding columns outdated?

Definition at line 90 of file katetextline.h.

uint KateTextLine::length (  )  const [inline]

Returns the length.

Returns:
length of text in line

Definition at line 97 of file katetextline.h.

bool KateTextLine::hlLineContinue (  )  const [inline]

has the line the hl continue flag set

Returns:
hl continue set?

Definition at line 103 of file katetextline.h.

bool KateTextLine::isAutoWrapped (  )  const [inline]

was this line automagically wrapped

Returns:
line auto-wrapped

Definition at line 109 of file katetextline.h.

int KateTextLine::firstChar (  )  const

Returns the position of the first non-whitespace character.

Returns:
position of first non-whitespace char or -1 if there is none

Definition at line 142 of file katetextline.cpp.

int KateTextLine::lastChar (  )  const

Returns the position of the last non-whitespace character.

Returns:
position of last non-whitespace char or -1 if there is none

Definition at line 147 of file katetextline.cpp.

int KateTextLine::nextNonSpaceChar ( uint  pos  )  const

Find the position of the next char that is not a space.

Parameters:
pos Column of the character which is examined first.
Returns:
True if the specified or a following character is not a space Otherwise false.

Definition at line 110 of file katetextline.cpp.

int KateTextLine::previousNonSpaceChar ( uint  pos  )  const

Find the position of the previous char that is not a space.

Parameters:
pos Column of the character which is examined first.
Returns:
The position of the first none-whitespace character preceeding pos, or -1 if none is found.

Definition at line 124 of file katetextline.cpp.

QChar KateTextLine::getChar ( uint  pos  )  const [inline]

Gets the char at the given position.

Parameters:
pos position
Returns:
character at the given position or QChar::null if position is beyond the length of the string

Definition at line 145 of file katetextline.h.

const QChar* KateTextLine::text (  )  const [inline]

Gets the text as a unicode representation.

Returns:
text of this line as QChar array

Definition at line 151 of file katetextline.h.

uchar* KateTextLine::attributes (  )  const [inline]

Highlighting array The size of this is string().length().

This contains the index for the attributes (so you can only have a maximum of 2^8 different highlighting styles in a document)

To turn this into actual attributes (bold, green, etc), you need to feed these values into KRenderer::attributes

e.g: m_renderer->attributes(attributes[3]);

Returns:
hl-attributes array

Definition at line 167 of file katetextline.h.

const QString& KateTextLine::string (  )  const [inline]

Gets a QString.

Returns:
text of line as QString reference

Definition at line 173 of file katetextline.h.

QString KateTextLine::string ( uint  startCol,
uint  length 
) const [inline]

Gets a substring.

Parameters:
startCol start column of substring
length length of substring
Returns:
wanted substring

Definition at line 181 of file katetextline.h.

const QChar * KateTextLine::firstNonSpace (  )  const

Gets a null terminated pointer to first non space char.

Returns:
array of QChars starting at first non-whitespace char

Definition at line 152 of file katetextline.cpp.

uint KateTextLine::indentDepth ( uint  tabwidth  )  const

indentation depth of this line

Parameters:
tabwidth width of the tabulators
Returns:
indentation width

Definition at line 158 of file katetextline.cpp.

int KateTextLine::cursorX ( uint  pos,
uint  tabChars 
) const

Returns the x position of the cursor at the given position, which depends on the number of tab characters.

Parameters:
pos position in chars
tabChars tabulator width in chars
Returns:
position with tabulators calculated

Definition at line 237 of file katetextline.cpp.

uint KateTextLine::lengthWithTabs ( uint  tabChars  )  const

Returns the text length with tabs calced in.

Parameters:
tabChars tabulator width in chars
Returns:
text length

Definition at line 256 of file katetextline.cpp.

bool KateTextLine::stringAtPos ( uint  pos,
const QString match 
) const

Can we find the given string at the given position.

Parameters:
pos startpostion of given string
match string to match at given pos
Returns:
did the string match?

Definition at line 180 of file katetextline.cpp.

bool KateTextLine::startingWith ( const QString match  )  const

Is the line starting with the given string.

Parameters:
match string to test
Returns:
does line start with given string?

Definition at line 202 of file katetextline.cpp.

bool KateTextLine::endingWith ( const QString match  )  const

Is the line ending with the given string.

Parameters:
match string to test
Returns:
does the line end with given string?

Definition at line 219 of file katetextline.cpp.

bool KateTextLine::searchText ( uint  startCol,
const QString text,
uint *  foundAtCol,
uint *  matchLen,
bool  casesensitive = true,
bool  backwards = false 
)

search given string

Parameters:
startCol column to start search
text string to search for
foundAtCol column where text was found
matchLen length of matching
casesensitive should search be case-sensitive
backwards search backwards?
Returns:
string found?

Definition at line 273 of file katetextline.cpp.

bool KateTextLine::searchText ( uint  startCol,
const QRegExp regexp,
uint *  foundAtCol,
uint *  matchLen,
bool  backwards = false 
)

search given regexp

Parameters:
startCol column to start search
regexp regex to search for
foundAtCol column where text was found
matchLen length of matching
backwards search backwards?
Returns:
regexp found?

Definition at line 304 of file katetextline.cpp.

uchar KateTextLine::attribute ( uint  pos  )  const [inline]

Gets the attribute at the given position use KRenderer::attributes to get the KTextAttribute for this.

Parameters:
pos position of attribute requested
Returns:
value of attribute
See also:
attributes

Definition at line 271 of file katetextline.h.

const QMemArray<short>& KateTextLine::ctxArray (  )  const [inline]

context stack

Returns:
context stack

Definition at line 281 of file katetextline.h.

const bool KateTextLine::noIndentBasedFolding (  )  const [inline]

Returns:
true if any context at the line end has the noIndentBasedFolding flag set

Definition at line 286 of file katetextline.h.

const QMemArray<uint>& KateTextLine::foldingListArray (  )  const [inline]

folding list

Returns:
folding array

Definition at line 292 of file katetextline.h.

const QMemArray<unsigned short>& KateTextLine::indentationDepthArray (  )  const [inline]

indentation stack

Returns:
indentation array

Definition at line 298 of file katetextline.h.

void KateTextLine::insertText ( uint  pos,
uint  insLen,
const QChar insText,
uchar *  insAttribs = 0 
)

insert text into line

Parameters:
pos insert position
insLen insert length
insText text to insert
insAttribs attributes for the insert text

Definition at line 39 of file katetextline.cpp.

void KateTextLine::removeText ( uint  pos,
uint  delLen 
)

remove text at given position

Parameters:
pos start position of remove
delLen length to remove

Definition at line 76 of file katetextline.cpp.

void KateTextLine::truncate ( uint  newLen  ) 

Truncates the textline to the new length.

Parameters:
newLen new length of line

Definition at line 101 of file katetextline.cpp.

void KateTextLine::setHlLineContinue ( bool  cont  )  [inline]

set hl continue flag

Parameters:
cont continue flag?

Definition at line 326 of file katetextline.h.

void KateTextLine::setAutoWrapped ( bool  wrapped  )  [inline]

auto-wrapped

Parameters:
wrapped line was wrapped?

Definition at line 336 of file katetextline.h.

void KateTextLine::setContext ( QMemArray< short > &  val  )  [inline]

Sets the syntax highlight context number.

Parameters:
val new context array

Definition at line 346 of file katetextline.h.

void KateTextLine::setNoIndentBasedFolding ( bool  val  )  [inline]

sets if for the next line indent based folding should be disabled

Definition at line 351 of file katetextline.h.

void KateTextLine::setFoldingList ( QMemArray< uint > &  val  )  [inline]

update folding list

Parameters:
val new folding list

Definition at line 367 of file katetextline.h.

void KateTextLine::setIndentationDepth ( QMemArray< unsigned short > &  val  )  [inline]

update indentation stack

Parameters:
val new indentation stack

Definition at line 373 of file katetextline.h.

uint KateTextLine::dumpSize ( bool  withHighlighting  )  const [inline]

Dumpsize in bytes.

Parameters:
withHighlighting should we dump the hl, too?
Returns:
size of line for dumping

Definition at line 384 of file katetextline.h.

char * KateTextLine::dump ( char *  buf,
bool  withHighlighting 
) const

Dumps the line to *buf and counts buff dumpSize bytes up as return value.

Parameters:
buf buffer to dump to
withHighlighting dump hl data, too?
Returns:
buffer index after dumping

Definition at line 335 of file katetextline.cpp.

char * KateTextLine::restore ( char *  buf  ) 

Restores the line from *buf and counts buff dumpSize bytes up as return value.

Parameters:
buf buffer to restore from
Returns:
buffer index after restoring

Definition at line 383 of file katetextline.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys