# kate Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KateBuffer Class Reference

The KateBuffer class maintains a collections of lines. More...

`#include <katebuffer.h>`

Inheritance diagram for KateBuffer:

[legend]
Collaboration diagram for KateBuffer:

[legend]
List of all members.

## Public Slots

void | codeFoldingColumnUpdate (unsigned int lineNr)

## Signals

void | codeFoldingUpdated ()
void | tagLines (int start, int end)

## Public Member Functions

| KateBuffer (KateDocument *doc)
| ~KateBuffer ()
void | editStart ()
void | editEnd ()
void | clear ()
bool | openFile (const QString &m_file)
bool | loadingBorked () const
bool | binary () const
bool | canEncode ()
bool | saveFile (const QString &m_file)
KateTextLine::Ptr | line (uint i)
KateTextLine::Ptr | plainLine (uint i)
uint | count () const
void | changeLine (uint i)
void | insertLine (uint i, KateTextLine::Ptr line)
void | removeLine (uint i)
uint | countVisible ()
uint | lineNumber (uint visibleLine)
uint | lineVisibleNumber (uint line)
void | lineInfo (KateLineInfo *info, unsigned int line)
uint | tabWidth () const
void | setTabWidth (uint w)
void | setHighlight (uint hlMode)
KateHighlighting * | highlight ()
void | invalidateHighlighting ()
KateCodeFoldingTree * | foldingTree ()

## Static Public Member Functions

static uint | maxLoadedBlocks ()
static void | setMaxLoadedBlocks (uint count)

## Friends

class | KateBufBlock

## Detailed Description

The KateBuffer class maintains a collections of lines.

It allows to maintain state information in a lazy way. It handles swapping out of data using secondary storage.

It is designed to handle large amounts of text-data efficiently with respect to CPU and memory usage.

Author:
  Waldo Bastian <bastian@kde.org>

  Christoph Cullmann <cullmann@kde.org>

Definition at line 341 of file katebuffer.h.

## Constructor & Destructor Documentation

KateBuffer::KateBuffer | ( | KateDocument * | doc | ) |

Create an empty buffer.

Parameters:

  | doc | parent document

Definition at line 317 of file katebuffer.cpp.

References clear().

KateBuffer::~KateBuffer | ( |  | ) |

| Goodbye buffer. Definition at line 344 of file katebuffer.cpp. References QValueVector::size().

## Member Function Documentation

static uint KateBuffer::maxLoadedBlocks | ( |  | ) | `[inline, static]`

maximal loaded block count

Returns:
  max loaded blocks

Definition at line 352 of file katebuffer.h.

Referenced by KateBufBlock::KateBufBlock().

void KateBuffer::setMaxLoadedBlocks | ( | uint | count | ) | `[static]`

modifier for max loaded blocks limit

Parameters:

  | count | new limit

Definition at line 79 of file katebuffer.cpp.

References KMAX.

void KateBuffer::editStart | ( |  | ) |

| start some editing action Definition at line 355 of file katebuffer.cpp.

void KateBuffer::editEnd | ( |  | ) |

| finish some editing action Definition at line 368 of file katebuffer.cpp. References KateBufBlock::endLine(), and KateBufBlock::startLine().

void KateBuffer::clear | ( |  | ) |

| Clear the buffer. Definition at line 450 of file katebuffer.cpp. References QValueVector::append(), QValueVector::clear(), KateBufBlock::lines(), and QValueVector::size(). Referenced by KateBuffer(), and openFile().

bool KateBuffer::openFile | ( | const QString & | m_file | ) |

Open a file, use the given filename.

Parameters:

  | m_file | filename to open

Returns:
  success

Definition at line 477 of file katebuffer.cpp.

References QValueVector::append(), QValueVector::clear(), clear(), endl(), KateBufBlock::endLine(), QValueVector::isEmpty(), kdDebug(), KateBufBlock::lines(), and QValueVector::size().

bool KateBuffer::loadingBorked | ( |  | ) | const`[inline]`

was the last loading broken because of not enough tmp disk space ? (will be reseted on successful save of the file, user gets warning if he really wants to do it)

Returns:
  was loading borked?

Definition at line 447 of file katebuffer.h.

bool KateBuffer::binary | ( |  | ) | const`[inline]`

is this file a binary?

Returns:
  binary file?

Definition at line 453 of file katebuffer.h.

bool KateBuffer::canEncode | ( |  | ) |

Can the current codec handle all chars.

Returns:
  chars can be encoded

Definition at line 559 of file katebuffer.cpp.

References QTextCodec::canEncode(), endl(), kdDebug(), QTextCodec::name(), and plainLine().

bool KateBuffer::saveFile | ( | const QString & | m_file | ) |

Save the buffer to a file, use the given filename + codec + end of line chars (internal use of qtextstream).

Parameters:

  | m_file | filename to save to

Returns:
  success

Definition at line 583 of file katebuffer.cpp.

References QFile::close(), QString::fill(), QFile::open(), plainLine(), QTextStream::setCodec(), and QTextStream::setEncoding().

KateTextLine::Ptr KateBuffer::line | ( | uint | i | ) | `[inline]`

| Return line `i`. Definition at line 472 of file katebuffer.h. References KateBufBlock::line(), and KateBufBlock::startLine().

KateTextLine::Ptr KateBuffer::plainLine | ( | uint | i | ) | `[inline]`

| Return line `i` without triggering highlighting. Definition at line 494 of file katebuffer.h. References KateBufBlock::line(), and KateBufBlock::startLine(). Referenced by canEncode(), and saveFile().

uint KateBuffer::count | ( |  | ) | const`[inline]`

| Return the total number of lines in the buffer. Definition at line 506 of file katebuffer.h.

void KateBuffer::changeLine | ( | uint | i | ) |

| Mark line `i` as changed ! Definition at line 749 of file katebuffer.cpp. References KateBufBlock::markDirty().

void KateBuffer::insertLine | ( | uint | i,
|  | KateTextLine::Ptr | line
| ) |

| Insert `line` in front of line `i`. Definition at line 759 of file katebuffer.cpp. References KateBufBlock::insertLine(), and KateBufBlock::startLine().

void KateBuffer::removeLine | ( | uint | i | ) |

| Remove line `i`. Definition at line 794 of file katebuffer.cpp. References QValueVector::begin(), KateBufBlock::endLine(), QValueVector::erase(), KateBufBlock::lines(), KateBufBlock::next(), KateBufBlock::prev(), KateBufBlock::removeLine(), KateBufBlock::setStartLine(), and KateBufBlock::startLine().

void KateBuffer::setHighlight | ( | uint | hlMode | ) |

| Use `highlight` for highlighting. `highlight` may be 0 in which case highlighting will be disabled. Definition at line 860 of file katebuffer.cpp. References invalidateHighlighting().

void KateBuffer::invalidateHighlighting | ( |  | ) |

| Invalidate highlighting of whole buffer. Definition at line 892 of file katebuffer.cpp. Referenced by setHighlight().

void KateBuffer::codeFoldingUpdated | ( |  | ) | `[signal]`

| Emittend if codefolding returned with a changed list.

void KateBuffer::tagLines | ( | int | start,
|  | int | end
| ) | `[signal]`

| Emitted when the highlighting of a certain range has changed.

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

- katebuffer.h
- katebuffer.cpp

This file is part of the documentation for kate Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:36:45 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003