Class pyglet.text.document.AbstractDocument

event.EventDispatcher --+
                        |
                       AbstractDocument
Known Subclasses:
FormattedDocument, UnformattedDocument

Abstract document interface used by all pyglet.text classes.

This class can be overridden to interface pyglet with a third-party document format. It may be easier to implement the document format in terms of one of the supplied concrete classes FormattedDocument or UnformattedDocument.

Events

  on_insert_text(self, start, text)
Text was inserted into the document.
  on_delete_text(self, start, end)
Text was deleted from the document.
  on_style_text(self, start, end, attributes)
Text character style was modified.

Methods

  __init__(self, text='')
int get_paragraph_start(self, pos)
Get the starting position of a paragraph.
int get_paragraph_end(self, pos)
Get the end position of a paragraph.
AbstractRunIterator get_style_runs(self, attribute)
Get a style iterator over the given style attribute.
  get_style(self, attribute, position=0)
Get an attribute style at the given position.
  get_style_range(self, attribute, start, end)
Get an attribute style over the given range.
AbstractRunIterator get_font_runs(self, dpi=None)
Get a style iterator over the pyglet.font.Font instances used in the document.
pyglet.font.Font get_font(self, position, dpi=None)
Get the font instance used at the given position.
  insert_text(self, start, text, attributes=None)
Insert text into the document.
  delete_text(self, start, end)
Delete text from the document.
  insert_element(self, position, element, attributes=None)
Insert a element into the document.
InlineElement get_element(self, position)
Get the element at a specified position.
  set_style(self, start, end, attributes)
Set text style of some or all of the document.
  set_paragraph_style(self, start, end, attributes)
Set the style for a range of paragraphs.
  dispatch_event(self, event_type, *args)
Dispatch a single event to the attached handlers.
(Inherited from pyglet.event.EventDispatcher)
  event(self, *args)
Function decorator for an event handler.
(Inherited from pyglet.event.EventDispatcher)
  pop_handlers(self)
Pop the top level of event handlers off the stack.
(Inherited from pyglet.event.EventDispatcher)
  push_handlers(self, *args, **kwargs)
Push a level onto the top of the handler stack, then attach zero or more event handlers.
(Inherited from pyglet.event.EventDispatcher)
  register_event_type(cls, name)
Register an event type with the dispatcher.
(Inherited from pyglet.event.EventDispatcher)
  remove_handler(self, name, handler)
Remove a single event handler.
(Inherited from pyglet.event.EventDispatcher)
  remove_handlers(self, *args, **kwargs)
Remove event handlers from the event stack.
(Inherited from pyglet.event.EventDispatcher)
  set_handler(self, name, handler)
Attach a single event handler.
(Inherited from pyglet.event.EventDispatcher)
  set_handlers(self, *args, **kwargs)
Attach one or more event handlers to the top level of the handler stack.
(Inherited from pyglet.event.EventDispatcher)

Properties

str text
Document text.

Class Variables

  event_types = ['on_insert_text', 'on_delete_text', 'on_style_t...

Event Details

on_insert_text

on_insert_text(self, start, text)
Text was inserted into the document.
Parameters:
start : int
Character insertion point within document.
text : str
The text that was inserted.

on_delete_text

on_delete_text(self, start, end)
Text was deleted from the document.
Parameters:
start : int
Starting character position of deleted text.
end : int
Ending character position of deleted text (exclusive).

on_style_text

on_style_text(self, start, end, attributes)
Text character style was modified.
Parameters:
start : int
Starting character position of modified text.
end : int
Ending character position of modified text (exclusive).
attributes : dict
Dictionary giving updated named style attributes of the text.

Method Details

get_paragraph_start

get_paragraph_start(self, pos)
Get the starting position of a paragraph.
Parameters:
pos : int
Character position within paragraph.
Returns: int

get_paragraph_end

get_paragraph_end(self, pos)
Get the end position of a paragraph.
Parameters:
pos : int
Character position within paragraph.
Returns: int

get_style_runs

get_style_runs(self, attribute)
Get a style iterator over the given style attribute.
Parameters:
attribute : str
Name of style attribute to query.
Returns: AbstractRunIterator

get_style

get_style(self, attribute, position=0)
Get an attribute style at the given position.
Parameters:
attribute : str
Name of style attribute to query.
position : int
Character position of document to query.
Returns:
The style set for the attribute at the given position.

get_style_range

get_style_range(self, attribute, start, end)

Get an attribute style over the given range.

If the style varies over the range, STYLE_INDETERMINATE is returned.

Parameters:
attribute : str
Name of style attribute to query.
start : int
Starting character position.
end : int
Ending character position (exclusive).
Returns:
The style set for the attribute over the given range, or STYLE_INDETERMINATE if more than one value is set.

get_font_runs

get_font_runs(self, dpi=None)

Get a style iterator over the pyglet.font.Font instances used in the document.

The font instances are created on-demand by inspection of the font_name, font_size, bold and italic style attributes.

Parameters:
dpi : float
Optional resolution to construct fonts at. See pyglet.font.load.
Returns: AbstractRunIterator

get_font

get_font(self, position, dpi=None)
Get the font instance used at the given position.
Parameters:
position : int
Character position of document to query.
dpi : float
Optional resolution to construct fonts at. See pyglet.font.load.
Returns:
pyglet.font.Font: The font at the given position.

See Also: get_font_runs

insert_text

insert_text(self, start, text, attributes=None)
Insert text into the document.
Parameters:
start : int
Character insertion point within document.
text : str
Text to insert.
attributes : dict
Optional dictionary giving named style attributes of the inserted text.

delete_text

delete_text(self, start, end)
Delete text from the document.
Parameters:
start : int
Starting character position to delete from.
end : int
Ending character position to delete to (exclusive).

insert_element

insert_element(self, position, element, attributes=None)

Insert a element into the document.

See the InlineElement class documentation for details of usage.

Parameters:
position : int
Character insertion point within document.
element : InlineElement
Element to insert.
attributes : dict
Optional dictionary giving named style attributes of the inserted text.

get_element

get_element(self, position)
Get the element at a specified position.
Parameters:
position : int
Position in the document of the element.
Returns: InlineElement

set_style

set_style(self, start, end, attributes)
Set text style of some or all of the document.
Parameters:
start : int
Starting character position.
end : int
Ending character position (exclusive).
attributes : dict
Dictionary giving named style attributes of the text.

set_paragraph_style

set_paragraph_style(self, start, end, attributes)

Set the style for a range of paragraphs.

This is a convenience method for set_style that aligns the character range to the enclosing paragraph(s).

Parameters:
start : int
Starting character position.
end : int
Ending character position (exclusive).
attributes : dict
Dictionary giving named style attributes of the paragraphs.

Property Details

text

Document text.

For efficient incremental updates, use the insert_text and delete_text methods instead of replacing this property.

Type:
str

Class Variable Details

event_types

Value:
['on_insert_text', 'on_delete_text', 'on_style_text']