khtml Library API Documentation

khtml::EditableCharacterIterator Class Reference

Provides iterating through the document in terms of characters. More...

#include <khtml_caret_p.h>

List of all members.

Public Methods

 EditableCharacterIterator ()
 EditableCharacterIterator (LinearDocument *ld)
int chr () const
QChar operator * () const
long offset () const
DOM::NodeImpl * node () const
InlineBox * box () const
EditableCharacterIterator & operator++ ()
EditableCharacterIterator & operator-- ()

Protected Methods

void initFirstChar ()
void peekNext ()
void peekPrev ()


Detailed Description

Provides iterating through the document in terms of characters.

Only the editable characters are regarded.

This iterator represents the document, which is structured as a tree itself, as a linear stream of characters.

Definition at line 767 of file khtml_caret_p.h.


Constructor & Destructor Documentation

khtml::EditableCharacterIterator::EditableCharacterIterator   [inline]
 

empty constructor.

Only use if you want to assign another constructor as no fields will be initialized.

Definition at line 783 of file khtml_caret_p.h.

khtml::EditableCharacterIterator::EditableCharacterIterator LinearDocument   ld [inline]
 

constructs a new iterator from the given linear document.

Parameters:
ld  linear representation of document.

Definition at line 789 of file khtml_caret_p.h.

References khtml::LineIterator::currentInlineBox(), khtml::LinearDocument::end(), initFirstChar(), khtml::LinearDocument::node, and khtml::LinearDocument::offset.


Member Function Documentation

int khtml::EditableCharacterIterator::chr   const [inline]
 

returns the current character, or -1 if not on a text node, or beyond the end.

Definition at line 837 of file khtml_caret_p.h.

QChar khtml::EditableCharacterIterator::operator *   const [inline]
 

returns the current character as a unicode symbol, substituting a blank for a non-text node.

Definition at line 842 of file khtml_caret_p.h.

long khtml::EditableCharacterIterator::offset   const [inline]
 

returns the current offset

Definition at line 846 of file khtml_caret_p.h.

DOM::NodeImpl* khtml::EditableCharacterIterator::node   const [inline]
 

returns the current node.

If it's 0, then there are no more nodes.

Definition at line 851 of file khtml_caret_p.h.

InlineBox* khtml::EditableCharacterIterator::box   const [inline]
 

returns the current inline box.

May be 0 if the current element has none, or if the end has been reached. Therefore, do *not* use this to test for the end condition, use node() instead.

Definition at line 858 of file khtml_caret_p.h.

Referenced by operator++(), and operator--().

EditableCharacterIterator & khtml::EditableCharacterIterator::operator++  
 

moves to the next editable character.

Definition at line 800 of file khtml_caret.cpp.

References box(), khtml::LinearDocument::end(), khtml::EditableInlineBoxIterator::isAdjacent(), and peekNext().

EditableCharacterIterator & khtml::EditableCharacterIterator::operator--  
 

moves to the previous editable character.

_peekNext

Definition at line 886 of file khtml_caret.cpp.

References box(), khtml::EditableInlineBoxIterator::isAdjacent(), and khtml::LinearDocument::preBegin().

void khtml::EditableCharacterIterator::initFirstChar   [protected]
 

initializes the _char member by reading the character at the current offset, peeking ahead as necessary.

Definition at line 787 of file khtml_caret.cpp.

References peekNext().

Referenced by EditableCharacterIterator().

void khtml::EditableCharacterIterator::peekNext   [inline, protected]
 

reads ahead the next node and updates the data structures accordingly

Definition at line 874 of file khtml_caret_p.h.

Referenced by initFirstChar(), and operator++().

void khtml::EditableCharacterIterator::peekPrev   [inline, protected]
 

reads ahead the previous node and updates the data structures accordingly

Definition at line 886 of file khtml_caret_p.h.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for khtml Library Version 3.2.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Feb 4 12:37:28 2004 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2003