Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Related Functions

Pango::AttrIter Class Reference

A Pango::AttrIter is used to represent an iterator through a Pango::AttrList. More...

Collaboration diagram for Pango::AttrIter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::forward_iterator_tag iterator_category
typedef int difference_type

Public Member Functions

 AttrIter (PangoAttrIterator* castitem, bool take_copy=true)
 AttrIter (const AttrIter& src)
 ~AttrIter ()
AttrIteroperator= (const AttrIter& src)
AttrIteroperator++ ()
 Advance the iterator until the next change of style.
const AttrIter operator++ (int)
 operator bool () const
 Check whether the iterator is valid.
bool next ()
 The same as operator++().
void get_range (int&start, int&end) const
 Get the range of the current segment.
Attribute get_attribute (AttrType type) const
 Find the current attribute of a particular type at the iterator location.
FontDescription get_font_desc () const
 Get the font description used at the current iterator position.
Language get_language () const
 Gets the language tag used at current iterator position.
SListHandle_Attribute get_extra_attrs () const
 Gets a list of non-font attributes at the the current iterator position.
SListHandle_Attribute get_attrs () const
 Gets a list all attributes a the current position of the iterator.
PangoAttrIterator* gobj ()
const PangoAttrIterator* gobj () const

Protected Member Functions

 AttrIter ()

Protected Attributes

PangoAttrIterator* gobject_

Related Functions

(Note that these are not member functions.)


Pango::AttrIter wrap (PangoAttrIterator* object, bool take_copy=false)

Detailed Description

A Pango::AttrIter is used to represent an iterator through a Pango::AttrList.

A new iterator is created with Pango::AttrList::get_iter(). Once the iterator is created, it can be advanced through the style changes in the text using Pango::AttrIter::next(). At each style change, the range of the current style segment and the attributes currently in effect can be queried.


Member Typedef Documentation


Constructor & Destructor Documentation

Pango::AttrIter::AttrIter (  ) [protected]
Pango::AttrIter::AttrIter ( PangoAttrIterator *  castitem,
bool  take_copy = true 
) [explicit]
Pango::AttrIter::AttrIter ( const AttrIter src )
Pango::AttrIter::~AttrIter (  )

Member Function Documentation

Attribute Pango::AttrIter::get_attribute ( AttrType  type ) const

Find the current attribute of a particular type at the iterator location.

When multiple attributes of the same type overlap, the attribute whose range starts closest to the current location is used.

Parameters:
typeThe type of attribute to find.
Returns:
The current attribute of the given type, or 0 if no attribute of that type applies to the current location.
SListHandle_Attribute Pango::AttrIter::get_attrs (  ) const

Gets a list all attributes a the current position of the iterator.

Returns:
A list of all attributes for the current range.
SListHandle_Attribute Pango::AttrIter::get_extra_attrs (  ) const

Gets a list of non-font attributes at the the current iterator position.

Only the highest priority value of each attribute will be added to this list.

Returns:
The list of non-font attributes at the current iterator position.
FontDescription Pango::AttrIter::get_font_desc (  ) const

Get the font description used at the current iterator position.

Returns:
The font description used at the current iterator position.
Language Pango::AttrIter::get_language (  ) const

Gets the language tag used at current iterator position.

Returns:
The language tag or an empty Pango::Language object if non is found.
void Pango::AttrIter::get_range ( int &  start,
int &  end 
) const

Get the range of the current segment.

Note that the stored return values are signed, not unsigned like the values in Pango::Attribute. To deal with this API oversight, stored return values that wouldn't fit into a signed integer are clamped to MAXINT.

Parameters:
startLocation to store the start of the range.
endLocation to store the end of the range.
const PangoAttrIterator* Pango::AttrIter::gobj (  ) const [inline]
PangoAttrIterator* Pango::AttrIter::gobj (  ) [inline]
bool Pango::AttrIter::next (  )

The same as operator++().

Returns:
false if the end of the list is reached.
Pango::AttrIter::operator bool (  ) const

Check whether the iterator is valid.

Returns:
true if the iterator is valid.
AttrIter& Pango::AttrIter::operator++ (  )

Advance the iterator until the next change of style.

The iterator becomes invalid if the end of the list is reached.

Returns:
The iterator itself.
const AttrIter Pango::AttrIter::operator++ ( int   )
AttrIter& Pango::AttrIter::operator= ( const AttrIter src )

Friends And Related Function Documentation

Pango::AttrIter wrap ( PangoAttrIterator *  object,
bool  take_copy = false 
) [related]

Member Data Documentation

PangoAttrIterator* Pango::AttrIter::gobject_ [protected]

The documentation for this class was generated from the following file: