## ExoIconBar ExoIconBar — A widget for displaying icon bars |

## Functions

GtkWidget * | exo_icon_bar_new ()
GtkWidget * | exo_icon_bar_new_with_model ()
GtkTreeModel * | exo_icon_bar_get_model ()
void | exo_icon_bar_set_model ()
gint | exo_icon_bar_get_pixbuf_column ()
void | exo_icon_bar_set_pixbuf_column ()
gint | exo_icon_bar_get_text_column ()
void | exo_icon_bar_set_text_column ()
GtkOrientation | exo_icon_bar_get_orientation ()
void | exo_icon_bar_set_orientation ()
gint | exo_icon_bar_get_active ()
void | exo_icon_bar_set_active ()
gboolean | exo_icon_bar_get_active_iter ()
void | exo_icon_bar_set_active_iter ()

## Properties

gint | active | Read / Write
GtkTreeModel * | model | Read / Write
GtkOrientation | orientation | Read / Write
gint | pixbuf-column | Read / Write
gint | text-column | Read / Write

## Style Properties

GdkColor * | active-item-border-color | Read
GdkColor * | active-item-fill-color | Read
GdkColor * | active-item-text-color | Read
GdkColor * | cursor-item-border-color | Read
GdkColor * | cursor-item-fill-color | Read
GdkColor * | cursor-item-text-color | Read

## Signals

void | selection-changed | Run First
void | set-scroll-adjustments | Run Last

## Types and Values

struct | ExoIconBar

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── ExoIconBar

## Implemented Interfaces

ExoIconBar implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <exo/exo.h>

## Description

A widget that displays any object that implements the GtkTreeModel interface in an icon bar.

Example 1. Creating a new ExoIconBar with a GtkListStore

    enum
    {
      PIXBUF_COLUMN,
      STRING_COLUMN,
      N_COLUMNS,
    };

    {
      GtkListStore *store;
      GtkWidget    *bar;

      // make a new list store
      store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING);

      // fill the store with data
      fill_store (store);

      // create the icon bar
      bar = exo_icon_bar_new_with_model (GTK_TREE_MODEL (store));
      exo_icon_bar_set_pixbuf_column (EXO_ICON_BAR (bar), PIXBUF_COLUMN);
      exo_icon_bar_set_text_column (EXO_ICON_BAR (bar), TEXT_COLUMN);
      gtk_widget_show (bar);

      // the icon bar keeps a reference on the store now
      g_object_unref (G_OBJECT (store));

      // add the bar to your GUI now...
    }

## Functions

### exo_icon_bar_new ()

    GtkWidget *
    exo_icon_bar_new (void);

Creates a new ExoIconBar without model.

#### Returns

a newly allocated ExoIconBar.

### exo_icon_bar_new_with_model ()

    GtkWidget *
    exo_icon_bar_new_with_model (GtkTreeModel *model);

Creates a new ExoIconBar and associates it with `model` .

#### Parameters

model | A GtkTreeModel. |

#### Returns

a newly allocated ExoIconBar, which is associated with `model` .

### exo_icon_bar_get_model ()

    GtkTreeModel *
    exo_icon_bar_get_model (ExoIconBar *icon_bar);

Returns the model the ExoIconBar is based on. Returns `NULL` if the model is unset.

#### Parameters

icon_bar | A ExoIconBar. |

#### Returns

A GtkTreeModel, or `NULL` if none is currently being used.

### exo_icon_bar_set_model ()

    void
    exo_icon_bar_set_model (ExoIconBar *icon_bar,
                            GtkTreeModel *model);

Sets the model for a ExoIconBar. If the `icon_bar` already has a model set, it will remove it before settings the new model. If `model` is `NULL`, then it will unset the old model.

#### Parameters

icon_bar | A ExoIconBar. |
model | A GtkTreeModel or `NULL`. |

### exo_icon_bar_get_pixbuf_column ()

    gint
    exo_icon_bar_get_pixbuf_column (ExoIconBar *icon_bar);

Returns the column with pixbufs for `icon_bar` .

#### Parameters

icon_bar | An ExoIconBar. |

#### Returns

the pixbuf column, or -1 if it's unset.

### exo_icon_bar_set_pixbuf_column ()

    void
    exo_icon_bar_set_pixbuf_column (ExoIconBar *icon_bar,
                                    gint column);

Sets the column with pixbufs for `icon_bar` to be `column` . The pixbuf column must be of type GDK_TYPE_PIXBUF.

#### Parameters

icon_bar | An ExoIconBar. |
column | A column in the currently used model. |

### exo_icon_bar_get_text_column ()

    gint
    exo_icon_bar_get_text_column (ExoIconBar *icon_bar);

Returns the column with text for `icon_bar` .

#### Parameters

icon_bar | An ExoIconBar. |

#### Returns

the text column, or -1 if it's unset.

### exo_icon_bar_set_text_column ()

    void
    exo_icon_bar_set_text_column (ExoIconBar *icon_bar,
                                  gint column);

Sets the column with text for `icon_bar` to be `column` . The text column must be of type G_TYPE_STRING.

#### Parameters

icon_bar | An ExoIconBar. |
column | A column in the currently used model or -1 to use no text in `icon_bar` . |

### exo_icon_bar_get_orientation ()

    GtkOrientation
    exo_icon_bar_get_orientation (ExoIconBar *icon_bar);

Retrieves the current orientation of the toolbar. See `exo_icon_bar_set_orientation()`.

#### Parameters

icon_bar | An ExoIconBar. |

#### Returns

The orientation of `icon_bar` .

### exo_icon_bar_set_orientation ()

    void
    exo_icon_bar_set_orientation (ExoIconBar *icon_bar,
                                  GtkOrientation orientation);

Sets whether the `icon_bar` should appear horizontally or vertically.

#### Parameters

icon_bar | An ExoIconBar. |
orientation | A new GtkOrientation. |

### exo_icon_bar_get_active ()

    gint
    exo_icon_bar_get_active (ExoIconBar *icon_bar);

Returns the index of the currently active item, or -1 if there's no active item.

#### Parameters

icon_bar | An ExoIconBar. |

#### Returns

An integer which is the index of the currently active item, or -1 if there's no active item.

### exo_icon_bar_set_active ()

    void
    exo_icon_bar_set_active (ExoIconBar *icon_bar,
                             gint idx);

Sets the active item of `icon_bar` to be the item at `idx` .

#### Parameters

icon_bar | An ExoIconBar. |
idx | An index in the model passed during construction, or -1 to have no active item. |

### exo_icon_bar_get_active_iter ()

    gboolean
    exo_icon_bar_get_active_iter (ExoIconBar *icon_bar,
                                  GtkTreeIter *iter);

Sets `iter` to point to the current active item, if it exists.

#### Parameters

icon_bar | An ExoIconBar. |
iter | An uninitialized GtkTreeIter. |

#### Returns

`TRUE` if `iter` was set.

### exo_icon_bar_set_active_iter ()

    void
    exo_icon_bar_set_active_iter (ExoIconBar *icon_bar,
                                  GtkTreeIter *iter);

Sets the current active item to be the one referenced by `iter` . `iter` must correspond to a path of depth one.

This can only be called if `icon_bar` is associated with GtkTreeModel.

#### Parameters

icon_bar | An ExoIconBar. |
iter | The GtkTreeIter. |

## Types and Values

### struct ExoIconBar

    struct ExoIconBar;

The ExoIconBar struct contains only private fields and should not be directly accessed.

## Property Details

### The `“active”` property

      “active”                   gint

The item which is currently active.

Allowed values: >= -1

Default value: -1

Flags: Read / Write

Allowed values: >= -1

Default value: -1

### The `“model”` property

      “model”                    GtkTreeModel *

The model for the icon bar.

Flags: Read / Write

### The `“orientation”` property

      “orientation”              GtkOrientation

The orientation of the icon bar.

Default value: `GTK_ORIENTATION_VERTICAL`

Flags: Read / Write

Default value: GTK_ORIENTATION_VERTICAL

### The `“pixbuf-column”` property

      “pixbuf-column”            gint

The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displyed. The pixbuf column must be of type GDK_TYPE_PIXBUF. Setting this property to -1 turns off the display of pixbufs.

Flags: Read / Write

Allowed values: >= -1

Default value: -1

### The `“text-column”` property

      “text-column”              gint

The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type G_TYPE_STRING. If this property is set to -1, no texts are displayed.

Flags: Read / Write

Allowed values: >= -1

Default value: -1

## Style Property Details

### The `“active-item-border-color”` style property

      “active-item-border-color” GdkColor *

Active item border color.

Flags: Read

### The `“active-item-fill-color”` style property

      “active-item-fill-color”   GdkColor *

Active item fill color.

Flags: Read

### The `“active-item-text-color”` style property

      “active-item-text-color”   GdkColor *

Active item text color.

Flags: Read

### The `“cursor-item-border-color”` style property

      “cursor-item-border-color” GdkColor *

Cursor item border color.

Flags: Read

### The `“cursor-item-fill-color”` style property

      “cursor-item-fill-color”   GdkColor *

Cursor item fill color.

Flags: Read

### The `“cursor-item-text-color”` style property

      “cursor-item-text-color”   GdkColor *

Cursor item text color.

Flags: Read

## Signal Details

### The `“selection-changed”` signal

    void
    user_function (ExoIconBar *icon_bar,
                   gpointer    user_data)

This signal is emitted whenever the currently selected icon changes.

#### Parameters

icon_bar | The ExoIconBar. |
user_data | user data set when the signal handler was connected. |

Flags: Run First

### The `“set-scroll-adjustments”` signal

    void
    user_function (ExoIconBar    *icon_bar,
                   GtkAdjustment *hadjustment,
                   GtkAdjustment *vadjustment,
                   gpointer       user_data)

Used internally to make the ExoIconBar scrollable.

#### Parameters

icon_bar | The ExoIconBar. |
hadjustment | The horizontal adjustment. |
vadjustment | The vertical adjustment. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

## See Also

GtkTreeModel, Tree and List Widget Overview