ExoIconBar

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

## Synopsis

    #include <exo/exo.h>

                ExoIconBar;
    GtkWidget*  exo_icon_bar_new                (void);
    GtkWidget*  exo_icon_bar_new_with_model     (GtkTreeModel *model);
    GtkTreeModel* exo_icon_bar_get_model        (ExoIconBar *icon_bar);
    void        exo_icon_bar_set_model          (ExoIconBar *icon_bar,
                                                 GtkTreeModel *model);
    gint        exo_icon_bar_get_pixbuf_column  (ExoIconBar *icon_bar);
    void        exo_icon_bar_set_pixbuf_column  (ExoIconBar *icon_bar,
                                                 gint column);
    gint        exo_icon_bar_get_text_column    (ExoIconBar *icon_bar);
    void        exo_icon_bar_set_text_column    (ExoIconBar *icon_bar,
                                                 gint column);
    GtkOrientation exo_icon_bar_get_orientation (ExoIconBar *icon_bar);
    void        exo_icon_bar_set_orientation    (ExoIconBar *icon_bar,
                                                 GtkOrientation orientation);
    gint        exo_icon_bar_get_active         (ExoIconBar *icon_bar);
    void        exo_icon_bar_set_active         (ExoIconBar *icon_bar,
                                                 gint index);
    gboolean    exo_icon_bar_get_active_iter    (ExoIconBar *icon_bar,
                                                 GtkTreeIter *iter);
    void        exo_icon_bar_set_active_iter    (ExoIconBar *icon_bar,
                                                 GtkTreeIter *iter);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----ExoIconBar

## Implemented Interfaces

ExoIconBar implements AtkImplementorIface.

## Properties

      "active"               gint                  : Read / Write
      "model"                GtkTreeModel          : Read / Write
      "orientation"          GtkOrientation        : Read / Write
      "pixbuf-column"        gint                  : Read / Write
      "text-column"          gint                  : Read / Write

## Style Properties

      "active-item-border-color" GdkColor              : Read
      "active-item-fill-color" GdkColor              : Read
      "active-item-text-color" GdkColor              : Read
      "cursor-item-border-color" GdkColor              : Read
      "cursor-item-fill-color" GdkColor              : Read
      "cursor-item-text-color" GdkColor              : Read

## Signal Prototypes

    "selection-changed"
                void        user_function      (ExoIconBar *icon_bar,
                                                gpointer user_data);
    "set-scroll-adjustments"
                void        user_function      (ExoIconBar *icon_bar,
                                                GtkAdjustment *hadjustment,
                                                GtkAdjustment *vadjustment,
                                                gpointer user_data);

## 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... */
    }

## Details

### ExoIconBar

    typedef struct _ExoIconBar ExoIconBar;

### exo_icon_bar_new ()

    GtkWidget*  exo_icon_bar_new                (void);

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`.

`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.

`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.

`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`.

`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.

`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`.

`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.

`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()`.

`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.

`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.

`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 index);

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

`icon_bar` : | An ExoIconBar.
`index` : | 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.

`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.

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

## Properties

### The "`active`" property

      "active"               gint                  : Read / Write

The item which is currently active.

Allowed values: >= -1

Default value: -1

Allowed values: >= -1

Default value: -1

### The "`model`" property

      "model"                GtkTreeModel          : Read / Write

The model for the icon bar.

### The "`orientation`" property

      "orientation"          GtkOrientation        : Read / Write

The orientation of the icon bar.

Default value: `GTK_ORIENTATION_VERTICAL`

Default value: GTK_ORIENTATION_VERTICAL

### The "`pixbuf-column`" property

      "pixbuf-column"        gint                  : Read / Write

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.

Allowed values: >= -1

Default value: -1

### The "`text-column`" property

      "text-column"          gint                  : Read / Write

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.

Allowed values: >= -1

Default value: -1

## Style Properties

### The "`active-item-border-color`" style property

      "active-item-border-color" GdkColor              : Read

Active item border color.

### The "`active-item-fill-color`" style property

      "active-item-fill-color" GdkColor              : Read

Active item fill color.

### The "`active-item-text-color`" style property

      "active-item-text-color" GdkColor              : Read

Active item text color.

### The "`cursor-item-border-color`" style property

      "cursor-item-border-color" GdkColor              : Read

Cursor item border color.

### The "`cursor-item-fill-color`" style property

      "cursor-item-fill-color" GdkColor              : Read

Cursor item fill color.

### The "`cursor-item-text-color`" style property

      "cursor-item-text-color" GdkColor              : Read

Cursor item text color.

## Signals

### The "selection-changed" signal

    void        user_function                  (ExoIconBar *icon_bar,
                                                gpointer user_data);

This signal is emitted whenever the currently selected icon changes.

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

### 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.

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

## See Also

GtkTreeModel, Tree and List Widget Overview