## GtkCList GtkCList — A multi-columned scrolling list widget |

## Synopsis

    #include <gtk/gtk.h>

                        GtkCList;
    enum                GtkCellType;
    enum                GtkButtonAction;
    #define             GTK_CLIST_FLAGS                     (clist)
    #define             GTK_CLIST_SET_FLAG                  (clist,flag)
    #define             GTK_CLIST_UNSET_FLAG                (clist,flag)
    #define             GTK_CLIST_IN_DRAG                   (clist)
    #define             GTK_CLIST_ROW_HEIGHT_SET            (clist)
    #define             GTK_CLIST_SHOW_TITLES               (clist)
    #define             GTK_CLIST_ADD_MODE                  (clist)
    #define             GTK_CLIST_AUTO_SORT                 (clist)
    #define             GTK_CLIST_AUTO_RESIZE_BLOCKED       (clist)
    #define             GTK_CLIST_REORDERABLE               (clist)
    #define             GTK_CLIST_USE_DRAG_ICONS            (clist)
    #define             GTK_CLIST_DRAW_DRAG_LINE            (clist)
    #define             GTK_CLIST_DRAW_DRAG_RECT            (clist)
    #define             GTK_CLIST_ROW                       (_glist_)
    #define             GTK_CELL_TEXT                       (cell)
    #define             GTK_CELL_PIXMAP                     (cell)
    #define             GTK_CELL_PIXTEXT                    (cell)
    #define             GTK_CELL_WIDGET                     (cell)
    gint                (*GtkCListCompareFunc)              (GtkCList *clist,
                                                             gconstpointer ptr1,
                                                             gconstpointer ptr2);
                        GtkCListColumn;
                        GtkCListRow;
                        GtkCellText;
                        GtkCellPixmap;
                        GtkCellPixText;
                        GtkCellWidget;
                        GtkCell;
                        GtkCListCellInfo;
                        GtkCListDestInfo;
    enum                GtkCListDragPos;
    GtkWidget*          gtk_clist_new                       (gint columns);
    GtkWidget*          gtk_clist_new_with_titles           (gint columns,
                                                             gchar *titles[]);
    void                gtk_clist_set_shadow_type           (GtkCList *clist,
                                                             GtkShadowType type);
    void                gtk_clist_set_selection_mode        (GtkCList *clist,
                                                             GtkSelectionMode mode);
    void                gtk_clist_freeze                    (GtkCList *clist);
    void                gtk_clist_thaw                      (GtkCList *clist);
    void                gtk_clist_column_titles_show        (GtkCList *clist);
    void                gtk_clist_column_titles_hide        (GtkCList *clist);
    void                gtk_clist_column_title_active       (GtkCList *clist,
                                                             gint column);
    void                gtk_clist_column_title_passive      (GtkCList *clist,
                                                             gint column);
    void                gtk_clist_column_titles_active      (GtkCList *clist);
    void                gtk_clist_column_titles_passive     (GtkCList *clist);
    void                gtk_clist_set_column_title          (GtkCList *clist,
                                                             gint column,
                                                             const gchar *title);
    void                gtk_clist_set_column_widget         (GtkCList *clist,
                                                             gint column,
                                                             GtkWidget *widget);
    void                gtk_clist_set_column_justification  (GtkCList *clist,
                                                             gint column,
                                                             GtkJustification justification);
    void                gtk_clist_set_column_visibility     (GtkCList *clist,
                                                             gint column,
                                                             gboolean visible);
    void                gtk_clist_set_column_resizeable     (GtkCList *clist,
                                                             gint column,
                                                             gboolean resizeable);
    void                gtk_clist_set_column_auto_resize    (GtkCList *clist,
                                                             gint column,
                                                             gboolean auto_resize);
    gint                gtk_clist_optimal_column_width      (GtkCList *clist,
                                                             gint column);
    void                gtk_clist_set_column_width          (GtkCList *clist,
                                                             gint column,
                                                             gint width);
    void                gtk_clist_set_column_min_width      (GtkCList *clist,
                                                             gint column,
                                                             gint min_width);
    void                gtk_clist_set_column_max_width      (GtkCList *clist,
                                                             gint column,
                                                             gint max_width);
    void                gtk_clist_set_row_height            (GtkCList *clist,
                                                             guint height);
    void                gtk_clist_moveto                    (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gfloat row_align,
                                                             gfloat col_align);
    GtkVisibility       gtk_clist_row_is_visible            (GtkCList *clist,
                                                             gint row);
    GtkCellType         gtk_clist_get_cell_type             (GtkCList *clist,
                                                             gint row,
                                                             gint column);
    void                gtk_clist_set_text                  (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             const gchar *text);
    gint                gtk_clist_get_text                  (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gchar **text);
    void                gtk_clist_set_pixmap                (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask);
    gint                gtk_clist_get_pixmap                (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GdkPixmap **pixmap,
                                                             GdkBitmap **mask);
    void                gtk_clist_set_pixtext               (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             const gchar *text,
                                                             guint8 spacing,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask);
    gint                gtk_clist_get_pixtext               (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gchar **text,
                                                             guint8 *spacing,
                                                             GdkPixmap **pixmap,
                                                             GdkBitmap **mask);
    void                gtk_clist_set_foreground            (GtkCList *clist,
                                                             gint row,
                                                             const GdkColor *color);
    void                gtk_clist_set_background            (GtkCList *clist,
                                                             gint row,
                                                             const GdkColor *color);
    void                gtk_clist_set_cell_style            (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GtkStyle *style);
    GtkStyle*           gtk_clist_get_cell_style            (GtkCList *clist,
                                                             gint row,
                                                             gint column);
    void                gtk_clist_set_row_style             (GtkCList *clist,
                                                             gint row,
                                                             GtkStyle *style);
    GtkStyle*           gtk_clist_get_row_style             (GtkCList *clist,
                                                             gint row);
    void                gtk_clist_set_shift                 (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gint vertical,
                                                             gint horizontal);
    void                gtk_clist_set_selectable            (GtkCList *clist,
                                                             gint row,
                                                             gboolean selectable);
    gboolean            gtk_clist_get_selectable            (GtkCList *clist,
                                                             gint row);
    gint                gtk_clist_prepend                   (GtkCList *clist,
                                                             gchar *text[]);
    gint                gtk_clist_append                    (GtkCList *clist,
                                                             gchar *text[]);
    gint                gtk_clist_insert                    (GtkCList *clist,
                                                             gint row,
                                                             gchar *text[]);
    void                gtk_clist_remove                    (GtkCList *clist,
                                                             gint row);
    void                gtk_clist_set_row_data              (GtkCList *clist,
                                                             gint row,
                                                             gpointer data);
    void                gtk_clist_set_row_data_full         (GtkCList *clist,
                                                             gint row,
                                                             gpointer data,
                                                             GtkDestroyNotify destroy);
    gpointer            gtk_clist_get_row_data              (GtkCList *clist,
                                                             gint row);
    gint                gtk_clist_find_row_from_data        (GtkCList *clist,
                                                             gpointer data);
    void                gtk_clist_select_row                (GtkCList *clist,
                                                             gint row,
                                                             gint column);
    void                gtk_clist_unselect_row              (GtkCList *clist,
                                                             gint row,
                                                             gint column);
    void                gtk_clist_undo_selection            (GtkCList *clist);
    void                gtk_clist_clear                     (GtkCList *clist);
    gint                gtk_clist_get_selection_info        (GtkCList *clist,
                                                             gint x,
                                                             gint y,
                                                             gint *row,
                                                             gint *column);
    void                gtk_clist_select_all                (GtkCList *clist);
    void                gtk_clist_unselect_all              (GtkCList *clist);
    void                gtk_clist_swap_rows                 (GtkCList *clist,
                                                             gint row1,
                                                             gint row2);
    void                gtk_clist_set_compare_func          (GtkCList *clist,
                                                             GtkCListCompareFunc cmp_func);
    void                gtk_clist_set_sort_column           (GtkCList *clist,
                                                             gint column);
    void                gtk_clist_set_sort_type             (GtkCList *clist,
                                                             GtkSortType sort_type);
    void                gtk_clist_sort                      (GtkCList *clist);
    void                gtk_clist_set_auto_sort             (GtkCList *clist,
                                                             gboolean auto_sort);
    gint                gtk_clist_columns_autosize          (GtkCList *clist);
    gchar*              gtk_clist_get_column_title          (GtkCList *clist,
                                                             gint column);
    GtkWidget*          gtk_clist_get_column_widget         (GtkCList *clist,
                                                             gint column);
    GtkAdjustment*      gtk_clist_get_hadjustment           (GtkCList *clist);
    GtkAdjustment*      gtk_clist_get_vadjustment           (GtkCList *clist);
    void                gtk_clist_row_move                  (GtkCList *clist,
                                                             gint source_row,
                                                             gint dest_row);
    void                gtk_clist_set_button_actions        (GtkCList *clist,
                                                             guint button,
                                                             guint8 button_actions);
    void                gtk_clist_set_hadjustment           (GtkCList *clist,
                                                             GtkAdjustment *adjustment);
    void                gtk_clist_set_reorderable           (GtkCList *clist,
                                                             gboolean reorderable);
    void                gtk_clist_set_use_drag_icons        (GtkCList *clist,
                                                             gboolean use_icons);
    void                gtk_clist_set_vadjustment           (GtkCList *clist,
                                                             GtkAdjustment *adjustment);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkCList
                                     +----GtkCTree

## Implemented Interfaces

GtkCList implements AtkImplementorIface and GtkBuildable.

## Properties

      "n-columns"                guint                 : Read / Write / Construct Only
      "reorderable"              gboolean              : Read / Write
      "row-height"               guint                 : Read / Write
      "selection-mode"           GtkSelectionMode      : Read / Write
      "shadow-type"              GtkShadowType         : Read / Write
      "sort-type"                GtkSortType           : Read / Write
      "titles-active"            gboolean              : Read / Write
      "use-drag-icons"           gboolean              : Read / Write

## Signals

      "abort-column-resize"                            : Run Last / Action
      "click-column"                                   : Run First
      "end-selection"                                  : Run Last / Action
      "extend-selection"                               : Run Last / Action
      "resize-column"                                  : Run Last
      "row-move"                                       : Run Last
      "scroll-horizontal"                              : Run Last / Action
      "scroll-vertical"                                : Run Last / Action
      "select-all"                                     : Run Last / Action
      "select-row"                                     : Run First
      "set-scroll-adjustments"                         : Run Last
      "start-selection"                                : Run Last / Action
      "toggle-add-mode"                                : Run Last / Action
      "toggle-focus-row"                               : Run Last / Action
      "undo-selection"                                 : Run Last / Action
      "unselect-all"                                   : Run Last / Action
      "unselect-row"                                   : Run First

## Description

The GtkCList widget is a very useful multi-columned scrolling list. It can display data in nicely aligned vertical columns, with titles at the top of the list.

GtkCList has been deprecated since GTK+ 2.0 and should not be used in newly written code. Use GtkTreeView instead.

## Details

### GtkCList

    typedef struct _GtkCList GtkCList;

### Warning

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

This is the embodiment of the GtkCList widget. This structure contains only private data, and should be accessed only via the CList API.

### enum GtkCellType

    typedef enum
    {
      GTK_CELL_EMPTY,
      GTK_CELL_TEXT,
      GTK_CELL_PIXMAP,
      GTK_CELL_PIXTEXT,
      GTK_CELL_WIDGET
    } GtkCellType;

### Warning

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

Identifies the type of element in the current cell of the CList. Cells can contain text, pixmaps, or both. Unfortunately support for `GTK_CELL_WIDGET` was never completed.

### enum GtkButtonAction

    typedef enum
    {
      GTK_BUTTON_IGNORED = 0,
      GTK_BUTTON_SELECTS = 1 << 0,
      GTK_BUTTON_DRAGS   = 1 << 1,
      GTK_BUTTON_EXPANDS = 1 << 2
    } GtkButtonAction;

### Warning

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

Values for specifying what mouse button events a CList will react to.

### GTK_CLIST_FLAGS()

    #define GTK_CLIST_FLAGS(clist)             (GTK_CLIST (clist)->flags)

### Warning

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

Reads the current flags of the specified CList.

`clist` : | The GtkCList widget from which to get the flags

### GTK_CLIST_SET_FLAG()

    #define GTK_CLIST_SET_FLAG(clist,flag)     (GTK_CLIST_FLAGS (clist) |= (GTK_ ## flag))

### Warning

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

A macro to set a particular flag for the specified CList.

`clist` : | The GtkCList widget to affect.
`flag` : | A single GtkCList flag to set. NOTE: Do not add the GTK_ prefix.

### GTK_CLIST_UNSET_FLAG()

    #define GTK_CLIST_UNSET_FLAG(clist,flag)   (GTK_CLIST_FLAGS (clist) &= ~(GTK_ ## flag))

### Warning

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

A macro to clear a particular flag for the specified CList.

`clist` : | The GtkCList widget to affect.
`flag` : | A single GtkCList flag to clear. NOTE: Do not add the GTK_ prefix.

### GTK_CLIST_IN_DRAG()

    #define GTK_CLIST_IN_DRAG(clist)           (GTK_CLIST_FLAGS (clist) & GTK_CLIST_IN_DRAG)

### Warning

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

A macro to check whether the GtkCList is in "drag mode."

`clist` : | The GtkCList to check.

### GTK_CLIST_ROW_HEIGHT_SET()

    #define GTK_CLIST_ROW_HEIGHT_SET(clist)    (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ROW_HEIGHT_SET)

### Warning

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

A macro to check whether the GtkCList's row height is set.

`clist` : | The GtkCList to check.

### GTK_CLIST_SHOW_TITLES()

    #define GTK_CLIST_SHOW_TITLES(clist)       (GTK_CLIST_FLAGS (clist) & GTK_CLIST_SHOW_TITLES)

### Warning

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

A macro to check whether the flag for showing the widget's column titles is set.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_ADD_MODE()

    #define GTK_CLIST_ADD_MODE(clist)          (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ADD_MODE)

### Warning

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

A macro to test whether the CList is in "add mode."

`clist` : | The GtkCList widget to check.

### GTK_CLIST_AUTO_SORT()

    #define GTK_CLIST_AUTO_SORT(clist)         (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_SORT)

### Warning

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

A macro to test whether the CList has automatic sorting switched on.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_AUTO_RESIZE_BLOCKED()

    #define GTK_CLIST_AUTO_RESIZE_BLOCKED(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_RESIZE_BLOCKED)

### Warning

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

A macro to check if automatic resizing of columns is blocked.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_REORDERABLE()

    #define GTK_CLIST_REORDERABLE(clist)       (GTK_CLIST_FLAGS (clist) & GTK_CLIST_REORDERABLE)

### Warning

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

A macro to test if the CList's columns are re-orderable

`clist` : | The GtkCList widget to check.

### GTK_CLIST_USE_DRAG_ICONS()

    #define GTK_CLIST_USE_DRAG_ICONS(clist)    (GTK_CLIST_FLAGS (clist) & GTK_CLIST_USE_DRAG_ICONS)

### Warning

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

A macro to check if the USE_DRAG_ICONS property is enabled.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_DRAW_DRAG_LINE()

    #define GTK_CLIST_DRAW_DRAG_LINE(clist)    (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_LINE)

### Warning

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

A macro to check if the DRAW_DRAG_LINE property is enabled.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_DRAW_DRAG_RECT()

    #define GTK_CLIST_DRAW_DRAG_RECT(clist)    (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_RECT)

### Warning

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

A macro to check if the DRAW_DRAG_RECT property is enabled.

`clist` : | The GtkCList widget to check.

### GTK_CLIST_ROW()

    #define GTK_CLIST_ROW(_glist_) ((GtkCListRow *)((_glist_)->data))

### Warning

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

A macro to cast a GList element to a CListRow pointer.

`_glist_` : | The GList element to convert.

### GTK_CELL_TEXT()

    #define GTK_CELL_TEXT(cell)     (((GtkCellText *) &(cell)))

### Warning

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

A macro to cast a generic GtkCList cell item to a GtkCellText pointer.

`cell` : | The GtkCList cell item to convert.

### GTK_CELL_PIXMAP()

    #define GTK_CELL_PIXMAP(cell)   (((GtkCellPixmap *) &(cell)))

### Warning

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

A macro to cast a generic GtkCList cell item to a GtkCellPixmap pointer.

`cell` : | The GtkCList cell item to convert.

### GTK_CELL_PIXTEXT()

    #define GTK_CELL_PIXTEXT(cell)  (((GtkCellPixText *) &(cell)))

### Warning

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

A macro to cast a generic GtkCList cell item to a GtkCellPixText pointer.

`cell` : | The GtkCList cell item to convert.

### GTK_CELL_WIDGET()

    #define GTK_CELL_WIDGET(cell)   (((GtkCellWidget *) &(cell)))

### Warning

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

A macro to cast a generic GtkCList cell item to a GtkCellWidget pointer.

`cell` : | The GtkCList cell item to convert.

### GtkCListCompareFunc ()

    gint                (*GtkCListCompareFunc)              (GtkCList *clist,
                                                             gconstpointer ptr1,
                                                             gconstpointer ptr2);

### Warning

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

Function prototype for the compare function callback.

`clist` : | The GtkCList that is affected.
`ptr1` : | A gconstpointer to the first node to compare.
`ptr2` : | A gconstpointer to the second node to compare.
Returns : | 0 if the nodes are equal, less than 0 if the first node should come before the second, and greater than 1 if the second come before the first.

### GtkCListColumn

    typedef struct {
      gchar *title;
      GdkRectangle area;

      GtkWidget *button;
      GdkWindow *window;

      gint width;
      gint min_width;
      gint max_width;
      GtkJustification justification;

      guint visible        : 1;
      guint width_set      : 1;
      guint resizeable     : 1;
      guint auto_resize    : 1;
      guint button_passive : 1;
    } GtkCListColumn;

### Warning

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

A structure that the GtkCList widget uses to keep track of information about its columns.

### GtkCListRow

    typedef struct {
      GtkCell *cell;
      GtkStateType state;

      GdkColor foreground;
      GdkColor background;

      GtkStyle *style;

      gpointer data;
      GtkDestroyNotify destroy;

      guint fg_set     : 1;
      guint bg_set     : 1;
      guint selectable : 1;
    } GtkCListRow;

### Warning

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

A structure that the GtkCList widget uses to keep track of information about its rows.

### GtkCellText

    typedef struct {
      GtkCellType type;

      gint16 vertical;
      gint16 horizontal;

      GtkStyle *style;

      gchar *text;
    } GtkCellText;

### Warning

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

A structure that the GtkCList widget uses to keep track of GtkCList cells that contain text.

### GtkCellPixmap

    typedef struct {
      GtkCellType type;

      gint16 vertical;
      gint16 horizontal;

      GtkStyle *style;

      GdkPixmap *pixmap;
      GdkBitmap *mask;
    } GtkCellPixmap;

### Warning

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

A structure that the GtkCList widget uses to keep track of GtkCList cells that contain a GdkPixmap.

### GtkCellPixText

    typedef struct {
      GtkCellType type;

      gint16 vertical;
      gint16 horizontal;

      GtkStyle *style;

      gchar *text;
      guint8 spacing;
      GdkPixmap *pixmap;
      GdkBitmap *mask;
    } GtkCellPixText;

### Warning

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

A structure that the GtkCList widget uses to keep track of GtkCList cells that contain a combination of text and a GdkPixmap.

### GtkCellWidget

    typedef struct {
      GtkCellType type;

      gint16 vertical;
      gint16 horizontal;

      GtkStyle *style;

      GtkWidget *widget;
    } GtkCellWidget;

### Warning

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

A structure that the GtkCList widget uses to keep track of GtkCList cells that contain another widget.

### GtkCell

    typedef struct {
      GtkCellType type;

      gint16 vertical;
      gint16 horizontal;

      GtkStyle *style;

      union {
        gchar *text;

        struct {
          GdkPixmap *pixmap;
          GdkBitmap *mask;
        } pm;

        struct {
          gchar *text;
          guint8 spacing;
          GdkPixmap *pixmap;
          GdkBitmap *mask;
        } pt;

        GtkWidget *widget;
      } u;
    } GtkCell;

### Warning

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

A generic structure that the GtkCList widget uses to keep track of the contents of each of its cells.

### GtkCListCellInfo

    typedef struct {
      gint row;
      gint column;
    } GtkCListCellInfo;

### Warning

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

A simple structure that the GtkCList widget uses to keep track of the location of a cell.

### GtkCListDestInfo

    typedef struct {
      GtkCListCellInfo cell;
      GtkCListDragPos  insert_pos;
    } GtkCListDestInfo;

### Warning

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

A simple structure that the GtkCList widget uses to track a cell for a drag operation.

### enum GtkCListDragPos

    typedef enum
    {
      GTK_CLIST_DRAG_NONE,
      GTK_CLIST_DRAG_BEFORE,
      GTK_CLIST_DRAG_INTO,
      GTK_CLIST_DRAG_AFTER
    } GtkCListDragPos;

### Warning

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

An enumeration for drag operations.

### gtk_clist_new ()

    GtkWidget*          gtk_clist_new                       (gint columns);

### Warning

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

Creates a new GtkCList widget for use.

`columns` : | The number of columns the GtkCList should have.
Returns : | A pointer to a new GtkCList object.

### gtk_clist_new_with_titles ()

    GtkWidget*          gtk_clist_new_with_titles           (gint columns,
                                                             gchar *titles[]);

### Warning

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

Creates a new GtkCList widget with column titles for use.

`columns` : | The number of columns the GtkCList should have.
`titles` : | A string array of titles for the widget. There should be enough strings in the array for the specified number of columns.
Returns : | A pointer to a new GtkCList object.

### gtk_clist_set_shadow_type ()

    void                gtk_clist_set_shadow_type           (GtkCList *clist,
                                                             GtkShadowType type);

### Warning

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

Sets the shadow type for the specified CList. Changing this value will cause the GtkCList to update its visuals.

`clist` : | The GtkCList to affect.
`type` : | The GtkShadowType desired.

### gtk_clist_set_selection_mode ()

    void                gtk_clist_set_selection_mode        (GtkCList *clist,
                                                             GtkSelectionMode mode);

### Warning

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

Sets the selection mode for the specified CList. This allows you to set whether only one or more than one item can be selected at a time in the widget. Note that setting the widget's selection mode to one of GTK_SELECTION_BROWSE or GTK_SELECTION_SINGLE will cause all the items in the GtkCList to become deselected.

`clist` : | The GtkCList to affect.
`mode` : | The GtkSelectionMode type to set for this CList.

### gtk_clist_freeze ()

    void                gtk_clist_freeze                    (GtkCList *clist);

### Warning

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

Causes the GtkCList to stop updating its visuals until a matching call to `gtk_clist_thaw()` is made. This function is useful if a lot of changes will be made to the widget that may cause a lot of visual updating to occur. Note that calls to `gtk_clist_freeze()` can be nested.

`clist` : | The GtkCList to freeze.

### gtk_clist_thaw ()

    void                gtk_clist_thaw                      (GtkCList *clist);

### Warning

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

Causes the specified GtkCList to allow visual updates.

`clist` : | The GtkCList to thaw.

### gtk_clist_column_titles_show ()

    void                gtk_clist_column_titles_show        (GtkCList *clist);

### Warning

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

This function causes the GtkCList to show its column titles, if they are not already showing.

`clist` : | The GtkCList to affect.

### gtk_clist_column_titles_hide ()

    void                gtk_clist_column_titles_hide        (GtkCList *clist);

### Warning

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

Causes the GtkCList to hide its column titles, if they are currently showing.

`clist` : | The GtkCList to affect.

### gtk_clist_column_title_active ()

    void                gtk_clist_column_title_active       (GtkCList *clist,
                                                             gint column);

### Warning

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

Sets the specified column in the GtkCList to become selectable. You can then respond to events from the user clicking on a title button, and take appropriate action.

`clist` : | The GtkCList to affect.
`column` : | The column to make active, counting from 0.

### gtk_clist_column_title_passive ()

    void                gtk_clist_column_title_passive      (GtkCList *clist,
                                                             gint column);

### Warning

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

Causes the specified column title button to become passive, i.e., does not respond to events, such as the user clicking on it.

`clist` : | The GtkCList to affect.
`column` : | The column to make passive, counting from 0.

### gtk_clist_column_titles_active ()

    void                gtk_clist_column_titles_active      (GtkCList *clist);

### Warning

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

Causes all column title buttons to become active. This is the same as calling `gtk_clist_column_title_active()` for each column.

`clist` : | The GtkCList to affect.

### gtk_clist_column_titles_passive ()

    void                gtk_clist_column_titles_passive     (GtkCList *clist);

### Warning

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

Causes all column title buttons to become passive. This is the same as calling `gtk_clist_column_title_passive()` for each column.

`clist` : | The GtkCList to affect.

### gtk_clist_set_column_title ()

    void                gtk_clist_set_column_title          (GtkCList *clist,
                                                             gint column,
                                                             const gchar *title);

### Warning

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

Sets the title for the specified column.

`clist` : | The GtkCList to affect.
`column` : | The column whose title should be changed.
`title` : | A string to be the column's title.

### gtk_clist_set_column_widget ()

    void                gtk_clist_set_column_widget         (GtkCList *clist,
                                                             gint column,
                                                             GtkWidget *widget);

### Warning

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

Sets a widget to be used as the specified column's title. This can be used to place a pixmap or something else as the column title, instead of the standard text.

`clist` : | The GtkCList to affect.
`column` : | The column whose title should be a widget.
`widget` : | A pointer to a previously create widget.

### gtk_clist_set_column_justification ()

    void                gtk_clist_set_column_justification  (GtkCList *clist,
                                                             gint column,
                                                             GtkJustification justification);

### Warning

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

Sets the justification to be used for all text in the specified column.

`clist` : | The GtkCList to affect.
`column` : | The column which should be affected.
`justification` : | A GtkJustification value for the column.

### gtk_clist_set_column_visibility ()

    void                gtk_clist_set_column_visibility     (GtkCList *clist,
                                                             gint column,
                                                             gboolean visible);

### Warning

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

Allows you to set whether a specified column in the GtkCList should be hidden or shown. Note that at least one column must always be showing, so attempting to hide the last visible column will be ignored.

`clist` : | The GtkCList to affect.
`column` : | The column to set visibility.
`visible` : | `TRUE` or `FALSE`.

### gtk_clist_set_column_resizeable ()

    void                gtk_clist_set_column_resizeable     (GtkCList *clist,
                                                             gint column,
                                                             gboolean resizeable);

### Warning

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

Lets you specify whether a specified column should be resizeable by the user. Note that turning on resizeability for the column will automatically shut off auto-resizing, but turning off resizeability will NOT turn on auto-resizing. This must be done manually via a call to `gtk_clist_set_column_auto_resize()`.

`clist` : | The GtkCList to affect.
`column` : | The column on which to set resizeability.
`resizeable` : | `TRUE` or `FALSE`.

### gtk_clist_set_column_auto_resize ()

    void                gtk_clist_set_column_auto_resize    (GtkCList *clist,
                                                             gint column,
                                                             gboolean auto_resize);

### Warning

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

Lets you specify whether a column should be automatically resized by the widget when data is added or removed. Enabling auto-resize on a column explicity disallows user-resizing of the column.

`clist` : | The GtkCList to affect.
`column` : | The column on which to set auto-resizing.
`auto_resize` : | `TRUE` or `FALSE`.

### gtk_clist_optimal_column_width ()

    gint                gtk_clist_optimal_column_width      (GtkCList *clist,
                                                             gint column);

### Warning

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

Gets the required width in pixels that is needed to show everything in the specified column.

`clist` : | The GtkCList to check.
`column` : | The column to check.
Returns : | The required width in pixels for the column.

### gtk_clist_set_column_width ()

    void                gtk_clist_set_column_width          (GtkCList *clist,
                                                             gint column,
                                                             gint width);

### Warning

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

Causes the column specified for the GtkCList to be set to a specified width.

`clist` : | The GtkCList to affect.
`column` : | The column to set the width.
`width` : | The width, in pixels.

### gtk_clist_set_column_min_width ()

    void                gtk_clist_set_column_min_width      (GtkCList *clist,
                                                             gint column,
                                                             gint min_width);

### Warning

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

Causes the column specified to have a minimum width, preventing the user from resizing it smaller than that specified.

`clist` : | The GtkCList to affect.
`column` : | The column to set the minimum width.
`min_width` : | The width, in pixels.

### gtk_clist_set_column_max_width ()

    void                gtk_clist_set_column_max_width      (GtkCList *clist,
                                                             gint column,
                                                             gint max_width);

### Warning

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

Causes the column specified to have a maximum width, preventing the user from resizing it larger than that specified.

`clist` : | The GtkCList to affect.
`column` : | The column to set the maximum width.
`max_width` : | The width, in pixels.

### gtk_clist_set_row_height ()

    void                gtk_clist_set_row_height            (GtkCList *clist,
                                                             guint height);

### Warning

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

Causes the GtkCList to have a specified height for its rows. Setting the row height to 0 allows the GtkCList to adjust automatically to data in the row.

`clist` : | The GtkCList to affect.
`height` : | The height, in pixels.

### gtk_clist_moveto ()

    void                gtk_clist_moveto                    (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gfloat row_align,
                                                             gfloat col_align);

### Warning

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

Tells the CList widget to visually move to the specified row and column.

`clist` : | The GtkCList to affect.
`row` : | The row to which to move.
`column` : | The column to which to move.
`row_align` : | A value between 0 and 1 that describes the positioning of the row in relation to the viewable area of the CList's contents.
`col_align` : | A value between 0 and 1 that describes the positioning of the column in relation to the viewable area of the CList's contents.

### gtk_clist_row_is_visible ()

    GtkVisibility       gtk_clist_row_is_visible            (GtkCList *clist,
                                                             gint row);

### Warning

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

Checks how the specified row is visible.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
Returns : | A GtkVisibility value that tells you how the row is visible.

### gtk_clist_get_cell_type ()

    GtkCellType         gtk_clist_get_cell_type             (GtkCList *clist,
                                                             gint row,
                                                             gint column);

### Warning

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

Checks the type of cell at the location specified.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
Returns : | A GtkCellType value describing the cell.

### gtk_clist_set_text ()

    void                gtk_clist_set_text                  (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             const gchar *text);

### Warning

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

Sets the displayed text in the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`text` : | The text to set in the cell.

### gtk_clist_get_text ()

    gint                gtk_clist_get_text                  (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gchar **text);

### Warning

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

Gets the text for the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
`column` : | The column to query.
`text` : | A pointer to a pointer to store the text.
Returns : | 1 if the cell's text could be retrieved, 0 otherwise.

### gtk_clist_set_pixmap ()

    void                gtk_clist_set_pixmap                (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask);

### Warning

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

Sets a pixmap for the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`pixmap` : | A pointer to a GdkPixmap to place in the cell.
`mask` : | A pointer to a GdkBitmap mask for the cell.

### gtk_clist_get_pixmap ()

    gint                gtk_clist_get_pixmap                (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GdkPixmap **pixmap,
                                                             GdkBitmap **mask);

### Warning

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

Gets the pixmap and bitmap mask of the specified cell. The returned mask value can be NULL.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`pixmap` : | A pointer to a pointer to store the cell's GdkPixmap.
`mask` : | A pointer to a pointer to store the cell's GdkBitmap mask.
Returns : | 1 if the cell's pixmap could be retrieved, 0 otherwise.

### gtk_clist_set_pixtext ()

    void                gtk_clist_set_pixtext               (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             const gchar *text,
                                                             guint8 spacing,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask);

### Warning

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

Sets text and a pixmap/bitmap on the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`text` : | The text to set in the cell.
`spacing` : | The spacing between the cell's text and pixmap.
`pixmap` : | A pointer to a GdkPixmap for the cell.
`mask` : | A pointer to a GdkBitmap mask for the cell.

### gtk_clist_get_pixtext ()

    gint                gtk_clist_get_pixtext               (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gchar **text,
                                                             guint8 *spacing,
                                                             GdkPixmap **pixmap,
                                                             GdkBitmap **mask);

### Warning

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

Gets the text, pixmap and bitmap mask for the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
`column` : | The column to query.
`text` : | A pointer to a pointer to store the text.
`spacing` : | A pointer to a guint8 to store the spacing.
`pixmap` : | A pointer to a GdkPixmap pointer to store the cell's pixmap.
`mask` : | A pointer to a GdkBitmap pointer to store the cell's bitmap mask.
Returns : | 1 if the retrieval was successful, 0 otherwise.

### gtk_clist_set_foreground ()

    void                gtk_clist_set_foreground            (GtkCList *clist,
                                                             gint row,
                                                             const GdkColor *color);

### Warning

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

Sets the foreground color for the specified row.

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`color` : | A pointer to a GdkColor structure.

### gtk_clist_set_background ()

    void                gtk_clist_set_background            (GtkCList *clist,
                                                             gint row,
                                                             const GdkColor *color);

### Warning

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

Sets the background color for the specified row.

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`color` : | A pointer to a GdkColor structure.

### gtk_clist_set_cell_style ()

    void                gtk_clist_set_cell_style            (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             GtkStyle *style);

### Warning

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

Sets the style for the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`style` : | A pointer to a GtkStyle structure.

### gtk_clist_get_cell_style ()

    GtkStyle*           gtk_clist_get_cell_style            (GtkCList *clist,
                                                             gint row,
                                                             gint column);

### Warning

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

Gets the current style of the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
Returns : | A GtkStyle object.

### gtk_clist_set_row_style ()

    void                gtk_clist_set_row_style             (GtkCList *clist,
                                                             gint row,
                                                             GtkStyle *style);

### Warning

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

Sets the style for all cells in the specified row.

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`style` : | A pointer to a GtkStyle to set.

### gtk_clist_get_row_style ()

    GtkStyle*           gtk_clist_get_row_style             (GtkCList *clist,
                                                             gint row);

### Warning

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

Gets the style set for the specified row.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
Returns : | The GtkStyle of the row.

### gtk_clist_set_shift ()

    void                gtk_clist_set_shift                 (GtkCList *clist,
                                                             gint row,
                                                             gint column,
                                                             gint vertical,
                                                             gint horizontal);

### Warning

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

Sets the vertical and horizontal shift of the specified cell.

`clist` : | The GtkCList to affect.
`row` : | The row of the cell.
`column` : | The column of the cell.
`vertical` : | The value to set for the vertical shift.
`horizontal` : | The value to set for the vertical shift.

### gtk_clist_set_selectable ()

    void                gtk_clist_set_selectable            (GtkCList *clist,
                                                             gint row,
                                                             gboolean selectable);

### Warning

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

Sets whether the specified row is selectable or not.

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`selectable` : | `TRUE` or `FALSE`.

### gtk_clist_get_selectable ()

    gboolean            gtk_clist_get_selectable            (GtkCList *clist,
                                                             gint row);

### Warning

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

Gets whether the specified row is selectable or not.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
Returns : | A gboolean value.

### gtk_clist_prepend ()

    gint                gtk_clist_prepend                   (GtkCList *clist,
                                                             gchar *text[]);

### Warning

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

Adds a row to the CList at the top.

`clist` : | The GtkCList to affect.
`text` : | An array of strings to add.
Returns : | The number of the row added.

### gtk_clist_append ()

    gint                gtk_clist_append                    (GtkCList *clist,
                                                             gchar *text[]);

### Warning

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

Adds a row to the CList at the bottom.

`clist` : | The GtkCList to affect.
`text` : | An array of strings to add.
Returns : | The number of the row added.

### gtk_clist_insert ()

    gint                gtk_clist_insert                    (GtkCList *clist,
                                                             gint row,
                                                             gchar *text[]);

### Warning

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

Adds a row of text to the CList at the specified position.

`clist` : | The GtkCList to affect.
`row` : | The row where the text should be inserted.
`text` : | An array of string to add.
Returns : | The number of the row added.

### gtk_clist_remove ()

    void                gtk_clist_remove                    (GtkCList *clist,
                                                             gint row);

### Warning

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

Removes the specified row from the CList.

`clist` : | The GtkCList to affect.
`row` : | The row to remove.

### gtk_clist_set_row_data ()

    void                gtk_clist_set_row_data              (GtkCList *clist,
                                                             gint row,
                                                             gpointer data);

### Warning

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

Sets data for the specified row. This is the same as calling gtk_clist_set_row_data_full(clist, row, data, NULL).

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`data` : | The data to set for the row.

### gtk_clist_set_row_data_full ()

    void                gtk_clist_set_row_data_full         (GtkCList *clist,
                                                             gint row,
                                                             gpointer data,
                                                             GtkDestroyNotify destroy);

### Warning

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

Sets the data for specified row, with a callback when the row is destroyed.

`clist` : | The GtkCList to affect.
`row` : | The row to affect.
`data` : | The data to set for the row.
`destroy` : | A GtkDestroyNotify function to be called when the row is destroyed.

### gtk_clist_get_row_data ()

    gpointer            gtk_clist_get_row_data              (GtkCList *clist,
                                                             gint row);

### Warning

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

Gets the currently set data for the specified row.

`clist` : | The GtkCList to affect.
`row` : | The row to query.
Returns : | The data set for the row.

### gtk_clist_find_row_from_data ()

    gint                gtk_clist_find_row_from_data        (GtkCList *clist,
                                                             gpointer data);

### Warning

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

Searches the CList for the row with the specified data.

`clist` : | The GtkCList to search.
`data` : | The data to search for a match.
Returns : | The number of the matching row, or -1 if no match could be found.

### gtk_clist_select_row ()

    void                gtk_clist_select_row                (GtkCList *clist,
                                                             gint row,
                                                             gint column);

### Warning

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

Selects the specified row. Causes the "select-row" signal to be emitted for the specified row and column.

`clist` : | The GtkCList to affect.
`row` : | The row to select.
`column` : | The column to select.

### gtk_clist_unselect_row ()

    void                gtk_clist_unselect_row              (GtkCList *clist,
                                                             gint row,
                                                             gint column);

### Warning

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

Unselects the specified row. Causes the "unselect-row" signal to be emitted for the specified row and column.

`clist` : | The GtkCList to affect.
`row` : | The row to select.
`column` : | The column to select.

### gtk_clist_undo_selection ()

    void                gtk_clist_undo_selection            (GtkCList *clist);

### Warning

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

Undoes the last selection for an "extended selection mode" CList.

`clist` : | The GtkCList to affect.

### gtk_clist_clear ()

    void                gtk_clist_clear                     (GtkCList *clist);

### Warning

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

Removes all the CList's rows.

`clist` : | The GtkCList to affect.

### gtk_clist_get_selection_info ()

    gint                gtk_clist_get_selection_info        (GtkCList *clist,
                                                             gint x,
                                                             gint y,
                                                             gint *row,
                                                             gint *column);

### Warning

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

Gets the row and column at the specified pixel position in the CList.

`clist` : | The GtkCList to affect.
`x` : | The horizontal pixel position to check.
`y` : | The vertical pixel position to check..
`row` : | Pointer to a gint to store the row value.
`column` : | Pointer to a gint to store the column value.
Returns : | 1 if row/column is returned and in range, 0 otherwise.

### gtk_clist_select_all ()

    void                gtk_clist_select_all                (GtkCList *clist);

### Warning

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

Selects all rows in the CList. This function has no affect for a CList in "single" or "browse" selection mode.

`clist` : | The GtkCList to affect.

### gtk_clist_unselect_all ()

    void                gtk_clist_unselect_all              (GtkCList *clist);

### Warning

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

Unselects all rows in the CList.

`clist` : | The GtkCList to affect.

### gtk_clist_swap_rows ()

    void                gtk_clist_swap_rows                 (GtkCList *clist,
                                                             gint row1,
                                                             gint row2);

### Warning

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

Swaps the two specified rows with each other.

`clist` : | The GtkCList to affect.
`row1` : | Number of the first row.
`row2` : | Number of the second row.

### gtk_clist_set_compare_func ()

    void                gtk_clist_set_compare_func          (GtkCList *clist,
                                                             GtkCListCompareFunc cmp_func);

### Warning

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

Sets the compare function of the GtkClist to `cmp_func`. If `cmp_func` is NULL, then the default compare function is used. The default compare function sorts ascending or with the type set by `gtk_clist_set_sort_type()` by the column set by `gtk_clist_set_sort_column()`.

`clist` : | The GtkCList to affect.
`cmp_func` : | The GtkCompareFunction to use.

### gtk_clist_set_sort_column ()

    void                gtk_clist_set_sort_column           (GtkCList *clist,
                                                             gint column);

### Warning

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

Sets the sort column of the clist. The sort column is used by the default compare function to determine which column to sort by.

`clist` : | The GtkCList to affect.
`column` : | The column to sort by

### gtk_clist_set_sort_type ()

    void                gtk_clist_set_sort_type             (GtkCList *clist,
                                                             GtkSortType sort_type);

### Warning

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

Sets the sort type of the GtkClist. This is either GTK_SORT_ASCENDING for ascening sort or GTK_SORT_DESCENDING for descending sort.

`clist` : | The GtkCList to affect.
`sort_type` : | the GtkSortType to use

### gtk_clist_sort ()

    void                gtk_clist_sort                      (GtkCList *clist);

### Warning

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

Sorts the GtkClist according to the current compare function, which can be set with the `gtk_clist_set_compare_func()` function.

`clist` : | The GtkCList to sort.

### gtk_clist_set_auto_sort ()

    void                gtk_clist_set_auto_sort             (GtkCList *clist,
                                                             gboolean auto_sort);

### Warning

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

Turns on or off auto sort of the GtkCList. If auto sort is on, then the CList will be resorted when a row is inserted into the CList.

`clist` : | The GtkCList to affect.
`auto_sort` : | whether auto sort should be on or off

### gtk_clist_columns_autosize ()

    gint                gtk_clist_columns_autosize          (GtkCList *clist);

### Warning

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

Auto-sizes all columns in the CList and returns the total width of the CList.

`clist` : | The GtkCList to affect.
Returns : | The total width of the CList.

### gtk_clist_get_column_title ()

    gchar*              gtk_clist_get_column_title          (GtkCList *clist,
                                                             gint column);

### Warning

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

Gets the current title of the specified column

`clist` : | The GtkCList to affect.
`column` : | The column to query.
Returns : | The title of the column.

### gtk_clist_get_column_widget ()

    GtkWidget*          gtk_clist_get_column_widget         (GtkCList *clist,
                                                             gint column);

### Warning

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

Gets the widget in the column header for the specified column.

`clist` : | The GtkCList to affect.
`column` : | The column to query.
Returns : | Pointer to a GtkWidget for the column header.

### gtk_clist_get_hadjustment ()

    GtkAdjustment*      gtk_clist_get_hadjustment           (GtkCList *clist);

### Warning

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

Gets the GtkAdjustment currently being used for the horizontal aspect.

`clist` : | The GtkCList to check.
Returns : | A GtkAdjustment object, or NULL if none is currently being used.

### gtk_clist_get_vadjustment ()

    GtkAdjustment*      gtk_clist_get_vadjustment           (GtkCList *clist);

### Warning

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

Gets the GtkAdjustment currently being used for the vertical aspect.

`clist` : | The GtkCList to check.
Returns : | A GtkAdjustment object, or NULL if none is currently being used.

### gtk_clist_row_move ()

    void                gtk_clist_row_move                  (GtkCList *clist,
                                                             gint source_row,
                                                             gint dest_row);

### Warning

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

Allows you to move a row from one position to another in the list.

`clist` : | The GtkCList to affect.
`source_row` : | The original position of the row to move.
`dest_row` : | The position to which the row should be moved.

### gtk_clist_set_button_actions ()

    void                gtk_clist_set_button_actions        (GtkCList *clist,
                                                             guint button,
                                                             guint8 button_actions);

### Warning

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

Sets the action(s) that the specified mouse button will have on the CList.

`clist` : | The GtkCList to affect.
`button` : | The mouse button to set. The values here, unlike in the rest of GTK+ start from 0. For instance, the right mouse button, which is 3 elsewhere, should be given as 2 here.
`button_actions` : | A logically OR'd value of GtkButtonAction values for the button.

### gtk_clist_set_hadjustment ()

    void                gtk_clist_set_hadjustment           (GtkCList *clist,
                                                             GtkAdjustment *adjustment);

### Warning

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

Allows you to set the GtkAdjustment to be used for the horizontal aspect of the GtkCList widget.

`clist` : | The GtkCList to affect.
`adjustment` : | A pointer to a GtkAdjustment widget, or NULL.

### gtk_clist_set_reorderable ()

    void                gtk_clist_set_reorderable           (GtkCList *clist,
                                                             gboolean reorderable);

### Warning

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

Sets whether the CList's rows are re-orderable using drag-and-drop.

`clist` : | The GtkCList to affect.
`reorderable` : | `TRUE` or `FALSE`.

### gtk_clist_set_use_drag_icons ()

    void                gtk_clist_set_use_drag_icons        (GtkCList *clist,
                                                             gboolean use_icons);

### Warning

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

Determines whether the GtkClist should use icons when doing drag-and-drop operations.

`clist` : | The GtkCList to affect.
`use_icons` : | `TRUE` or `FALSE`.

### gtk_clist_set_vadjustment ()

    void                gtk_clist_set_vadjustment           (GtkCList *clist,
                                                             GtkAdjustment *adjustment);

### Warning

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

Allows you to set the GtkAdjustment to be used for the vertical aspect of the GtkCList widget.

`clist` : | The GtkCList to affect.
`adjustment` : | A pointer to a GtkAdjustment widget, or NULL.

## Property Details

### The "`n-columns`" property

      "n-columns"                guint                 : Read / Write / Construct Only

An integer value for a column.

Default value: 0

### The "`reorderable`" property

      "reorderable"              gboolean              : Read / Write

A boolean value for determining if the user can re-order the CList's columns.

Default value: FALSE

### The "`row-height`" property

      "row-height"               guint                 : Read / Write

An integer value representing the height of a row in pixels.

Default value: 0

### The "`selection-mode`" property

      "selection-mode"           GtkSelectionMode      : Read / Write

Sets the type of selection mode for the CList.

Default value: GTK_SELECTION_NONE

### The "`shadow-type`" property

      "shadow-type"              GtkShadowType         : Read / Write

Sets the shadowing for the CList.

Default value: GTK_SHADOW_NONE

### The "`sort-type`" property

      "sort-type"                GtkSortType           : Read / Write

Default value: GTK_SORT_ASCENDING

### The "`titles-active`" property

      "titles-active"            gboolean              : Read / Write

A boolean value for setting whether the column titles can be clicked.

Default value: FALSE

### The "`use-drag-icons`" property

      "use-drag-icons"           gboolean              : Read / Write

A boolean value for setting whether to use icons during drag operations.

Default value: FALSE

## Signal Details

### The "abort-column-resize" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when a column resize is aborted.

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

### The "click-column" signal

    void                user_function                      (GtkCList *clist,
                                                            gint      column,
                                                            gpointer  user_data)      : Run First

This signal is emitted when a column title is clicked.

`clist` : | The object which received the signal.
`column` : | The number of the column.
`user_data` : | user data set when the signal handler was connected.

### The "end-selection" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when a selection ends in a multiple selection CList.

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

### The "extend-selection" signal

    void                user_function                      (GtkCList     *clist,
                                                            GtkScrollType scroll_type,
                                                            gfloat        position,
                                                            gboolean      auto_start_selection,
                                                            gpointer      user_data)                 : Run Last / Action

This signal is emitted when the selection is extended.

`clist` : | the object which received the signal.
`scroll_type` : | A GtkScrollType value of any scrolling operation the occured during the selection.
`position` : | A value between 0.0 and 1.0.
`auto_start_selection` : | `TRUE` or `FALSE`.
`user_data` : | user data set when the signal handler was connected.

### The "resize-column" signal

    void                user_function                      (GtkCList *clist,
                                                            gint      column,
                                                            gint      width,
                                                            gpointer  user_data)      : Run Last

This signal is emitted when a column is resized.

`clist` : | The object which received the signal.
`column` : | The number of the column
`width` : | The new width of the column.
`user_data` : | user data set when the signal handler was connected.

### The "row-move" signal

    void                user_function                      (GtkCList *clist,
                                                            gint      arg1,
                                                            gint      arg2,
                                                            gpointer  user_data)      : Run Last

This signal is emitted when a row is moved.

`clist` : | The object which received the signal.
`arg1` : | The source position of the row.
`arg2` : | The destination position of the row.
`user_data` : | user data set when the signal handler was connected.

### The "scroll-horizontal" signal

    void                user_function                      (GtkCList     *clist,
                                                            GtkScrollType scroll_type,
                                                            gfloat        position,
                                                            gpointer      user_data)        : Run Last / Action

This signal is emitted when the CList is scrolled horizontally.

`clist` : | the object which received the signal.
`scroll_type` : | A GtkScrollType value of how the scroll operation occured.
`position` : | a value between 0.0 and 1.0.
`user_data` : | user data set when the signal handler was connected.

### The "scroll-vertical" signal

    void                user_function                      (GtkCList     *clist,
                                                            GtkScrollType scroll_type,
                                                            gfloat        position,
                                                            gpointer      user_data)        : Run Last / Action

This signal is emitted when the CList is scrolled vertically.

`clist` : | the object which received the signal.
`scroll_type` : | A GtkScrollType value of how the scroll operation occured.
`position` : | A value between 0.0 and 1.0.
`user_data` : | user data set when the signal handler was connected.

### The "select-all" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when all the rows are selected in a CList.

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

### The "select-row" signal

    void                user_function                      (GtkCList       *clist,
                                                            gint            row,
                                                            gint            column,
                                                            GdkEventButton *event,
                                                            gpointer        user_data)      : Run First

This signal is emitted when the user selects a row in the list. It is emitted for every row that is selected in a multi-selection or by calling `gtk_clist_select_all()`.

`clist` : | The object which received the signal.
`row` : | The row selected.
`column` : | The column where the selection occured.
`event` : | A GdkEvent structure for the selection.
`user_data` : | user data set when the signal handler was connected.

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

    void                user_function                      (GtkCList      *clist,
                                                            GtkAdjustment *arg1,
                                                            GtkAdjustment *arg2,
                                                            gpointer       user_data)      : Run Last

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

### The "start-selection" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when a drag-selection is started in a multiple-selection CList.

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

### The "toggle-add-mode" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when "add mode" is toggled.

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

### The "toggle-focus-row" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

`clist` : | The object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "undo-selection" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when an undo selection occurs in the CList, probably via calling `gtk_clist_undo_selection()`.

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

### The "unselect-all" signal

    void                user_function                      (GtkCList *clist,
                                                            gpointer  user_data)      : Run Last / Action

This signal is emitted when all rows are unselected in a CList.

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

### The "unselect-row" signal

    void                user_function                      (GtkCList       *clist,
                                                            gint            row,
                                                            gint            column,
                                                            GdkEventButton *event,
                                                            gpointer        user_data)      : Run First

This signal is emitted when the user unselects a row in the list. It is emitted for every row that is unselected in a multi-selection or by calling `gtk_clist_unselect_all()`. It is also emitted for the previously selected row in a "single" or "browse" mode CList.

`clist` : | The object which received the signal.
`row` : | The selected row
`column` : | The column where the selection occured.
`event` : |
`user_data` : | user data set when the signal handler was connected.