• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KHTML

  • khtml
  • ErgonomicEditableLineIterator
Public Member Functions | Protected Member Functions | Protected Attributes

khtml::ErgonomicEditableLineIterator Class Reference

Iterates through the editable lines of a document, in a topological order. More...

#include <khtml_caret_p.h>

Inheritance diagram for khtml::ErgonomicEditableLineIterator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ErgonomicEditableLineIterator (const LineIterator &it, int x)
 ErgonomicEditableLineIterator ()
ErgonomicEditableLineIterator & operator++ ()
ErgonomicEditableLineIterator & operator-- ()

Protected Member Functions

void calcAndStoreNewLine (RenderBlock *newBlock, bool toBegin)
void determineTopologicalElement (RenderTableCell *oldCell, RenderObject *newObject, bool toBegin)

Protected Attributes

int xCoor

Detailed Description

Iterates through the editable lines of a document, in a topological order.

The differences between this and the EditableLineIterator lies in the way lines are inquired. While the latter steps through the lines in document order, the former takes into consideration ergonomics.

This is especially useful for tables. EditableLineIterator traverses all table cells from left to right, top to bottom, while this one will actually snap to the cell in the right position, and traverse only upwards/downwards, thus providing a more intuitive navigation.

Author:
Leo Savernik

Definition at line 929 of file khtml_caret_p.h.


Constructor & Destructor Documentation

khtml::ErgonomicEditableLineIterator::ErgonomicEditableLineIterator ( const LineIterator &  it,
int  x 
) [inline]

Initializes a new ergonomic editable line iterator from the given one.

Parameters:
itline iterator
xabsolute x-coordinate for cell determination

Definition at line 937 of file khtml_caret_p.h.

khtml::ErgonomicEditableLineIterator::ErgonomicEditableLineIterator ( ) [inline]

Constructs an uninitialized iterator which must be assigned a line iterator before it can be used.

Definition at line 943 of file khtml_caret_p.h.


Member Function Documentation

void khtml::ErgonomicEditableLineIterator::calcAndStoreNewLine ( RenderBlock *  newBlock,
bool  toBegin 
) [inline, protected]

initializes the iterator to point to the first previous/following editable line.

Parameters:
newBlocktake this as base block.
toBegintrue, iterate towards beginning.

Definition at line 2264 of file khtml_caret.cpp.

void khtml::ErgonomicEditableLineIterator::determineTopologicalElement ( RenderTableCell *  oldCell,
RenderObject *  newObject,
bool  toBegin 
) [protected]

determines the topologically next render object.

Parameters:
oldCelltable cell the original object was under.
newObjectobject to determine whether and which transition between cells is to be handled. It does not have to be an object in the correct topological cell, a simple delivery from an editable line iterator suffices.
toBeginif true, iterate towards the beginning

Definition at line 2284 of file khtml_caret.cpp.

ErgonomicEditableLineIterator & khtml::ErgonomicEditableLineIterator::operator++ ( )

seek next line.

The next line will be one that is visually situated below this line.

Reimplemented from khtml::EditableLineIterator.

Definition at line 2406 of file khtml_caret.cpp.

ErgonomicEditableLineIterator & khtml::ErgonomicEditableLineIterator::operator-- ( )

seek previous line.

The previous line will be one that is visually situated above this line.

Reimplemented from khtml::EditableLineIterator.

Definition at line 2422 of file khtml_caret.cpp.


Member Data Documentation

int khtml::ErgonomicEditableLineIterator::xCoor [protected]

Definition at line 931 of file khtml_caret_p.h.


The documentation for this class was generated from the following files:
  • khtml_caret_p.h
  • khtml_caret.cpp

KHTML

Skip menu "KHTML"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal