AttrIterator

class AttrIterator(*args, **kwargs)

A PangoAttrIterator is used to iterate through a PangoAttrList.

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

Methods

class AttrIterator
destroy() None

Destroy a PangoAttrIterator and free all associated memory.

get(type: AttrType) Attribute | None

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:

type – the type of attribute to find

get_attrs() list[Attribute]

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

Added in version 1.2.

get_font(desc: FontDescription) tuple[Language, list[Attribute]]

Get the font and other attributes at the current iterator position.

Parameters:

desc – a PangoFontDescription to fill in with the current values. The family name in this structure will be set using set_family_static using values from an attribute in the PangoAttrList associated with the iterator, so if you plan to keep it around, you must call: pango_font_description_set_family (desc, pango_font_description_get_family (desc)).

next() bool

Advance the iterator until the next change of style.

range() tuple[int, int]

Get the range of the current segment.

Note that the stored return values are signed, not unsigned like the values in PangoAttribute. To deal with this API oversight, stored return values that wouldn’t fit into a signed integer are clamped to %G_MAXINT.