GimpValueArray

GimpValueArray — A container structure to maintain an array of generic values

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── GimpValueArray

Description

The prime purpose of a GimpValueArray is for it to be used as an object property that holds an array of values. A GimpValueArray wraps an array of GValue elements in order for it to be used as a boxed type through GIMP_TYPE_VALUE_ARRAY.

Functions

gimp_value_array_new ()

GimpValueArray *
gimp_value_array_new (gint n_prealloced);

Allocate and initialize a new GimpValueArray, optionally preserve space for n_prealloced elements. New arrays always contain 0 elements, regardless of the value of n_prealloced .

Parameters

n_prealloced

number of values to preallocate space for

 

Returns

a newly allocated GimpValueArray with 0 values

Since: 2.10


gimp_value_array_new_from_types ()

GimpValueArray *
gimp_value_array_new_from_types (gchar **error_msg,
                                 GType first_type,
                                 ...);

Allocate and initialize a new GimpValueArray, and fill it with values that are given as a list of (GType, value) pairs, terminated by G_TYPE_NONE.

Parameters

error_msg

return location for an error message.

 

first_type

first type in the array, or G_TYPE_NONE.

 

...

the remaining types in the array, terminated by G_TYPE_NONE

 

Returns

a newly allocated GimpValueArray, or NULL if an error happened.

[nullable]

Since: 3.0


gimp_value_array_new_from_types_valist ()

GimpValueArray *
gimp_value_array_new_from_types_valist
                               (gchar **error_msg,
                                GType first_type,
                                va_list va_args);

Allocate and initialize a new GimpValueArray, and fill it with va_args given in the order as passed to gimp_value_array_new_from_types().

Parameters

error_msg

return location for an error message.

 

first_type

first type in the array, or G_TYPE_NONE.

 

va_args

a va_list of GTypes and values, terminated by G_TYPE_NONE

 

Returns

a newly allocated GimpValueArray, or NULL if an error happened.

[nullable]

Since: 3.0


gimp_value_array_ref ()

GimpValueArray *
gimp_value_array_ref (GimpValueArray *value_array);

Adds a reference to a GimpValueArray.

Parameters

value_array

GimpValueArray to ref

 

Returns

the same value_array

Since: 2.10


gimp_value_array_unref ()

void
gimp_value_array_unref (GimpValueArray *value_array);

Unref a GimpValueArray. If the reference count drops to zero, the array including its contents are freed.

Parameters

value_array

GimpValueArray to unref

 

Since: 2.10


gimp_value_array_length ()

gint
gimp_value_array_length (const GimpValueArray *value_array);

gimp_value_array_index ()

GValue *
gimp_value_array_index (const GimpValueArray *value_array,
                        gint index);

Return a pointer to the value at index contained in value_array .

Parameters

value_array

GimpValueArray to get a value from

 

index

index of the value of interest

 

Returns

pointer to a value at index in value_array .

[transfer none]

Since: 2.10


gimp_value_array_prepend ()

GimpValueArray *
gimp_value_array_prepend (GimpValueArray *value_array,
                          const GValue *value);

Insert a copy of value as first element of value_array . If value is NULL, an uninitialized value is prepended.

Parameters

value_array

GimpValueArray to add an element to

 

value

GValue to copy into GimpValueArray, or NULL.

[allow-none]

Returns

the GimpValueArray passed in as value_array .

[transfer none]

Since: 2.10


gimp_value_array_append ()

GimpValueArray *
gimp_value_array_append (GimpValueArray *value_array,
                         const GValue *value);

Insert a copy of value as last element of value_array . If value is NULL, an uninitialized value is appended.

Parameters

value_array

GimpValueArray to add an element to

 

value

GValue to copy into GimpValueArray, or NULL.

[allow-none]

Returns

the GimpValueArray passed in as value_array .

[transfer none]

Since: 2.10


gimp_value_array_insert ()

GimpValueArray *
gimp_value_array_insert (GimpValueArray *value_array,
                         gint index,
                         const GValue *value);

Insert a copy of value at specified position into value_array . If value is NULL, an uninitialized value is inserted.

Parameters

value_array

GimpValueArray to add an element to

 

index

insertion position, must be <= gimp_value_array_length()

 

value

GValue to copy into GimpValueArray, or NULL.

[allow-none]

Returns

the GimpValueArray passed in as value_array .

[transfer none]

Since: 2.10


gimp_value_array_remove ()

GimpValueArray *
gimp_value_array_remove (GimpValueArray *value_array,
                         gint index);

Remove the value at position index from value_array .

Parameters

value_array

GimpValueArray to remove an element from

 

index

position of value to remove, which must be less than gimp_value_array_length()

 

Returns

the GimpValueArray passed in as value_array .

[transfer none]

Since: 2.10


gimp_value_array_truncate ()

void
gimp_value_array_truncate (GimpValueArray *value_array,
                           gint n_values);

gimp_param_spec_value_array ()

GParamSpec *
gimp_param_spec_value_array (const gchar *name,
                             const gchar *nick,
                             const gchar *blurb,
                             GParamSpec *element_spec,
                             GParamFlags flags);

Creates a new GimpParamSpecValueArray specifying a G_TYPE_VALUE_ARRAY property.

See g_param_spec_internal() for details on property names.

Parameters

name

Canonical name of the property specified.

 

nick

Nick name of the property specified.

 

blurb

Description of the property specified.

 

element_spec

GParamSpec the contained array's elements have comply to, or NULL.

[nullable]

flags

Flags for the property specified.

 

Returns

The newly created GimpParamSpecValueArray.

[transfer full]

Since: 3.0

Types and Values

GimpValueArray

typedef struct _GimpValueArray GimpValueArray;

A GimpValueArray contains an array of GValue elements.

Since: 2.10


struct GimpParamSpecValueArray

struct GimpParamSpecValueArray {
  GParamSpec  parent_instance;
  GParamSpec *element_spec;
  gint        fixed_n_elements;
};

A GParamSpec derived structure that contains the meta data for value array properties.

Members

GParamSpec *element_spec;

the GParamSpec of the array elements

 

gint fixed_n_elements;

default length of the array

 

See Also

GValue, GParamSpecValueArray, gimp_param_spec_value_array()