EntryBuffer

class EntryBuffer(**properties: Any)

Superclasses: Object

Subclasses: PasswordEntryBuffer

A GtkEntryBuffer hold the text displayed in a GtkText widget.

A single GtkEntryBuffer object can be shared by multiple widgets which will then share the same text content, but not the cursor position, visibility attributes, icon etc.

GtkEntryBuffer may be derived from. Such a derived class might allow text to be stored in an alternate location, such as non-pageable memory, useful in the case of important passwords. Or a derived class could integrate with an application’s concept of undo/redo.

Constructors

class EntryBuffer
classmethod new(initial_chars: str | None, n_initial_chars: int) EntryBuffer

Create a new GtkEntryBuffer object.

Optionally, specify initial text to set in the buffer.

Parameters:
  • initial_chars – initial buffer text

  • n_initial_chars – number of characters in initial_chars, or -1

Methods

class EntryBuffer
delete_text(position: int, n_chars: int) int

Deletes a sequence of characters from the buffer.

n_chars characters are deleted starting at position. If n_chars is negative, then all characters until the end of the text are deleted.

If position or n_chars are out of bounds, then they are coerced to sane values.

Note that the positions are specified in characters, not bytes.

Parameters:
  • position – position at which to delete text

  • n_chars – number of characters to delete

emit_deleted_text(position: int, n_chars: int) None

Used when subclassing GtkEntryBuffer.

Parameters:
  • position – position at which text was deleted

  • n_chars – number of characters deleted

emit_inserted_text(position: int, chars: str, n_chars: int) None

Used when subclassing GtkEntryBuffer.

Parameters:
  • position – position at which text was inserted

  • chars – text that was inserted

  • n_chars – number of characters inserted

get_bytes() int

Retrieves the length in bytes of the buffer.

See get_length.

get_length() int

Retrieves the length in characters of the buffer.

get_max_length() int

Retrieves the maximum allowed length of the text in buffer.

get_text() str

Retrieves the contents of the buffer.

The memory pointer returned by this call will not change unless this object emits a signal, or is finalized.

insert_text(position: int, chars: str, n_chars: int) int

Inserts n_chars characters of chars into the contents of the buffer, at position position.

If n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If position or n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values.

Note that the position and length are in characters, not in bytes.

Parameters:
  • position – the position at which to insert text.

  • chars – the text to insert into the buffer.

  • n_chars – the length of the text in characters, or -1

set_max_length(max_length: int) None

Sets the maximum allowed length of the contents of the buffer.

If the current contents are longer than the given length, then they will be truncated to fit.

Parameters:

max_length – the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536.

set_text(chars: str, n_chars: int) None

Sets the text in the buffer.

This is roughly equivalent to calling delete_text and insert_text.

Note that n_chars is in characters, not in bytes.

Parameters:
  • chars – the new text

  • n_chars – the number of characters in text, or -1

Properties

class EntryBuffer
props.length: int

The length (in characters) of the text in buffer.

props.max_length: int

The maximum length (in characters) of the text in the buffer.

props.text: str

The contents of the buffer.

Signals

class EntryBuffer.signals
deleted_text(position: int, n_chars: int) None

The text is altered in the default handler for this signal.

If you want access to the text after the text has been modified, use %G_CONNECT_AFTER.

Parameters:
  • position – the position the text was deleted at.

  • n_chars – The number of characters that were deleted.

inserted_text(position: int, chars: str, n_chars: int) None

This signal is emitted after text is inserted into the buffer.

Parameters:
  • position – the position the text was inserted at.

  • chars – The text that was inserted.

  • n_chars – The number of characters that were inserted.

Virtual Methods

class EntryBuffer
do_delete_text(position: int, n_chars: int) int

Deletes a sequence of characters from the buffer.

n_chars characters are deleted starting at position. If n_chars is negative, then all characters until the end of the text are deleted.

If position or n_chars are out of bounds, then they are coerced to sane values.

Note that the positions are specified in characters, not bytes.

Parameters:
  • position – position at which to delete text

  • n_chars – number of characters to delete

do_deleted_text(position: int, n_chars: int) None
Parameters:
  • position

  • n_chars

do_get_length() int

Retrieves the length in characters of the buffer.

do_get_text(n_bytes: int) str
Parameters:

n_bytes

do_insert_text(position: int, chars: str, n_chars: int) int

Inserts n_chars characters of chars into the contents of the buffer, at position position.

If n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If position or n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values.

Note that the position and length are in characters, not in bytes.

Parameters:
  • position – the position at which to insert text.

  • chars – the text to insert into the buffer.

  • n_chars – the length of the text in characters, or -1

do_inserted_text(position: int, chars: str, n_chars: int) None
Parameters:
  • position

  • chars

  • n_chars

Fields

class EntryBuffer
parent_instance