## GtkText

GtkText — a text widget.

## Synopsis

    #include <gtk/gtk.h>

    struct      GtkText;
    struct      GtkTextFont;
    struct      GtkPropertyMark;
    GtkWidget*  gtk_text_new                    (GtkAdjustment *hadj,
                                                 GtkAdjustment *vadj);
    void        gtk_text_set_editable           (GtkText *text,
                                                 gboolean editable);
    void        gtk_text_set_word_wrap          (GtkText *text,
                                                 gboolean word_wrap);
    void        gtk_text_set_line_wrap          (GtkText *text,
                                                 gboolean line_wrap);
    void        gtk_text_set_adjustments        (GtkText *text,
                                                 GtkAdjustment *hadj,
                                                 GtkAdjustment *vadj);
    void        gtk_text_set_point              (GtkText *text,
                                                 guint index);
    guint       gtk_text_get_point              (GtkText *text);
    guint       gtk_text_get_length             (GtkText *text);
    void        gtk_text_freeze                 (GtkText *text);
    void        gtk_text_thaw                   (GtkText *text);
    void        gtk_text_insert                 (GtkText *text,
                                                 GdkFont *font,
                                                 GdkColor *fore,
                                                 GdkColor *back,
                                                 const char *chars,
                                                 gint length);
    gboolean    gtk_text_backward_delete        (GtkText *text,
                                                 guint nchars);
    gboolean    gtk_text_forward_delete         (GtkText *text,
                                                 guint nchars);
    #define     GTK_TEXT_INDEX                  (t, index)

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkOldEditable
                         +----GtkText

## Implemented Interfaces

GtkText implements AtkImplementorIface and GtkEditable.

## Properties

      "hadjustment"          GtkAdjustment        : Read / Write
      "line-wrap"            gboolean             : Read / Write
      "vadjustment"          GtkAdjustment        : Read / Write
      "word-wrap"            gboolean             : Read / Write

## Signal Prototypes

    "set-scroll-adjustments"
                void        user_function      (GtkText *text,
                                                GtkAdjustment *arg1,
                                                GtkAdjustment *arg2,
                                                gpointer user_data);

## Description

### Warning

GtkText is deprecated and unsupported. It is known to be buggy. To use it, you must define the symbol `GTK_ENABLE_BROKEN` prior to including the GTK+ header files. Use GtkTextView instead.

A GtkText widget allows one to display any given text and manipulate it by deleting from one point to another, selecting a region, and various other functions as outlined below. It is inherited from GtkEditable.

## Details

### struct GtkText

    struct GtkText;

### Warning

`GtkText` is deprecated and should not be used in newly-written code.

Most of the GtkText-struct struct members should not be accessed directly. Listed below are a few exceptions and how to use them.

### struct GtkTextFont

    struct GtkTextFont;

### Warning

`GtkTextFont` is deprecated and should not be used in newly-written code.

Internal GtkText data type.

### struct GtkPropertyMark

    struct GtkPropertyMark {

      /* Position in list. */
      GList* property;

      /* Offset into that property. */
      guint offset;

      /* Current index. */
      guint index;
    };

### Warning

`GtkPropertyMark` is deprecated and should not be used in newly-written code.

Internal GtkText data type. Should not be accessed directly.

### gtk_text_new ()

    GtkWidget*  gtk_text_new                    (GtkAdjustment *hadj,
                                                 GtkAdjustment *vadj);

### Warning

`gtk_text_new` is deprecated and should not be used in newly-written code.

Creates a new GtkText widget, initialized with the given pointers to GtkAdjustments. These pointers can be used to track the viewing position of the GtkText widget. Passing `NULL` to either or both of them will make the GtkText create its own. You can set these later with the function `gtk_text_set_adjustment()`.

`hadj` : | horizontal adjustment.
`vadj` : | vertical adjustment.
Returns : | the new GtkText widget.

### gtk_text_set_editable ()

    void        gtk_text_set_editable           (GtkText *text,
                                                 gboolean editable);

### Warning

`gtk_text_set_editable` is deprecated and should not be used in newly-written code.

Sets whether the GtkText widget can be edited by the user or not. This still allows you the programmer to make changes with the various GtkText functions.

`text` : | the GtkText widget
`editable` : | `TRUE` makes it editable, `FALSE` makes it immutable by the user

### gtk_text_set_word_wrap ()

    void        gtk_text_set_word_wrap          (GtkText *text,
                                                 gboolean word_wrap);

### Warning

`gtk_text_set_word_wrap` is deprecated and should not be used in newly-written code.

Sets whether the GtkText widget wraps words down to the next line if it can't be completed on the current line.

`text` : | the GtkText widget
`word_wrap` : | `TRUE` makes it word wrap, `FALSE` disables word wrapping

### gtk_text_set_line_wrap ()

    void        gtk_text_set_line_wrap          (GtkText *text,
                                                 gboolean line_wrap);

### Warning

`gtk_text_set_line_wrap` is deprecated and should not be used in newly-written code.

Controls how GtkText handles long lines of continuous text. If line wrap is on, the line is broken when it reaches the extent of the GtkText widget viewing area and the rest is displayed on the next line. If it is not set, the line continues regardless size of current viewing area. Similar to word wrap but it disregards word boundaries.

`text` : | the GtkText widget
`line_wrap` : | `TRUE` turns line wrap on, `FALSE` turns it off

### gtk_text_set_adjustments ()

    void        gtk_text_set_adjustments        (GtkText *text,
                                                 GtkAdjustment *hadj,
                                                 GtkAdjustment *vadj);

### Warning

`gtk_text_set_adjustments` is deprecated and should not be used in newly-written code.

Allows you to set GtkAdjustment pointers which in turn allows you to keep track of the viewing position of the GtkText widget.

`text` : | the GtkText widget
`hadj` : | the horizontal adjustment
`vadj` : | the vertical adjustment

### gtk_text_set_point ()

    void        gtk_text_set_point              (GtkText *text,
                                                 guint index);

### Warning

`gtk_text_set_point` is deprecated and should not be used in newly-written code.

Sets the cursor at the given point. In this case a point constitutes the number of characters from the extreme upper left corner of the GtkText widget.

`text` : | the GtkText widget
`index` : | the number of characters from the upper left corner

### gtk_text_get_point ()

    guint       gtk_text_get_point              (GtkText *text);

### Warning

`gtk_text_get_point` is deprecated and should not be used in newly-written code.

Gets the current position of the cursor as the number of characters from the upper left corner of the GtkText widget.

`text` : | the GtkText widget
Returns : | the number of characters from the upper left corner

### gtk_text_get_length ()

    guint       gtk_text_get_length             (GtkText *text);

### Warning

`gtk_text_get_length` is deprecated and should not be used in newly-written code.

Returns the length of the all the text contained within the GtkText widget; disregards current point position.

`text` : | the GtkText widget
Returns : | the length of the text

### gtk_text_freeze ()

    void        gtk_text_freeze                 (GtkText *text);

### Warning

`gtk_text_freeze` is deprecated and should not be used in newly-written code.

Freezes the GtkText widget which disallows redrawing of the widget until it is thawed. This is useful if a large number of changes are going to made to the text within the widget, reducing the amount of flicker seen by the user.

`text` : | the GtkText widget

### gtk_text_thaw ()

    void        gtk_text_thaw                   (GtkText *text);

### Warning

`gtk_text_thaw` is deprecated and should not be used in newly-written code.

Allows the GtkText widget to be redrawn again by GTK.

`text` : | the GtkText widget

### gtk_text_insert ()

    void        gtk_text_insert                 (GtkText *text,
                                                 GdkFont *font,
                                                 GdkColor *fore,
                                                 GdkColor *back,
                                                 const char *chars,
                                                 gint length);

### Warning

`gtk_text_insert` is deprecated and should not be used in newly-written code.

Inserts given text into the GtkText widget with the given properties as outlined below.

`text` : | the GtkText widget
`font` : | the GdkFont to use
`fore` : | the foreground color to insert with
`back` : | the background color to insert with
`chars` : | the actual text to be inserted
`length` : | the length of the text to be inserted, passing -1 makes it insert all the text.

### gtk_text_backward_delete ()

    gboolean    gtk_text_backward_delete        (GtkText *text,
                                                 guint nchars);

### Warning

`gtk_text_backward_delete` is deprecated and should not be used in newly-written code.

Deletes from the current point position backward the given number of characters.

`text` : | the GtkText widget
`nchars` : | the number of characters to delete
Returns : | `TRUE` if the operation was successful, otherwise returns `FALSE`

### gtk_text_forward_delete ()

    gboolean    gtk_text_forward_delete         (GtkText *text,
                                                 guint nchars);

### Warning

`gtk_text_forward_delete` is deprecated and should not be used in newly-written code.

Deletes from the current point position forward the given number of characters.

`text` : | the GtkText widget
`nchars` : | the number of characters to delete
Returns : | `TRUE` if the operation was successful, otherwise returns `FALSE`

### GTK_TEXT_INDEX()

    #define     GTK_TEXT_INDEX(t, index)

### Warning

`GTK_TEXT_INDEX` is deprecated and should not be used in newly-written code.

Returns the character at the given index within the GtkText widget.

`t` : | the GtkText widget
`index` : | the number of characters from the upper left corner

## Properties

"`hadjustment`" (GtkAdjustment : Read / Write) | Used by the GtkText widget to keep track of the size of its horizontal text.
"`line-wrap`" (gboolean : Read / Write) | Boolean value indicating whether line wrap is enabled or not.
"`vadjustment`" (GtkAdjustment : Read / Write) | Used by the GtkText widget to keep track of the size of its vertical text.
"`word-wrap`" (gboolean : Read / Write) | Boolean value indicated whether word wrap is enabled or not.

## Signals

### The "set-scroll-adjustments" signal

    void        user_function                  (GtkText *text,
                                                GtkAdjustment *arg1,
                                                GtkAdjustment *arg2,
                                                gpointer user_data);

`text` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.