Class EntryBuffer

All Implemented Interfaces:
Proxy
Direct Known Subclasses:
PasswordEntryBuffer

@Generated("org.javagi.JavaGI") public class EntryBuffer extends GObject

Holds the text that is displayed in a single-line text entry 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.

  • Constructor Details

    • EntryBuffer

      public EntryBuffer(MemorySegment address)
      Create a EntryBuffer instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • EntryBuffer

      public EntryBuffer(@Nullable String initialChars, int nInitialChars)

      Create a new GtkEntryBuffer object.

      Optionally, specify initial text to set in the buffer.

      Parameters:
      initialChars - initial buffer text
      nInitialChars - number of characters in initialChars, or -1
    • EntryBuffer

      public EntryBuffer()
      Create a new EntryBuffer.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the EntryBuffer class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected EntryBuffer asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class GObject
      Returns:
      the instance as if it were its parent type
    • deleteText

      public int deleteText(int position, int nChars)

      Deletes a sequence of characters from the buffer.

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

      If position or nChars 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
      nChars - number of characters to delete
      Returns:
      The number of characters deleted.
    • emitDeletedText

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

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

      public long getBytes()

      Retrieves the length in bytes of the buffer.

      See getLength().

      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 String 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, String chars, int nChars)

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

      If nChars is negative, then characters from chars will be inserted until a null-terminator is found. If position or nChars 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.
      nChars - the length of the text in characters, or -1
      Returns:
      The number of characters actually inserted.
    • setMaxLength

      public void setMaxLength(int maxLength)

      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:
      maxLength - 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(String chars, int nChars)

      Sets the text in the buffer.

      This is roughly equivalent to calling deleteText(int, int) and insertText(int, String, int).

      Note that nChars is in characters, not in bytes.

      Parameters:
      chars - the new text
      nChars - the number of characters in text, or -1
    • deletedText

      protected void deletedText(int position, int nChars)
    • getText

      protected String getText(Out<Long> nBytes)
    • insertedText

      protected void insertedText(int position, String chars, int nChars)
    • onDeletedText

      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 ConnectFlags.AFTER.

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • onInsertedText

      This signal is emitted after text is inserted into the buffer.
      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      See Also:
    • builder

      public static EntryBuffer.Builder<? extends EntryBuffer.Builder> builder()
      A EntryBuffer.Builder object constructs a EntryBuffer with the specified properties. Use the various set...() methods to set properties, and finish construction with EntryBuffer.Builder.build().
      Returns:
      the builder object