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

KHTML

  • khtml
  • ErgonomicEditableLineIterator
Public Member Functions | Protected Member Functions | Protected Attributes
khtml::ErgonomicEditableLineIterator Class Reference

#include <khtml_caret_p.h>

Inheritance diagram for khtml::ErgonomicEditableLineIterator:
khtml::EditableLineIterator khtml::LineIterator

List of all members.

Public Member Functions

 ErgonomicEditableLineIterator (const LineIterator &it, int x)
 ErgonomicEditableLineIterator ()
ErgonomicEditableLineIterator & operator++ ()
ErgonomicEditableLineIterator & operator-- ()
- Public Member Functions inherited from khtml::EditableLineIterator
 EditableLineIterator (const LineIterator &it, bool fromEnd=false)
 EditableLineIterator ()
void advance (bool toBegin)
- Public Member Functions inherited from khtml::LineIterator
bool isOutside () const
bool isOutsideEnd ()
LinearDocument * linearDocument () const
bool operator!= (const LineIterator &it) const
CaretBoxLine * operator* () const
bool operator== (const LineIterator &it) const

Protected Member Functions

void calcAndStoreNewLine (RenderBlock *newBlock, bool toBegin)
void determineTopologicalElement (RenderTableCell *oldCell, RenderObject *newObject, bool toBegin)
- Protected Member Functions inherited from khtml::EditableLineIterator
bool isEditable (LineIterator &it)
- Protected Member Functions inherited from khtml::LineIterator
 LineIterator ()
 LineIterator (LinearDocument *l, DOM::NodeImpl *node, long offset)
void nextBlock ()
void prevBlock ()

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 
)
inlineprotected

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 2262 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 2282 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 2404 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 2420 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
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Jul 23 2013 22:03:57 by doxygen 1.8.1.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KHTML

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

kdelibs-4.10.5 API Reference

Skip menu "kdelibs-4.10.5 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • 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
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal