Class EntryBuffer

All Implemented Interfaces:
PointerInterface
Direct Known Subclasses:
PasswordEntryBuffer

public class EntryBuffer extends Object
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.

https://docs.gtk.org/gtk4/class.EntryBuffer.html

  • Field Details

  • Constructor Details

    • EntryBuffer

      public EntryBuffer(PointerContainer pointer)
    • EntryBuffer

      public EntryBuffer(@Nullable Str initial_chars, int n_initial_chars)
      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
    • EntryBuffer

      public EntryBuffer(String initial_chars, int n_initial_chars)
      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
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • deleteText

      public int deleteText(int position, int n_chars)
      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
      Returns:
      The number of characters deleted.
    • emitDeletedText

      public void emitDeletedText(int position, int n_chars)
      Used when subclassing `GtkEntryBuffer`.
      Parameters:
      position - position at which text was deleted
      n_chars - number of characters deleted
    • emitInsertedText

      public void emitInsertedText(int position, @Nonnull Str chars, int n_chars)
      Used when subclassing `GtkEntryBuffer`.
      Parameters:
      position - position at which text was inserted
      chars - text that was inserted
      n_chars - number of characters inserted
    • emitInsertedText

      public void emitInsertedText(int position, String chars, int n_chars)
      Used when subclassing `GtkEntryBuffer`.
      Parameters:
      position - position at which text was inserted
      chars - text that was inserted
      n_chars - number of characters inserted
    • getBytes

      public long getBytes()
      Retrieves the length in bytes of the buffer.

      See [method@Gtk.EntryBuffer.get_length].
      Returns:
      The byte length of the buffer.
    • getLength

      public int getLength()
      Retrieves the length in characters of the buffer.
      Returns:
      The number of characters in the buffer.
    • getMaxLength

      public int getMaxLength()
      Retrieves the maximum allowed length of the text in @buffer.
      Returns:
      the maximum allowed number of characters in `GtkEntryBuffer`, or 0 if there is no maximum.
    • getText

      public Str getText()
      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.
      Returns:
      a pointer to the contents of the widget as a string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored.
    • insertText

      public int insertText(int position, @Nonnull Str chars, int n_chars)
      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
      Returns:
      The number of characters actually inserted.
    • insertText

      public int insertText(int position, String chars, int n_chars)
      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
      Returns:
      The number of characters actually inserted.
    • setMaxLength

      public void setMaxLength(int max_length)
      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.
    • setText

      public void setText(@Nonnull Str chars, int n_chars)
      Sets the text in the buffer.

      This is roughly equivalent to calling
      [method@Gtk.EntryBuffer.delete_text] and
      [method@Gtk.EntryBuffer.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
    • setText

      public void setText(String chars, int n_chars)
      Sets the text in the buffer.

      This is roughly equivalent to calling
      [method@Gtk.EntryBuffer.delete_text] and
      [method@Gtk.EntryBuffer.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
    • onDeletedText

      public SignalHandler onDeletedText(EntryBuffer.OnDeletedText signal)
      Connect to signal "deleted-text".
      See EntryBuffer.OnDeletedText.onDeletedText(int, int) for signal description.
      Field SIGNAL_ON_DELETED_TEXT contains original signal name and can be used as resource reference.
      Parameters:
      signal - callback function (lambda).
      Returns:
      SignalHandler. Can be used to disconnect signal and to release callback function.
    • onInsertedText

      public SignalHandler onInsertedText(EntryBuffer.OnInsertedText signal)
      Connect to signal "inserted-text".
      See EntryBuffer.OnInsertedText.onInsertedText(int, ch.bailu.gtk.type.Str, int) for signal description.
      Field SIGNAL_ON_INSERTED_TEXT contains original signal name and can be used as resource reference.
      Parameters:
      signal - callback function (lambda).
      Returns:
      SignalHandler. Can be used to disconnect signal and to release callback function.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()