AtkEditableText

## AtkEditableText AtkEditableText — The ATK interface implemented by components containing user-editable text content. |

## Synopsis

                        AtkEditableText;
    gboolean            atk_editable_text_set_run_attributes
                                                            (AtkEditableText *text,
                                                             AtkAttributeSet *attrib_set,
                                                             gint start_offset,
                                                             gint end_offset);
    void                atk_editable_text_set_text_contents (AtkEditableText *text,
                                                             const gchar *string);
    void                atk_editable_text_insert_text       (AtkEditableText *text,
                                                             const gchar *string,
                                                             gint length,
                                                             gint *position);
    void                atk_editable_text_copy_text         (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);
    void                atk_editable_text_cut_text          (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);
    void                atk_editable_text_delete_text       (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);
    void                atk_editable_text_paste_text        (AtkEditableText *text,
                                                             gint position);

## Object Hierarchy

      GInterface
       +----AtkEditableText

## Known Implementations

AtkEditableText is implemented by AtkNoOpObject.

## Description

AtkEditableText should be implemented by UI components which contain text which the user can edit, via the AtkObject corresponding to that component (see AtkObject).

AtkEditableText is a subclass of AtkText, and as such, an object which implements AtkEditableText is by definition an AtkText implementor as well.

## Details

### AtkEditableText

    typedef struct _AtkEditableText AtkEditableText;

The AtkEditableText structure does not contain any fields.

### atk_editable_text_set_run_attributes ()

    gboolean            atk_editable_text_set_run_attributes
                                                            (AtkEditableText *text,
                                                             AtkAttributeSet *attrib_set,
                                                             gint start_offset,
                                                             gint end_offset);

Sets the attributes for a specified range. See the ATK_ATTRIBUTE macros (such as ATK_ATTRIBUTE_LEFT_MARGIN) for examples of attributes that can be set. Note that other attributes that do not have corresponding ATK_ATTRIBUTE macros may also be set for certain text widgets.

`text` : | an AtkEditableText
`attrib_set` : | an AtkAttributeSet
`start_offset` : | start of range in which to set attributes
`end_offset` : | end of range in which to set attributes
Returns : | `TRUE` if attributes successfully set for the specified range, otherwise `FALSE`

### atk_editable_text_set_text_contents ()

    void                atk_editable_text_set_text_contents (AtkEditableText *text,
                                                             const gchar *string);

Set text contents of `text`.

`text` : | an AtkEditableText
`string` : | string to set for text contents of `text`

### atk_editable_text_insert_text ()

    void                atk_editable_text_insert_text       (AtkEditableText *text,
                                                             const gchar *string,
                                                             gint length,
                                                             gint *position);

Insert text at a given position.

`text` : | an AtkEditableText
`string` : | the text to insert
`length` : | the length of text to insert, in bytes
`position` : | The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text.

### atk_editable_text_copy_text ()

    void                atk_editable_text_copy_text         (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);

Copy text from `start_pos` up to, but not including `end_pos` to the clipboard.

`text` : | an AtkEditableText
`start_pos` : | start position
`end_pos` : | end position

### atk_editable_text_cut_text ()

    void                atk_editable_text_cut_text          (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);

Copy text from `start_pos` up to, but not including `end_pos` to the clipboard and then delete from the widget.

`text` : | an AtkEditableText
`start_pos` : | start position
`end_pos` : | end position

### atk_editable_text_delete_text ()

    void                atk_editable_text_delete_text       (AtkEditableText *text,
                                                             gint start_pos,
                                                             gint end_pos);

Delete text `start_pos` up to, but not including `end_pos`.

`text` : | an AtkEditableText
`start_pos` : | start position
`end_pos` : | end position

### atk_editable_text_paste_text ()

    void                atk_editable_text_paste_text        (AtkEditableText *text,
                                                             gint position);

Paste text from clipboard to specified `position`.

`text` : | an AtkEditableText
`position` : | position to paste

## See Also

AtkText