| # 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