ClutterModelIter

ClutterModelIter — Iterates through a model

Synopsis

                    ClutterModelIter;
                    ClutterModelIterClass;
ClutterModelIter*   clutter_model_iter_copy             (ClutterModelIter *iter);

void                clutter_model_iter_get              (ClutterModelIter *iter,
                                                         ...);
void                clutter_model_iter_get_valist       (ClutterModelIter *iter,
                                                         va_list args);
void                clutter_model_iter_get_value        (ClutterModelIter *iter,
                                                         guint column,
                                                         GValue *value);
void                clutter_model_iter_set              (ClutterModelIter *iter,
                                                         ...);
void                clutter_model_iter_set_valist       (ClutterModelIter *iter,
                                                         va_list args);
void                clutter_model_iter_set_value        (ClutterModelIter *iter,
                                                         guint column,
                                                         const GValue *value);

gboolean            clutter_model_iter_is_first         (ClutterModelIter *iter);
gboolean            clutter_model_iter_is_last          (ClutterModelIter *iter);
ClutterModelIter*   clutter_model_iter_next             (ClutterModelIter *iter);
ClutterModelIter*   clutter_model_iter_prev             (ClutterModelIter *iter);

ClutterModel*       clutter_model_iter_get_model        (ClutterModelIter *iter);
guint               clutter_model_iter_get_row          (ClutterModelIter *iter);

Object Hierarchy

  GObject
   +----ClutterModelIter

Properties

  "model"                    ClutterModel*         : Read / Write
  "row"                      guint                 : Read / Write

Description

ClutterModelIter is an object used for iterating through all the rows of a ClutterModel. It allows setting and getting values on the row which is currently pointing at.

A ClutterModelIter represents a position between two elements of the sequence. For example, the iterator returned by clutter_model_get_first_iter() represents the gap immediately before the first row of the ClutterModel, and the iterator returned by clutter_model_get_last_iter() represents the gap immediately after the last row.

A ClutterModelIter can only be created by a ClutterModel implementation and it is valid as long as the model does not change.

ClutterModelIter is available since Clutter 0.6

Details

ClutterModelIter

typedef struct _ClutterModelIter ClutterModelIter;

Base class for list models iters. The ClutterModelIter structure contains only private data and should be manipulated using the provided API.

Since 0.6


ClutterModelIterClass

typedef struct {
  /* vtable not signals */
  void              (* get_value) (ClutterModelIter *iter, 
                                   guint             column, 
                                   GValue           *value);
  void              (* set_value) (ClutterModelIter *iter, 
                                   guint             column, 
                                   const GValue     *value);

  gboolean          (* is_first)  (ClutterModelIter *iter);
  gboolean          (* is_last)   (ClutterModelIter *iter);

  ClutterModelIter *(* next)      (ClutterModelIter *iter);
  ClutterModelIter *(* prev)      (ClutterModelIter *iter);

  ClutterModel *    (* get_model) (ClutterModelIter *iter);
  guint             (* get_row)   (ClutterModelIter *iter);

  ClutterModelIter *(* copy)      (ClutterModelIter *iter);
} ClutterModelIterClass;

Class for ClutterModelIter instances.

get_value ()

Virtual function for retrieving the value at the given column of the row pointed by the iterator

set_value ()

Virtual function for setting the value at the given column of the row pointer by the iterator

is_first ()

Virtual function for knowing whether the iterator points at the first row in the model

is_last ()

Virtual function for knowing whether the iterator points at the last row in the model

next ()

Virtual function for moving the iterator to the following row in the model

prev ()

Virtual function for moving the iterator toe the previous row in the model

get_model ()

Virtual function for getting the model to which the iterator belongs to

get_row ()

Virtual function for getting the row to which the iterator points

copy ()

Virtual function for copying a ClutterModelIter.

Since 0.6


clutter_model_iter_copy ()

ClutterModelIter*   clutter_model_iter_copy             (ClutterModelIter *iter);

Copies the passed iterator.

iter :

a ClutterModelIter

Returns :

a copy of the iterator, or NULL

Since 0.8


clutter_model_iter_get ()

void                clutter_model_iter_get              (ClutterModelIter *iter,
                                                         ...);

Gets the value of one or more cells in the row referenced by iter. The variable argument list should contain integer column numbers, each column column number followed by a place to store the value being retrieved. The list is terminated by a -1.

For example, to get a value from column 0 with type G_TYPE_STRING use:

  clutter_model_iter_get (iter, 0, &place_string_here, -1);

where place_string_here is a gchar* to be filled with the string. If appropriate, the returned values have to be freed or unreferenced.

iter :

a ClutterModelIter

... :

a list of column/return location pairs, terminated by -1

Since 0.6


clutter_model_iter_get_valist ()

void                clutter_model_iter_get_valist       (ClutterModelIter *iter,
                                                         va_list args);

See clutter_model_iter_get(). This version takes a va_list for language bindings.

iter :

a ClutterModelIter

args :

a list of column/return location pairs, terminated by -1

Since 0.6


clutter_model_iter_get_value ()

void                clutter_model_iter_get_value        (ClutterModelIter *iter,
                                                         guint column,
                                                         GValue *value);

Sets an initializes value to that at column. When done with value, g_value_unset() needs to be called to free any allocated memory.

iter :

a ClutterModelIter

column :

column number to retrieve the value from

value :

an empty GValue to set

Since 0.6


clutter_model_iter_set ()

void                clutter_model_iter_set              (ClutterModelIter *iter,
                                                         ...);

Sets the value of one or more cells in the row referenced by iter. The variable argument list should contain integer column numbers, each column column number followed by the value to be set. The list is terminated by a -1.

For example, to set column 0 with type G_TYPE_STRING, use:

  clutter_model_iter_set (iter, 0, "foo", -1);

iter :

a ClutterModelIter

... :

a list of column/return location pairs, terminated by -1

Since 0.6


clutter_model_iter_set_valist ()

void                clutter_model_iter_set_valist       (ClutterModelIter *iter,
                                                         va_list args);

See clutter_model_iter_set(); this version takes a va_list for language bindings.

iter :

a ClutterModelIter

args :

va_list of column/value pairs, terminiated by -1

Since 0.6


clutter_model_iter_set_value ()

void                clutter_model_iter_set_value        (ClutterModelIter *iter,
                                                         guint column,
                                                         const GValue *value);

Sets the data in the cell specified by iter and column. The type of value must be convertable to the type of the column.

iter :

a ClutterModelIter

column :

column number to retrieve the value from

value :

new value for the cell

Since 0.6


clutter_model_iter_is_first ()

gboolean            clutter_model_iter_is_first         (ClutterModelIter *iter);

Gets whether the current iterator is at the beginning of the model to which it belongs.

iter :

a ClutterModelIter

Returns :

TRUE if iter is the first iter in the filtered model

Since 0.6


clutter_model_iter_is_last ()

gboolean            clutter_model_iter_is_last          (ClutterModelIter *iter);

Gets whether the iterator is at the end of the model to which it belongs.

iter :

a ClutterModelIter

Returns :

TRUE if iter is the last iter in the filtered model.

Since 0.6


clutter_model_iter_next ()

ClutterModelIter*   clutter_model_iter_next             (ClutterModelIter *iter);

Updates the iter to point at the next position in the model. The model implementation should take into account the presence of a filter function.

iter :

a ClutterModelIter

Returns :

The passed iterator, updated to point at the next row in the model.

Since 0.6


clutter_model_iter_prev ()

ClutterModelIter*   clutter_model_iter_prev             (ClutterModelIter *iter);

Sets the iter to point at the previous position in the model. The model implementation should take into account the presence of a filter function.

iter :

a ClutterModelIter

Returns :

The passed iterator, updated to point at the previous row in the model.

Since 0.6


clutter_model_iter_get_model ()

ClutterModel*       clutter_model_iter_get_model        (ClutterModelIter *iter);

Retrieves a pointer to the ClutterModel that this iter is part of.

iter :

a ClutterModelIter

Returns :

a pointer to a ClutterModel.

Since 0.6


clutter_model_iter_get_row ()

guint               clutter_model_iter_get_row          (ClutterModelIter *iter);

Retrieves the position of the row that the iter points to.

iter :

a ClutterModelIter

Returns :

the position of the iter in the model

Since 0.6

Property Details

The "model" property

  "model"                    ClutterModel*         : Read / Write

A reference to the ClutterModel that this iter belongs to.

Since 0.6


The "row" property

  "row"                      guint                 : Read / Write

The row number to which this iter points to.

Default value: 0

Since 0.6