ClutterTextBuffer

ClutterTextBuffer — Text buffer for ClutterText

Properties

guint length Read
gint max-length Read / Write
gchar * text Read

Signals

void deleted-text Run First
void inserted-text Run First

Object Hierarchy

    GObject
    ╰── ClutterTextBuffer

Description

The ClutterTextBuffer class contains the actual text displayed in a ClutterText widget.

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

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

Functions

clutter_text_buffer_new ()

ClutterTextBuffer *
clutter_text_buffer_new (void);

Create a new ClutterTextBuffer object.

Returns

A new ClutterTextBuffer object.

Since: 1.10


clutter_text_buffer_new_with_text ()

ClutterTextBuffer *
clutter_text_buffer_new_with_text (const gchar *text,
                                   gssize text_len);

Create a new ClutterTextBuffer object with some text.

Parameters

text

initial buffer text.

[allow-none]

text_len

initial buffer text length, or -1 for null-terminated.

 

Returns

A new ClutterTextBuffer object.

Since: 1.10


clutter_text_buffer_set_text ()

void
clutter_text_buffer_set_text (ClutterTextBuffer *buffer,
                              const gchar *chars,
                              gint n_chars);

Sets the text in the buffer.

This is roughly equivalent to calling clutter_text_buffer_delete_text() and clutter_text_buffer_insert_text().

Note that n_chars is in characters, not in bytes.

Parameters

buffer

a ClutterTextBuffer

 

chars

the new text

 

n_chars

the number of characters in text , or -1

 

Since: 1.10


clutter_text_buffer_get_text ()

const gchar *
clutter_text_buffer_get_text (ClutterTextBuffer *buffer);

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.

Parameters

buffer

a ClutterTextBuffer

 

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.

Since: 1.10


clutter_text_buffer_get_bytes ()

gsize
clutter_text_buffer_get_bytes (ClutterTextBuffer *buffer);

Retrieves the length in bytes of the buffer. See clutter_text_buffer_get_length().

Parameters

buffer

a ClutterTextBuffer

 

Returns

The byte length of the buffer.

Since: 1.10


clutter_text_buffer_get_length ()

guint
clutter_text_buffer_get_length (ClutterTextBuffer *buffer);

Retrieves the length in characters of the buffer.

Parameters

buffer

a ClutterTextBuffer

 

Returns

The number of characters in the buffer.

Since: 1.10


clutter_text_buffer_set_max_length ()

void
clutter_text_buffer_set_max_length (ClutterTextBuffer *buffer,
                                    gint 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

buffer

a ClutterTextBuffer

 

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, CLUTTER_TEXT_BUFFER_MAX_SIZE ].

 

Since: 1.10


clutter_text_buffer_get_max_length ()

gint
clutter_text_buffer_get_max_length (ClutterTextBuffer *buffer);

Retrieves the maximum allowed length of the text in buffer . See clutter_text_buffer_set_max_length().

Parameters

buffer

a ClutterTextBuffer

 

Returns

the maximum allowed number of characters in ClutterTextBuffer, or 0 if there is no maximum.

Since: 1.10


clutter_text_buffer_insert_text ()

guint
clutter_text_buffer_insert_text (ClutterTextBuffer *buffer,
                                 guint position,
                                 const gchar *chars,
                                 gint 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

buffer

a ClutterTextBuffer

 

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.

Since: 1.10


clutter_text_buffer_delete_text ()

guint
clutter_text_buffer_delete_text (ClutterTextBuffer *buffer,
                                 guint position,
                                 gint 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

buffer

a ClutterTextBuffer

 

position

position at which to delete text

 

n_chars

number of characters to delete

 

Returns

The number of characters deleted.

Since: 1.10


clutter_text_buffer_emit_inserted_text ()

void
clutter_text_buffer_emit_inserted_text
                               (ClutterTextBuffer *buffer,
                                guint position,
                                const gchar *chars,
                                guint n_chars);

Emits the “inserted-text” signal on buffer .

Used when subclassing ClutterTextBuffer

Parameters

buffer

a ClutterTextBuffer

 

position

position at which text was inserted

 

chars

text that was inserted

 

n_chars

number of characters inserted

 

Since: 1.10


clutter_text_buffer_emit_deleted_text ()

void
clutter_text_buffer_emit_deleted_text (ClutterTextBuffer *buffer,
                                       guint position,
                                       guint n_chars);

Emits the “deleted-text” signal on buffer .

Used when subclassing ClutterTextBuffer

Parameters

buffer

a ClutterTextBuffer

 

position

position at which text was deleted

 

n_chars

number of characters deleted

 

Since: 1.10

Types and Values

CLUTTER_TEXT_BUFFER_MAX_SIZE

#define CLUTTER_TEXT_BUFFER_MAX_SIZE        G_MAXUSHORT

Maximum size of text buffer, in bytes.

Since: 1.10


struct ClutterTextBuffer

struct ClutterTextBuffer;

The ClutterTextBuffer structure contains private data and it should only be accessed using the provided API.

Since: 1.10


struct ClutterTextBufferClass

struct ClutterTextBufferClass {
  /* Signals */
  void         (*inserted_text)          (ClutterTextBuffer *buffer,
                                          guint              position,
                                          const gchar       *chars,
                                          guint              n_chars);

  void         (*deleted_text)           (ClutterTextBuffer *buffer,
                                          guint              position,
                                          guint              n_chars);

  /* Virtual Methods */
  const gchar* (*get_text)               (ClutterTextBuffer *buffer,
                                          gsize             *n_bytes);

  guint        (*get_length)             (ClutterTextBuffer *buffer);

  guint        (*insert_text)            (ClutterTextBuffer *buffer,
                                          guint              position,
                                          const gchar       *chars,
                                          guint              n_chars);

  guint        (*delete_text)            (ClutterTextBuffer *buffer,
                                          guint              position,
                                          guint              n_chars);
};

The ClutterTextBufferClass structure contains only private data.

Members

inserted_text ()

default handler for the “inserted-text” signal

 

deleted_text ()

default hanlder for the “deleted-text” signal

 

get_text ()

virtual function

 

get_length ()

virtual function

 

insert_text ()

virtual function

 

delete_text ()

virtual function

 

Since: 1.10

Property Details

The “length” property

  “length”                   guint

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

Flags: Read

Allowed values: <= 65535

Default value: 0

Since: 1.10


The “max-length” property

  “max-length”               gint

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

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0

Since: 1.10


The “text” property

  “text”                     gchar *

The contents of the buffer.

Flags: Read

Default value: ""

Since: 1.10

Signal Details

The “deleted-text” signal

void
user_function (ClutterTextBuffer *buffer,
               guint              position,
               guint              n_chars,
               gpointer           user_data)

This signal is emitted after text is deleted from the buffer.

Parameters

buffer

a ClutterTextBuffer

 

position

the position the text was deleted at.

 

n_chars

The number of characters that were deleted.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Since: 1.10


The “inserted-text” signal

void
user_function (ClutterTextBuffer *buffer,
               guint              position,
               gchar             *chars,
               guint              n_chars,
               gpointer           user_data)

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

Parameters

buffer

a ClutterTextBuffer

 

position

the position the text was inserted at.

 

chars

The text that was inserted.

 

n_chars

The number of characters that were inserted.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Since: 1.10