# Gtk::EntryBuffer Class Reference

A Text buffer for the Entry widget. More...

Inherits Glib::Object.

Collaboration diagram for Gtk::EntryBuffer:
[legend]

List of all members.

## Public Member Functions

virtual | ~EntryBuffer ()
GtkEntryBuffer* | gobj ()
| Provides access to the underlying C GObject.
const GtkEntryBuffer* | gobj () const
| Provides access to the underlying C GObject.
GtkEntryBuffer* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
gsize | get_bytes () const
| Retrieves the length in bytes of the buffer.
guint | get_length () const
| Retrieves the length in characters of the buffer.
Glib::ustring | get_text () const
| Retrieves the contents of the buffer.
void | set_text (const Glib::ustring& text)
| Sets the text in the buffer.
void | set_max_length (int max_length)
| Sets the maximum allowed length of the contents of the buffer.
int | get_max_length () const
| Retrieves the maximum allowed length of the text in buffer.
guint | insert_text (guint position, const Glib::ustring& text)
| Inserts text into the contents of the buffer, at position position.
guint | delete_text (guint position, int n_chars)
| Deletes a sequence of characters from the buffer.
void | emit_inserted_text (guint position, const Glib::ustring& text)
| Used when deriving from EntryBuffer.
void | emit_deleted_text (guint position, guint n_chars)
| Used when subclassing Gtk::EntryBuffer.
Glib::SignalProxy3< void, guint, const gchar*, guint > | signal_inserted_text ()
Glib::SignalProxy2< void, guint, guint > | signal_deleted_text ()
Glib::PropertyProxy < Glib::ustring > | property_text ()
| The contents of the buffer.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_text () const
| The contents of the buffer.
Glib::PropertyProxy_ReadOnly < guint > | property_length () const
| Length of the text currently in the buffer.
Glib::PropertyProxy< int > | property_max_length ()
| Maximum number of characters for this entry.
Glib::PropertyProxy_ReadOnly< int > | property_max_length () const
| Maximum number of characters for this entry.

## Static Public Member Functions

static Glib::RefPtr< EntryBuffer > | create ()
| Create a new EntryBuffer object with no text.
static Glib::RefPtr< EntryBuffer > | create (const Glib::ustring& text)
| Create a new EntryBuffer object.

## Protected Member Functions

| EntryBuffer ()
| Create a new EntryBuffer object with no text.
| EntryBuffer (const Glib::ustring& text)
| Create a new EntryBuffer object.
virtual void | on_inserted_text (guint position, const gchar* chars, guint n_chars)
virtual void | on_deleted_text (guint position, guint n_chars)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gtk::EntryBuffer > | wrap (GtkEntryBuffer* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A Text buffer for the Entry widget.

The EntryBuffer class contains the actual text displayed in an Entry widget.

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

EntryBuffer 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.

@newin{2,20}

## Constructor & Destructor Documentation

virtual Gtk::EntryBuffer::~EntryBuffer | ( |  | ) | `[virtual]`

Gtk::EntryBuffer::EntryBuffer | ( |  | ) | `[protected]`

Create a new EntryBuffer object with no text.

Gtk::EntryBuffer::EntryBuffer | ( | const Glib::ustring & | text | ) | `[explicit, protected]`

Create a new EntryBuffer object.

Parameters:

  | text | Initial buffer text.

## Member Function Documentation

static Glib::RefPtr<EntryBuffer> Gtk::EntryBuffer::create | ( | const Glib::ustring & | text | ) | `[static]`

Create a new EntryBuffer object.

Parameters:

  | text | Initial buffer text.

static Glib::RefPtr<EntryBuffer> Gtk::EntryBuffer::create | ( |  | ) | `[static]`

Create a new EntryBuffer object with no text.

guint Gtk::EntryBuffer::delete_text | ( | guint | 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.

Since gtkmm 2.18:

Parameters:

  | position | Position at which to delete text.
  | n_chars | Number of characters to delete.

Returns:
  The number of characters deleted.

void Gtk::EntryBuffer::emit_deleted_text | ( | guint | position,
|  | guint | n_chars |
| ) |  |  |

Used when subclassing Gtk::EntryBuffer.

Since gtkmm 2.18:

Parameters:

  | position | Position at which text was deleted.
  | n_chars | Number of characters deleted.

void Gtk::EntryBuffer::emit_inserted_text | ( | guint | position,
|  | const Glib::ustring & | text |
| ) |  |  |

Used when deriving from EntryBuffer.

Parameters:

  | position | Position at which text was inserted.
  | text | Text that was inserted.

gsize Gtk::EntryBuffer::get_bytes | ( |  | ) | const

Retrieves the length in bytes of the buffer.

See get_length().

Since gtkmm 2.18:

Returns:
  The byte length of the buffer.

guint Gtk::EntryBuffer::get_length | ( |  | ) | const

Retrieves the length in characters of the buffer.

Since gtkmm 2.18:

Returns:
  The number of characters in the buffer.

int Gtk::EntryBuffer::get_max_length | ( |  | ) | const

Retrieves the maximum allowed length of the text in buffer.

See set_max_length().

Since gtkmm 2.18:

Returns:
  The maximum allowed number of characters in Gtk::EntryBuffer, or 0 if there is no maximum.

Glib::ustring Gtk::EntryBuffer::get_text | ( |  | ) | const

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.

Since gtkmm 2.18:

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.

const GtkEntryBuffer* Gtk::EntryBuffer::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkEntryBuffer* Gtk::EntryBuffer::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkEntryBuffer* Gtk::EntryBuffer::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

guint Gtk::EntryBuffer::insert_text | ( | guint | position,
|  | const Glib::ustring & | text |
| ) |  |  |

Inserts text into the contents of the buffer, at position position.

Parameters:

  | position | The position at which to insert text.
  | text | The text to insert into the buffer.

Returns:
  The number of characters actually inserted.

virtual void Gtk::EntryBuffer::on_deleted_text | ( | guint | position,
|  | guint | n_chars |
| ) |  |  | `[protected, virtual]`

virtual void Gtk::EntryBuffer::on_inserted_text | ( | guint | position,
|  | const gchar * | chars,
|  | guint | n_chars |
| ) |  |  | `[protected, virtual]`

Glib::PropertyProxy_ReadOnly<guint> Gtk::EntryBuffer::property_length | ( |  | ) | const

Length of the text currently in the buffer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<int> Gtk::EntryBuffer::property_max_length | ( |  | ) | const

Maximum number of characters for this entry.

Zero if no maximum.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<int> Gtk::EntryBuffer::property_max_length | ( |  | ) |

Maximum number of characters for this entry.

Zero if no maximum.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::EntryBuffer::property_text | ( |  | ) | const

The contents of the buffer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Glib::ustring> Gtk::EntryBuffer::property_text | ( |  | ) |

The contents of the buffer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::EntryBuffer::set_max_length | ( | 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.

Since gtkmm 2.18:

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.

void Gtk::EntryBuffer::set_text | ( | const Glib::ustring & | text | ) |

Sets the text in the buffer.

This is roughly equivalent to calling delete_text() and insert_text().

Parameters:

  | text | The text to set in the buffer.

Glib::SignalProxy2< void,guint,guint > Gtk::EntryBuffer::signal_deleted_text | ( |  | ) |

Prototype:
  `void on_my_deleted_text(guint position, guint n_chars)`

Glib::SignalProxy3< void,guint,const gchar*,guint > Gtk::EntryBuffer::signal_inserted_text | ( |  | ) |

Prototype:
  `void on_my_inserted_text(guint position, const gchar* chars, guint n_chars)`

## Friends And Related Function Documentation

Glib::RefPtr< Gtk::EntryBuffer > wrap | ( | GtkEntryBuffer * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/entrybuffer.h