## MxItemView MxItemView — a flow layout driven by a model. |

## Synopsis

                        MxItemView;
                        MxItemViewClass;
    ClutterActor *      mx_item_view_new                    (void);
    void                mx_item_view_set_model              (MxItemView *item_view,
                                                             ClutterModel *model);
    ClutterModel *      mx_item_view_get_model              (MxItemView *item_view);
    void                mx_item_view_set_item_type          (MxItemView *item_view,
                                                             GType item_type);
    GType               mx_item_view_get_item_type          (MxItemView *item_view);
    void                mx_item_view_add_attribute          (MxItemView *item_view,
                                                             const gchar *attribute,
                                                             gint column);
    void                mx_item_view_freeze                 (MxItemView *item_view);
    void                mx_item_view_thaw                   (MxItemView *item_view);
    void                mx_item_view_set_factory            (MxItemView *item_view,
                                                             MxItemFactory *factory);
    MxItemFactory *     mx_item_view_get_factory            (MxItemView *item_view);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----MxWidget
                         +----MxGrid
                               +----MxItemView

## Implemented Interfaces

MxItemView implements ClutterContainer, ClutterScriptable, ClutterAnimatable, AtkImplementorIface, MxStylable, MxScrollable and MxFocusable.

## Properties

      "factory"                  GObject*              : Read / Write
      "item-type"                GType*                : Read / Write
      "model"                    ClutterModel*         : Read / Write

## Description

MxItemView is a flow layout container driven by a ClutterModel. Children are created for each row in the model, either by creating actors from the supplied ClutterActor derived type, or from a MxItemFactory.

Data is set on the children by mapping columns in the model to object properties on the children.

## Details

### MxItemView

    typedef struct _MxItemView MxItemView;

The contents of the this structure are private and should only be accessed through the public API.

### MxItemViewClass

    typedef struct {
      MxGridClass parent_class;

      /* padding for future expansion */
      void (*_padding_0) (void);
      void (*_padding_1) (void);
      void (*_padding_2) (void);
      void (*_padding_3) (void);
      void (*_padding_4) (void);
    } MxItemViewClass;

### mx_item_view_new ()

    ClutterActor *      mx_item_view_new                    (void);

Create a new MxItemView

Returns : | a newly allocated MxItemView

### mx_item_view_set_model ()

    void                mx_item_view_set_model              (MxItemView *item_view,
                                                             ClutterModel *model);

Set the model used by the MxItemView

`item_view` : | An MxItemView
`model` : | A ClutterModel

### mx_item_view_get_model ()

    ClutterModel *      mx_item_view_get_model              (MxItemView *item_view);

Get the model currently used by the MxItemView

`item_view` : | An MxItemView
Returns : | the current ClutterModel. [transfer none]

### mx_item_view_set_item_type ()

    void                mx_item_view_set_item_type          (MxItemView *item_view,
                                                             GType item_type);

Set the item type used to create items representing each row in the model

`item_view` : | An MxItemView
`item_type` : | A GType

### mx_item_view_get_item_type ()

    GType               mx_item_view_get_item_type          (MxItemView *item_view);

Get the item type currently being used to create items

`item_view` : | An MxItemView
Returns : | a GType

### mx_item_view_add_attribute ()

    void                mx_item_view_add_attribute          (MxItemView *item_view,
                                                             const gchar *attribute,
                                                             gint column);

Adds an attribute mapping between the current model and the objects from the cell renderer.

`item_view` : | An MxItemView
`attribute` : | Name of the attribute
`column` : | Column number

### mx_item_view_freeze ()

    void                mx_item_view_freeze                 (MxItemView *item_view);

Freeze the view. This means that the view will not act on changes to the model until it is thawed. Call mx_item_view_thaw to thaw the view

`item_view` : | An MxItemView

### mx_item_view_thaw ()

    void                mx_item_view_thaw                   (MxItemView *item_view);

Thaw the view. This means that the view will now act on changes to the model.

`item_view` : | An MxItemView

### mx_item_view_set_factory ()

    void                mx_item_view_set_factory            (MxItemView *item_view,
                                                             MxItemFactory *factory);

Sets `factory` to be the factory used for creating new items

`item_view` : | A MxItemView
`factory` : | A MxItemFactory. [allow-none]

### mx_item_view_get_factory ()

    MxItemFactory *     mx_item_view_get_factory            (MxItemView *item_view);

Gets the MxItemFactory used for creating new items.

`item_view` : | A MxItemView
Returns : | A MxItemFactory. [transfer none]

## Property Details

### The `"factory"` property

      "factory"                  GObject*              : Read / Write

The MxItemFactory used for creating new items.

### The `"item-type"` property

      "item-type"                GType*                : Read / Write

The GType to use as the items in the view. Must be a subclass of ClutterActor.

Allowed values: ClutterActor

### The `"model"` property

      "model"                    ClutterModel*         : Read / Write

The model for the item view.