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

KHTML

  • khtml
  • ErgonomicEditableLineIterator
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
khtml::ErgonomicEditableLineIterator Class Reference

#include <khtml_caret_p.h>

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

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)
 
EditableLineIterator & operator++ ()
 
EditableLineIterator & operator-- ()
 
- Public Member Functions inherited from khtml::LineIterator
void advance (bool toBegin)
 
bool isOutside () const
 
bool isOutsideEnd ()
 
LinearDocument * linearDocument () const
 
bool operator!= (const LineIterator &it) const
 
CaretBoxLine * operator* () const
 
LineIterator & operator++ ()
 
LineIterator & operator-- ()
 
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
 
- Protected Attributes inherited from khtml::LineIterator
CaretBoxLine * cbl
 
LinearDocument * lines
 

Additional Inherited Members

- Static Public Member Functions inherited from khtml::LineIterator
static CaretBoxIterator & currentCaretBox ()
 
static long currentModifiedOffset ()
 
- Static Protected Attributes inherited from khtml::LineIterator
static CaretBoxIterator currentBox
 
static long currentOffset
 

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.

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.

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-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:51:24 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



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