## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Clist

- Goto spec source

# Description

    package Gtk.Clist is

This widget is deprecated. Use Gtk.Tree_View instead.

This widget displays a multi-column list. Each line is made of a number of column, each being able to display any kind of widget.

The intersection of a line and a column is called a Cell. Each cell can have a different type (Cell_Text, Cell_Pixmap, Cell_Pixtext), and display its contents depending on this type. For instance, the text is not displayed in the type is Cell_Pixmap.

Note that this type is changed dynamically by some of the subprograms below, like Set_Pixmap, Set_Text, ... and Set_Cell_Contents This is one of the most powerful widgets in GtkAda, that can be used to display an kind of information. Look also into using Gtk_Ctree, which is a similar widget.

You can add scrolling in a Gtk_Clist by adding it in a Gtk_Scrolled_Window.

Binding from C File version 2.8.17

<testgtk>create_clist.adb</testgtk>

# Packages

### Row_List (new Glib.Glist.Generic_List)

    package Row_List is new Glib.Glist.Generic_List (Gtk_Clist_Row);

### Row_Data (generic)

Full description

# Classes

### Gtk_Clist_Record

- Goto declaration in source
- Goto full declaration in source

    type Gtk_Clist_Record is new Gtk.Container.Gtk_Container_Record
         with private;

#### Ancestors:

Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Immediate Children:

Gtk.Ctree.Gtk_Ctree_Record

#### Primitive operations:

Append

- To API doc
- To spec

Clear

- To API doc
- To spec

Column_Title_Active

- To API doc
- To spec

Column_Title_Passive

- To API doc
- To spec

Column_Titles_Active

- To API doc
- To spec

Column_Titles_Hide

- To API doc
- To spec

Column_Titles_Passive

- To API doc
- To spec

Column_Titles_Show

- To API doc
- To spec

Columns_Autosize

- To API doc
- To spec

Freeze

- To API doc
- To spec

Get_Cell_Style

- To API doc
- To spec

Get_Cell_Type

- To API doc
- To spec

Get_Clist_Window

- To API doc
- To spec

Get_Column_Title

- To API doc
- To spec

Get_Column_Widget

- To API doc
- To spec

Get_Columns

- To API doc
- To spec

Get_Focus_Row

- To API doc
- To spec

Get_Hadjustment

- To API doc
- To spec

Get_Pixmap

- To API doc
- To spec

Get_Pixmap

- To API doc
- To spec

Get_Pixtext

- To API doc
- To spec

Get_Row_List

- To API doc
- To spec

Get_Row_Style

- To API doc
- To spec

Get_Rows

- To API doc
- To spec

Get_Selectable

- To API doc
- To spec

Get_Selection

- To API doc
- To spec

Get_Selection_Info

- To API doc
- To spec

Get_Selection_Mode

- To API doc
- To spec

Get_Sort_Column

- To API doc
- To spec

Get_Sort_Type

- To API doc
- To spec

Get_Text

- To API doc
- To spec

Get_Text

- To API doc
- To spec

Get_Vadjustment

- To API doc
- To spec

Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Container.Add

- To API doc
- To spec

(Inherited)
Gtk.Container.Check_Resize

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Set_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Type

- To API doc
- To spec

(Inherited)
Gtk.Container.Forall

- To API doc
- To spec

(Inherited)
Gtk.Container.Foreach

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Propagate_Expose

- To API doc
- To spec

(Inherited)
Gtk.Container.Remove

- To API doc
- To spec

(Inherited)
Gtk.Container.Resize_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Reallocate_Redraws

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Unset_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Widget.Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Insert

- To API doc
- To spec

Moveto

- To API doc
- To spec

Optimal_Column_Width

- To API doc
- To spec

Prepend

- To API doc
- To spec

Remove

- To API doc
- To spec

Row_Is_Visible

- To API doc
- To spec

Row_Move

- To API doc
- To spec

Select_All

- To API doc
- To spec

Select_Row

- To API doc
- To spec

Set_Auto_Sort

- To API doc
- To spec

Set_Background

- To API doc
- To spec

Set_Button_Actions

- To API doc
- To spec

Set_Cell_Contents

- To API doc
- To spec

Set_Cell_Style

- To API doc
- To spec

Set_Column_Auto_Resize

- To API doc
- To spec

Set_Column_Justification

- To API doc
- To spec

Set_Column_Max_Width

- To API doc
- To spec

Set_Column_Min_Width

- To API doc
- To spec

Set_Column_Resizeable

- To API doc
- To spec

Set_Column_Title

- To API doc
- To spec

Set_Column_Visibility

- To API doc
- To spec

Set_Column_Widget

- To API doc
- To spec

Set_Column_Width

- To API doc
- To spec

Set_Compare_Func

- To API doc
- To spec

Set_Foreground

- To API doc
- To spec

Set_Hadjustment

- To API doc
- To spec

Set_Pixmap

- To API doc
- To spec

Set_Pixtext

- To API doc
- To spec

Set_Reorderable

- To API doc
- To spec

Set_Row_Height

- To API doc
- To spec

Set_Row_Style

- To API doc
- To spec

Set_Selectable

- To API doc
- To spec

Set_Selection_Mode

- To API doc
- To spec

Set_Shadow_Type

- To API doc
- To spec

Set_Shift

- To API doc
- To spec

Set_Show_Titles

- To API doc
- To spec

Set_Sort_Column

- To API doc
- To spec

Set_Sort_Type

- To API doc
- To spec

Set_Text

- To API doc
- To spec

Set_Use_Drag_Icons

- To API doc
- To spec

Set_Vadjustment

- To API doc
- To spec

Sort

- To API doc
- To spec

Swap_Rows

- To API doc
- To spec

Thaw

- To API doc
- To spec

Undo_Selection

- To API doc
- To spec

Unselect_All

- To API doc
- To spec

Unselect_Row

- To API doc
- To spec

# Types

### Gtk_Clist

- Goto declaration in source

    type Gtk_Clist is access all Gtk_Clist_Record'Class;

### Gtk_Clist_Row

- Goto declaration in source

    type Gtk_Clist_Row is new Gdk.C_Proxy;

A row of the clist. Application-specific data can be associated with each row. In the following subprograms, rows can also be accessed via their number, starting from 0.

### Gtk_Button_Action

- Goto declaration in source

    type Gtk_Button_Action is new Guint;

### Gtk_Cell_Type

- Goto declaration in source

    type Gtk_Cell_Type is
         (Cell_Empty,
          Cell_Text,
          Cell_Pixmap,
          Cell_Pixtext,
          Cell_Widget);

### Gtk_Sort_Type

- Goto declaration in source

    type Gtk_Sort_Type is (Ascending, Descending);

### Gtk_Clist_Compare_Func

- Goto declaration in source

    type Gtk_Clist_Compare_Func is access
         function
           (Clist : access Gtk_Clist_Record'Class;
            Row1  : Gtk_Clist_Row;
            Row2  : Gtk_Clist_Row) return Gint;

Function used when sorting a clist. This function takes two rows as its arguments, and should return a Gint indicating in which order the rows are found (-1 if Row1 comes first, 0 if they are equal, 1 if Row2 comes first).

# Constants & Global variables

### Button_Ignored

- Goto declaration in source

(Gtk_Button_Action)

    Button_Ignored : constant Gtk_Button_Action := 0;

### Button_Selects

- Goto declaration in source

(Gtk_Button_Action)

    Button_Selects : constant Gtk_Button_Action := 1 ** 0;

### Button_Drags

- Goto declaration in source

(Gtk_Button_Action)

    Button_Drags   : constant Gtk_Button_Action := 1 ** 1;

### Button_Expands

- Goto declaration in source

(Gtk_Button_Action)

    Button_Expands : constant Gtk_Button_Action := 1 ** 2;

### Signal_Abort_Column_Resize

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Abort_Column_Resize    : constant Glib.Signal_Name :=
                                         "abort_column_resize";

### Signal_Click_Column

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Click_Column           : constant Glib.Signal_Name :=
                                         "click_column";

### Signal_End_Selection

- Goto declaration in source

(Glib.Signal_Name)

    Signal_End_Selection          : constant Glib.Signal_Name :=
                                         "end_selection";

### Signal_Extend_Selection

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Extend_Selection       : constant Glib.Signal_Name :=
                                         "extend_selection";

### Signal_Resize_Column

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Resize_Column          : constant Glib.Signal_Name :=
                                         "resize_column";

### Signal_Row_Move

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Row_Move               : constant Glib.Signal_Name :=
                                         "row_move";

### Signal_Scroll_Horizontal

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Scroll_Horizontal      : constant Glib.Signal_Name :=
                                         "scroll_horizontal";

### Signal_Scroll_Vertical

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Scroll_Vertical        : constant Glib.Signal_Name :=
                                         "scroll_vertical";

### Signal_Select_All

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Select_All             : constant Glib.Signal_Name :=
                                         "select_all";

### Signal_Select_Row

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Select_Row             : constant Glib.Signal_Name :=
                                         "select_row";

### Signal_Set_Scroll_Adjustments

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Set_Scroll_Adjustments : constant Glib.Signal_Name :=
                                         "set_scroll_adjustments";

### Signal_Start_Selection

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Start_Selection        : constant Glib.Signal_Name :=
                                         "start_selection";

### Signal_Toggle_Add_Mode

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Toggle_Add_Mode        : constant Glib.Signal_Name :=
                                         "toggle_add_mode";

### Signal_Toggle_Focus_Row

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Toggle_Focus_Row       : constant Glib.Signal_Name :=
                                         "toggle_focus_row";

### Signal_Undo_Selection

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Undo_Selection         : constant Glib.Signal_Name :=
                                         "undo_selection";

### Signal_Unselect_All

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Unselect_All           : constant Glib.Signal_Name :=
                                         "unselect_all";

### Signal_Unselect_Row

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Unselect_Row           : constant Glib.Signal_Name :=
                                         "unselect_row";

# Subprograms & Entries

### Convert

- Goto spec in source

    function Convert is new Unchecked_Conversion (Gtk_Clist_Row, System.Address);

<doc_ignore>

### Convert

- Goto spec in source

    function Convert is new Unchecked_Conversion (System.Address, Gtk_Clist_Row);

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Widget: out Gtk_Clist;Columns: in Gint);

Create a list with Columns columns. Each line will have this exact number of column The number of columns can not be changed once the widget has been created.

### Initialize

- Goto spec in source

    procedure Initialize (Widget: access Gtk_Clist_Record'Class;Columns: in Gint);

Internal initialization function. See the section "Creating your own widgets" in the documentation.

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Widget: out Gtk_Clist;Columns: in  Gint;Titles: in  Gtkada.Types.Chars_Ptr_Array);

Create a new list with Columns columns. The title of the columns is specified in Titles. The results are undefined (and can raise an exception) if Titles does not have at least Columns items.

### Initialize

- Goto spec in source

    procedure Initialize (Widget: access Gtk_Clist_Record'Class;Columns: in Gint;Titles: in Gtkada.Types.Chars_Ptr_Array);

Internal initialization function. See the section "Creating your own widgets" in the documentation.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Gtk.Gtk_Type;

Return the internal value associated with a Gtk_Clist.

### Set_Hadjustment

- Goto spec in source

    procedure Set_Hadjustment (Clist: access Gtk_Clist_Record;Adjustment: Gtk.Adjustment.Gtk_Adjustment);

Set the horizontal adjustment used for the clist. Note that such an adjustment is automatically created when the clist is added to a Gtk_Scrolled_Window. You should rather use Gtk.Scrolled_Window.Set_Hadjustment if you want to modify the adjustment. If there was already such an adjustment, it is unref-ed, and might be deleted.

### Set_Vadjustment

- Goto spec in source

    procedure Set_Vadjustment (Clist: access Gtk_Clist_Record;Adjustment: Gtk.Adjustment.Gtk_Adjustment);

Set the vertical adjustment used for the clist. Note that such an adjustment is automatically created when the clist is added to a Gtk_Scrolled_Window. You should rather use Gtk.Scrolled_Window.Set_Hadjustment if you want to modify the adjustment. If there was already such an adjustment, it is unref-ed, and might be deleted.

### Get_Hadjustment

- Goto spec in source

    function Get_Hadjustment (Clist: access  Gtk_Clist_Record) return Gtk.Adjustment.Gtk_Adjustment;

Return the horizontal adjustment used for the clist. This indicates what position the clist is presently displaying, and by changing its value, the clist is automatically scrolled horizontally. This is done automatically when the clist's parent is a Gtk_Scrolled_Window.

### Get_Vadjustment

- Goto spec in source

    function Get_Vadjustment (Clist: access Gtk_Clist_Record) return Gtk.Adjustment.Gtk_Adjustment;

Return the vertical adjustment used for the clist. This indicates what position the clist is presently displaying, and by changing its value, the clist is automatically scrolled vertically. This is done automatically when the clist's parent is a Gtk_Scrolled_Window.

### Set_Selection_Mode

- Goto spec in source

    procedure Set_Selection_Mode (Clist: access Gtk_Clist_Record;Mode: in Gtk.Enums.Gtk_Selection_Mode);

Modify the selection mode for the clist. This indicates whether one or more lines can be selected at the same time in the clist, and how this selection can done by the user (does he have to click explicitly on an item, or can he browse through the clist and select the last item he was on, etc.) Note that changing the selection mode to Selection_Single or Selection_Browse will deselect all the items in the clist.

### Get_Selection_Mode

- Goto spec in source

    function Get_Selection_Mode (Clist: access Gtk_Clist_Record) return Gtk.Enums.Gtk_Selection_Mode;

Return the selection mode for the clist.

### Get_Clist_Window

- Goto spec in source

    function Get_Clist_Window (Clist: access Gtk_Clist_Record) return Gdk.Window.Gdk_Window;

<doc_ignore>

### Freeze

- Goto spec in source

    procedure Freeze (Clist: access Gtk_Clist_Record);

Freeze all visual updates on the list, while you make big changes. This is more efficient than working on an unfrozen list.

### Thaw

- Goto spec in source

    procedure Thaw (Clist: access Gtk_Clist_Record);

Thaw the list, ie reactivate all the visual updates. This also forces an immediate refresh of the list. Note that each Freeze must be followed by a Thaw. The visual updates are not reactivated until the last Thaw has been emitted, but there is an immediate refresh every time anyway.

### Set_Shadow_Type

- Goto spec in source

    procedure Set_Shadow_Type (Clist: access Gtk_Clist_Record;The_Type: in Gtk.Enums.Gtk_Shadow_Type);

Set the border style of the clist.

### Append

- Goto spec in source

    function Append (Clist: access Gtk_Clist_Record;Text: in     Gtkada.Types.Chars_Ptr_Array) return Gint;

Append a new row to the clist, and return the index of the row created. The row is added at the end of the Clist. The behavior is undefined if Text does not have at least as many items as there are columns in the Clist.

### Prepend

- Goto spec in source

    function Prepend (Clist: access Gtk_Clist_Record;Text: in     Gtkada.Types.Chars_Ptr_Array) return Gint;

Add a new row at the beginning of the clist, and return its index. The behavior is undefined if Text does not have at least as many items as there are columns in the Clist.

### Insert

- Goto spec in source

    procedure Insert (Clist: access Gtk_Clist_Record;Row: in     Gint;Text: in     Gtkada.Types.Chars_Ptr_Array);

Add a new row in the clist. The row 0 is the first in the clist. If Row is not in the range for clist, the new row is added at the end. The behavior is undefined if Text does not have enough items.

### Remove

- Goto spec in source

    procedure Remove (Clist: access Gtk_Clist_Record;Row: in Gint);

Remove a row from the clist (0 is the first one).

### Clear

- Goto spec in source

    procedure Clear (Clist: access Gtk_Clist_Record);

Clears the entire list. This is much faster than doing a Remove on each line.

### Swap_Rows

- Goto spec in source

    procedure Swap_Rows (Clist: access Gtk_Clist_Record;Row1: in     Gint;Row2: in     Gint);

Exchange the position of two rows in the clist.

### Row_Move

- Goto spec in source

    procedure Row_Move (Clist: access Gtk_Clist_Record;Source_Row: in     Gint;Dest_Row: in     Gint);

Move the row at Source_Row to Dest_Row (0 indicates the first row in the clist)

### Set_Sort_Column

- Goto spec in source

    procedure Set_Sort_Column (Clist: access Gtk_Clist_Record;Column: Gint);

Indicate the column on which to sort the clist. This column is relevant when you use Sort or Set_Auto_Sort below. The first column is number 0.

### Get_Sort_Column

- Goto spec in source

    function Get_Sort_Column (Clist: access Gtk_Clist_Record) return Gint;

Return the column on which the clist is sorted.

### Set_Sort_Type

- Goto spec in source

    procedure Set_Sort_Type (Clist: access Gtk_Clist_Record;Sort_Type: Gtk_Sort_Type);

Indicate in which order the sort should be done on the clist (ascending or descending).

### Get_Sort_Type

- Goto spec in source

    function Get_Sort_Type (Clist: access Gtk_Clist_Record) return Gtk_Sort_Type;

Return the sort type currently used for the list

### Sort

- Goto spec in source

    procedure Sort (Clist: access Gtk_Clist_Record);

Sort the lines of the clist, based on the column set by Set_Sort_Column, and in the order set by Set_Sort_Type.

### Set_Auto_Sort

- Goto spec in source

    procedure Set_Auto_Sort (Clist: access Gtk_Clist_Record;Auto_Sort: Boolean);

If Auto_Sort is true, then the clist will be automatically sorted every time a new line is inserted into the clist.

### Set_Compare_Func

- Goto spec in source

    procedure Set_Compare_Func (Clist: access Gtk_Clist_Record;Func: Gtk_Clist_Compare_Func);

Set the function used when sorting the list. This function takes two rows as its arguments, and should return a Gint indicating in which order the rows are found (-1 if Row1 comes first, 0 if they are equal, 1 if Row2 comes last). Func should be null to restore the default sorting functions.

### Get_Columns

- Goto spec in source

    function Get_Columns (Clist: access Gtk_Clist_Record) return Gint;

Return the number of columns in the clist.

### Column_Titles_Hide

- Goto spec in source

    procedure Column_Titles_Hide (Clist: access Gtk_Clist_Record);

Hide the column titles for the list. This is the default behavior if no column titles were given when the list was created.

### Column_Titles_Show

- Goto spec in source

    procedure Column_Titles_Show (Clist: access Gtk_Clist_Record);

Show the column titles for the list. This is the default behavior if some column titles were given when the list was created.

### Column_Title_Active

- Goto spec in source

    procedure Column_Title_Active (Clist: access Gtk_Clist_Record;Column: in Gint);

Set the column title to be an activate title. In other words, answer all button presses, highlights when the mouse is over it, ...

### Column_Title_Passive

- Goto spec in source

    procedure Column_Title_Passive (Clist: access Gtk_Clist_Record;Column: in Gint);

Set the column title to be passive. Act just as a title, and do not react to mouse events.

### Column_Titles_Active

- Goto spec in source

    procedure Column_Titles_Active (Clist: access Gtk_Clist_Record);

Set all column titles to be active.

### Column_Titles_Passive

- Goto spec in source

    procedure Column_Titles_Passive (Clist: access Gtk_Clist_Record);

Set all column titles to be passive.

### Set_Column_Title

- Goto spec in source

    procedure Set_Column_Title (Clist: access Gtk_Clist_Record;Column: in Gint;Title: in UTF8_String);

Set the text for the button of the column's title. See Set_Column_Widget if you want to put a pixmap inside the button.

### Get_Column_Title

- Goto spec in source

    function Get_Column_Title (Clist: access Gtk_Clist_Record;Column: in Gint) return UTF8_String;

Return the text used for the title's column. This is a copy of the title, so you can't modify it to automatically change the column's title.

### Set_Column_Widget

- Goto spec in source

    procedure Set_Column_Widget (Clist: access Gtk_Clist_Record;Column: in     Gint;Widget: access Gtk.Widget.Gtk_Widget_Record'Class);

Modify the widget used in the Gtk_Button that is the column's title. By default, this button contains a simple Gtk_Label, which is replaced by Widget. This is the function to use if you want to put a pixmap (or a Gtk_Box that contains both a pixmap and some text) in a column's title.

### Get_Column_Widget

- Goto spec in source

    function Get_Column_Widget (Clist: access Gtk_Clist_Record;Column: in Gint) return Gtk.Widget.Gtk_Widget;

Return the child of the button that makes the column's title. Unless you changed it with Set_Column_Widget, this will return a Gtk_Label. Note also that if this widget was not created in Ada, but transparently by gtk+, you have to 'with' Gtk.Type_Conversion so that the correct type of the widget is created (See the user's guide for more information on type conversion).

### Set_Column_Justification

- Goto spec in source

    procedure Set_Column_Justification (Clist: access Gtk_Clist_Record;Column: in Gint;Justification: in Gtk.Enums.Gtk_Justification);

Change the way the text in the whole column is justified. This function has no effect on the title if you used Set_Column_Widget before.

### Set_Column_Visibility

- Goto spec in source

    procedure Set_Column_Visibility (Clist: access Gtk_Clist_Record;Column: in Gint;Visible: in Boolean);

Modify the visibility of a column. Note that GtkAda prevents the last remaining visible column to be hidden. Nothing will be done if you try to hide that last column. See the example below for an example how to hide all the columns but one.

### Set_Column_Resizeable

- Goto spec in source

    procedure Set_Column_Resizeable (Clist: access Gtk_Clist_Record;Column: in Gint;Resizeable: in Boolean);

Set whether the column can be dynamically resized with the mouse. If Resizeable is true, then the column can be resized by clicking and dragging the lines that separates the column from the next one.

### Set_Column_Auto_Resize

- Goto spec in source

    procedure Set_Column_Auto_Resize (Clist: access Gtk_Clist_Record;Column: in Gint;Auto_Resize: in Boolean);

Set whether the column should automatically be resized to the optimal size (based on its contents). Note that this operation could slow things down a lot if you have a lot of items in your list.

### Columns_Autosize

- Goto spec in source

    function Columns_Autosize (Clist: access Gtk_Clist_Record) return Gint;

Set all the columns' width to their optimal size. Return the total width of the clist after this operation.

### Optimal_Column_Width

- Goto spec in source

    function Optimal_Column_Width (Clist: access Gtk_Clist_Record;Column: Gint) return Gint;

Return the optimal width for Column, based on its contents. This is the maximal cell width in the column.

### Set_Column_Width

- Goto spec in source

    procedure Set_Column_Width (Clist: access Gtk_Clist_Record;Column: in Gint;Width: in Gint);

Set the column width in pixels. By default, the column's width is chosen from the column's title.

### Set_Column_Min_Width

- Goto spec in source

    procedure Set_Column_Min_Width (Clist: access Gtk_Clist_Record;Column: Gint;Min_Width: Gint);

Set the minimal width for the column, in pixels. if Min_Width is negative, there is no limit on the minimal width for the column.

### Set_Column_Max_Width

- Goto spec in source

    procedure Set_Column_Max_Width (Clist: access Gtk_Clist_Record;Column: Gint;Max_Width: Gint);

Set the maximal width for the column, in pixels. If Max_Width is negative, there is no limit on the maximal width for the column.

### Get_Rows

- Goto spec in source

    function Get_Rows (Clist: access Gtk_Clist_Record) return Gint;

Return the number of rows in the clist.

### Set_Row_Height

- Goto spec in source

    procedure Set_Row_Height (Clist: access Gtk_Clist_Record;Height: Gint);

Set the height of the rows, in pixels. if Height is 0, the chosen height will be the current's font height.

### Row_Is_Visible

- Goto spec in source

    function Row_Is_Visible (Clist: access Gtk_Clist_Record;Row: in Gint) return Gtk.Enums.Gtk_Visibility;

Return the visibility status of the row.

### Set_Foreground

- Goto spec in source

    procedure Set_Foreground (Clist: access Gtk_Clist_Record;Row: in Gint;Color: in Gdk.Color.Gdk_Color);

Set the foreground color for the row. The color must already be allocated. If no such row exists in the list, nothing is done.

### Set_Background

- Goto spec in source

    procedure Set_Background (Clist: access Gtk_Clist_Record;Row: in Gint;Color: in Gdk.Color.Gdk_Color);

Set the background color for the row. The color must already be allocated. If no such row exists in the list, nothing is done.

### Set_Row_Style

- Goto spec in source

    procedure Set_Row_Style (Clist: access Gtk_Clist_Record;Row: Gint;Style: in Gtk.Style.Gtk_Style);

Set the default style for the cells in the row. This can be overridden for each cell with Set_Cell_Style.

### Get_Row_Style

- Goto spec in source

    function Get_Row_Style (Clist: access Gtk_Clist_Record;Row: in     Gint) return Gtk.Style.Gtk_Style;

Return the default style used for the row.

### Set_Selectable

- Goto spec in source

    procedure Set_Selectable (Clist: access Gtk_Clist_Record;Row: Gint;Selectable: Boolean);

Indicate whether the row can be selected or not. The default value is True.

### Get_Selectable

- Goto spec in source

    function Get_Selectable (Clist: access Gtk_Clist_Record;Row: Gint) return Boolean;

Return the selectable status of the row.

### Select_Row

- Goto spec in source

    procedure Select_Row (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint);

Emit the signal "select_row". This simulates the user pressing the mouse on Row, Column on the clist.

### Unselect_Row

- Goto spec in source

    procedure Unselect_Row (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint);

Emit the signal "unselect_row", as if the user had clicked on Row, Column on the clist.

### Undo_Selection

- Goto spec in source

    procedure Undo_Selection (Clist: access Gtk_Clist_Record);

Undo the last select/unselect operation.

### Get_Selection_Info

- Goto spec in source

    procedure Get_Selection_Info (Clist: access Gtk_Clist_Record;X: in Gint;Y: in Gint;Row: out Gint;Column: out Gint;Is_Valid: out Boolean);

Return the Row/Column corresponding to the coordinates X,Y in the Row column. The coordinates X,Y are relative to the clist window (ie 0,0 is the top left corner of the clist). The result is valid only if Is_Valid is true

### Select_All

- Goto spec in source

    procedure Select_All (Clist: access Gtk_Clist_Record);

Select all the rows in the clist. This only works if the selection mode allows for multiple rows selected at the same time (extended or multiple).

### Unselect_All

- Goto spec in source

    procedure Unselect_All (Clist: access Gtk_Clist_Record);

Deselect all the rows in the clist. If the selection mode is Browse, then only the current line is deselected.

### Get_Focus_Row

- Goto spec in source

    function Get_Focus_Row (Clist: access Gtk_Clist_Record) return Gint;

Return the number of the line that currently has the focus.

### Get_Row_List

- Goto spec in source

    function Get_Row_List (Clist: access Gtk_Clist_Record) return Row_List.Glist;

Return the list of all the rows in the clist. This might speed up the access to the rows a little. You can then use the function Set_Cell_Contents to modify the cells in the row, and Get_Text or Get_Pixmap to get its contents.

### Get_Selection

- Goto spec in source

    function Get_Selection (Widget: access Gtk_Clist_Record) return Gtk.Enums.Gint_List.Glist;

Return the list of selected rows, by number.

### Get_Cell_Type

- Goto spec in source

    function Get_Cell_Type (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint) return Gtk_Cell_Type;

Return the type of the cell at Row/Column. This indicates which of the functions Get_Text. Get_Pixmap, etc. below you can use.

### Set_Text

- Goto spec in source

    procedure Set_Text (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Text: in UTF8_String);

Set the cell's text, replacing its current contents. This changes the type of the cell to Cell_Text. The pixmap (if any) will no longer be displayed.

### Get_Text

- Goto spec in source

    function Get_Text (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint) return UTF8_String;

Return the text contained in cell. The type of the cell should be either Cell_Text or Cell_Pixtext. If there was a problem, a null-length string is returned. The problem might appear in case the row or the column are invalid, or if the cell does not contain any text.

### Get_Text

- Goto spec in source

    function Get_Text (Clist: access Gtk_Clist_Record;Row: Gtk_Clist_Row;Column: in Gint) return UTF8_String;

Return the text contained in cell. The Row can be obtained from Get_Row_List, this function speeds up the access a little compared to the other Get_Text above.

### Set_Pixmap

- Goto spec in source

    procedure Set_Pixmap (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Pixmap: in Gdk.Pixmap.Gdk_Pixmap;Mask: in Gdk.Bitmap.Gdk_Bitmap);

Set the cell's pixmap, replacing its current contents. The type of the cell becomes Cell_Pixmap, and the text is no longer displayed.

### Get_Pixmap

- Goto spec in source

    procedure Get_Pixmap (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Pixmap: out Gdk.Pixmap.Gdk_Pixmap;Mask: out Gdk.Bitmap.Gdk_Bitmap;Is_Valid: out Boolean);

Return the pixmap contained in a cell. The type of the cell should be Cell_Pixmap. The result is meaningful only if Is_Valid is True. If the Cell did not contain a pixmap, Is_Valid is set to False

### Get_Pixmap

- Goto spec in source

    procedure Get_Pixmap (Clist: access Gtk_Clist_Record;Row: in Gtk_Clist_Row;Column: in Gint;Pixmap: out Gdk.Pixmap.Gdk_Pixmap;Mask: out Gdk.Bitmap.Gdk_Bitmap;Is_Valid: out Boolean);

Return the pixmap contained in a cell. Row can be obtained directly with Get_Row_List, and speeds up the access a little compared to the previous Get_Pixmap function.

### Set_Pixtext

- Goto spec in source

    procedure Set_Pixtext (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Text: in UTF8_String;Spacing: in Guint8;Pixmap: in Gdk.Pixmap.Gdk_Pixmap;Mask: in Gdk.Bitmap.Gdk_Bitmap);

Set both the text and the pixmap for the cell. Replace its current contents. The type of the cell becomes Cell_Pixtext, and both the text and the pixmap are displayed.

### Get_Pixtext

- Goto spec in source

    procedure Get_Pixtext (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Spacing: out Guint8;Pixmap: out Gdk.Pixmap.Gdk_Pixmap;Mask: out Gdk.Bitmap.Gdk_Bitmap;Is_Valid: out Boolean);

The result is not meaningful if Is_Valid is False. The only way to get the string is to use Get_Text, since a String is an unconstrained type in Ada and is not really convenient to use as an out parameter.

### Set_Cell_Style

- Goto spec in source

    procedure Set_Cell_Style (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Style: in Gtk.Style.Gtk_Style);

Set the style (font, color, ...) used for the cell. This overrides the row's style.

### Get_Cell_Style

- Goto spec in source

    function Get_Cell_Style (Clist: access Gtk_Clist_Record;Row: in     Gint;Column: in     Gint) return Gtk.Style.Gtk_Style;

Return the style of the cell.

### Set_Shift

- Goto spec in source

    procedure Set_Shift (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Vertical: in Gint;Horizontal: in Gint);

Set a horizontal and vertical shift for drawing the content of the cell. Both shifts can be either positive or negative. This is particularly useful for indenting items in a columns.

### Set_Cell_Contents

- Goto spec in source

    procedure Set_Cell_Contents (Clist: access Gtk_Clist_Record;Row: Gtk_Clist_Row;Column: Gint;Cell_Type: Gtk_Cell_Type;Text: UTF8_String;Spacing: Guint8;Pixmap: Gdk.Pixmap.Gdk_Pixmap;Mask: Gdk.Bitmap.Gdk_Bitmap);

Modify the contents and type of a cell. Cell_Type indicates what should be displayed in the cell. Note that if you do not want any string, you should pass an empty string "". You get Row from Get_Row_List.

### Set_Reorderable

- Goto spec in source

    procedure Set_Reorderable (Clist: access Gtk_Clist_Record;Reorderable: Boolean);

Set whether the list can be dynamically reordered by the user. (using a simple drag-n-drop protocol).

### Set_Use_Drag_Icons

- Goto spec in source

    procedure Set_Use_Drag_Icons (Clist: access Gtk_Clist_Record;Use_Icons: Boolean);

Set whether drag icons are shown while the user is reordering the list. The default value is True.

### Set_Button_Actions

- Goto spec in source

    procedure Set_Button_Actions (Clist: access Gtk_Clist_Record;Button: Guint;Button_Action: Gtk_Button_Action);

Set the action for a specific button on the list. The default if for the left mouse button to select or drag and item, the other buttons are ignored. The Button_Expands action has no effect on a clist.

### Moveto

- Goto spec in source

    procedure Moveto (Clist: access Gtk_Clist_Record;Row: in Gint;Column: in Gint;Row_Align: in Gfloat;Col_Align: in Gfloat);

Scroll the list so that Row/Column is visible. If Row is -1, the clist is not scrolled vertically. If Column is -1, the clist is not scrolled horizontally. The new location of Row/Column depends on the value of Row_Align and Col_Align (from 0.0x0.0 (top-left) to 1.0x1.0 (bottom-right), all intermediate values are possible).

### Set_Show_Titles

- Goto spec in source

    procedure Set_Show_Titles (Clist: access Gtk_Clist_Record;Show: Boolean);

<doc_ignore>