kate Library API Documentation

KateBuffer Class Reference

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

#include <katebuffer.h>

Inheritance diagram for KateBuffer:

QObject 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)
KateHighlightinghighlight ()
void invalidateHighlighting ()
KateCodeFoldingTreefoldingTree ()

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 KateHighlighting::release(), and 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(), KateSaveConfigTab::KateSaveConfigTab(), KateDocument::readConfig(), and KateDocument::writeConfig().

void KateBuffer::setMaxLoadedBlocks uint  count  )  [static]
 

modifier for max loaded blocks limit

Parameters:
count new limit

Definition at line 79 of file katebuffer.cpp.

Referenced by KateSaveConfigTab::apply(), and KateDocument::readConfig().

void KateBuffer::editStart  ) 
 

start some editing action

Definition at line 355 of file katebuffer.cpp.

Referenced by KateDocument::editStart().

void KateBuffer::editEnd  ) 
 

finish some editing action

Definition at line 368 of file katebuffer.cpp.

References KateBufBlock::endLine(), KateHighlighting::noHighlighting(), and KateBufBlock::startLine().

Referenced by KateDocument::editEnd().

void KateBuffer::clear  ) 
 

Clear the buffer.

Definition at line 450 of file katebuffer.cpp.

References QValueVector::append(), QValueVector::clear(), KateCodeFoldingTree::clear(), KateBufBlock, KateBufBlock::lines(), and QValueVector::size().

Referenced by KateDocument::closeURL(), 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(), KateDocumentConfig::codec(), KateDocument::config(), QFile::encodeName(), endl(), KateBufBlock::endLine(), KateCodeFoldingTree::fixRoot(), QValueVector::isEmpty(), KateBufBlock, kdDebug(), KateBufBlock::lines(), KateHighlighting::noHighlighting(), KateDocumentConfig::setEol(), and QValueVector::size().

Referenced by KateDocument::openFile().

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.

Referenced by KateDocument::openFile(), and KateDocument::saveFile().

bool KateBuffer::binary  )  const [inline]
 

is this file a binary?

Returns:
binary file?

Definition at line 453 of file katebuffer.h.

Referenced by KateDocument::openFile(), and KateDocument::saveFile().

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(), KateDocumentConfig::codec(), KateDocument::config(), endl(), kdDebug(), QTextCodec::name(), and plainLine().

Referenced by KateDocument::saveFile().

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(), KateDocumentConfig::codec(), KateDocument::config(), KateDocument::configFlags(), KateDocument::editEnd(), KateDocument::editInsertText(), KateDocument::editRemoveText(), KateDocument::editStart(), KateDocumentConfig::eolString(), QString::fill(), QFile::open(), plainLine(), QTextStream::setCodec(), QTextStream::setEncoding(), and KateDocumentConfig::tabWidth().

Referenced by KateDocument::saveFile().

KateTextLine::Ptr KateBuffer::line uint  i  )  [inline]
 

Return line i.

Definition at line 472 of file katebuffer.h.

References KateBufBlock::line(), and KateBufBlock::startLine().

Referenced by KateCodeFoldingTree::collapseOne(), KateCodeFoldingTree::collapseToplevelNodes(), KateDocument::editInsertText(), KateDocument::editMarkLineAutoWrapped(), KateDocument::editRemoveLine(), KateDocument::editRemoveText(), KateDocument::editUnWrapLine(), KateDocument::editWrapLine(), KateCodeFoldingTree::expandOne(), KateCodeFoldingTree::expandToplevelNodes(), KateDocument::joinLines(), KateDocument::kateTextLine(), KateDocument::textAsHtmlStream(), and KateDocument::wrapText().

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 KateDocument::backspace(), canEncode(), codeFoldingColumnUpdate(), KateDocument::comment(), KateDocument::currentColumn(), KateDocument::del(), KateDocument::findMatchingBracket(), KateDocument::getWord(), KateDocument::indent(), KateDocument::length(), KateDocument::lineLength(), KateDocument::plainKateTextLine(), KateDocument::removeText(), saveFile(), KateDocument::searchText(), KateDocument::selectLength(), KateDocument::selectWord(), KateDocument::text(), KateDocument::textLine(), KateDocument::transpose(), and KateDocument::typeChars().

uint KateBuffer::count  )  const [inline]
 

Return the total number of lines in the buffer.

Definition at line 506 of file katebuffer.h.

Referenced by KateCodeFoldingTree::collapseOne(), KateCodeFoldingTree::collapseToplevelNodes(), KateCodeFoldingTree::expandOne(), KateCodeFoldingTree::expandToplevelNodes(), KateDocument::numLines(), and KateDocument::text().

void KateBuffer::changeLine uint  i  ) 
 

Mark line i as changed !

Definition at line 749 of file katebuffer.cpp.

References KateBufBlock::markDirty().

Referenced by KateDocument::editInsertLine(), KateDocument::editInsertText(), KateDocument::editMarkLineAutoWrapped(), KateDocument::editRemoveText(), KateDocument::editUnWrapLine(), and KateDocument::editWrapLine().

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(), KateCodeFoldingTree::lineHasBeenInserted(), and KateBufBlock::startLine().

Referenced by KateDocument::editInsertLine(), and KateDocument::editWrapLine().

void KateBuffer::removeLine uint  i  ) 
 

Remove line i.

Definition at line 794 of file katebuffer.cpp.

References QValueVector::begin(), KateBufBlock::endLine(), QValueVector::erase(), KateCodeFoldingTree::lineHasBeenRemoved(), KateBufBlock::lines(), KateBufBlock::next(), KateBufBlock::prev(), KateBufBlock::removeLine(), KateBufBlock::setStartLine(), and KateBufBlock::startLine().

Referenced by KateDocument::editRemoveLine(), and KateDocument::editUnWrapLine().

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 KateDocument::bufferHlChanged(), KateDocument::config(), KateHlManager::getHl(), KateHighlighting::indentation(), invalidateHighlighting(), QString::isEmpty(), KateAutoIndent::modeNumber(), KateHighlighting::noHighlighting(), KateHighlighting::release(), KateHlManager::self(), KateDocumentConfig::setIndentationMode(), and KateHighlighting::use().

Referenced by KateDocument::closeURL(), KateDocument::KateDocument(), KateDocument::openFile(), KateDocument::readSessionConfig(), KateDocument::saveFile(), and KateDocument::setHlMode().

void KateBuffer::invalidateHighlighting  ) 
 

Invalidate highlighting of whole buffer.

Definition at line 892 of file katebuffer.cpp.

Referenced by KateDocument::makeAttribs(), setHighlight(), and setTabWidth().

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:
KDE Logo
This file is part of the documentation for kate Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Nov 1 10:36:26 2005 by doxygen 1.4.3 written by Dimitri van Heesch, © 1997-2003