+Sun Aug 12 02:24:36 2001 Tim Janik <timj@gtk.org>
+
+ * gobject/tmpl/value_arrays.sgml: document value arrays.
+
2001-08-06 Sven Neumann <sven@gimp.org>
* docs/reference/gobject/gobject-sections.txt
</para>
+<!-- ##### MACRO G_IO_CHANNEL_DOS_LINE_TERM ##### -->
+<para>
+
+</para>
+
+
<!-- ##### MACRO G_IO_CHANNEL_ENCODE_RAW ##### -->
<para>
Encoding for nonbuffered IO. With this encoding, data must be
</para>
+<!-- ##### MACRO G_IO_CHANNEL_MACINTOSH_LINE_TERM ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_IO_CHANNEL_UNIX_LINE_TERM ##### -->
+<para>
+
+</para>
+
+
<!-- ##### MACRO access ##### -->
<para>
private and should only be accessed with the following functions.
</para>
-@ref_count:
-@funcs:
-@encoding:
-@read_cd:
-@write_cd:
-@line_term:
-@buf_size:
-@read_buf:
-@encoded_read_buf:
-@write_buf:
-@partial_write_buf:
-@use_buffer:
-@do_encode:
@close_on_unref:
-@is_readable:
-@is_writeable:
-@is_seekable:
<!-- ##### FUNCTION g_io_channel_unix_new ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION g_io_channel_read_unichar ##### -->
+<para>
+
+</para>
+
+@channel:
+@thechar:
+@error:
+@Returns:
+
+
<!-- ##### FUNCTION g_io_channel_read_line ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION g_io_channel_write_unichar ##### -->
+<para>
+
+</para>
+
+@channel:
+@thechar:
+@error:
+@Returns:
+
+
<!-- ##### FUNCTION g_io_channel_flush ##### -->
<para>
@G_IO_CHANNEL_ERROR_NXIO:
@G_IO_CHANNEL_ERROR_OVERFLOW:
@G_IO_CHANNEL_ERROR_PIPE:
-@G_IO_CHANNEL_ERROR_PCHAR_FLUSH:
@G_IO_CHANNEL_ERROR_FAILED:
<!-- ##### MACRO G_IO_CHANNEL_ERROR ##### -->
@line_term:
-<!-- ##### MACRO G_IO_CHANNEL_UNIX_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_IO_CHANNEL_DOS_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_IO_CHANNEL_MACINTOSH_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-
<!-- ##### FUNCTION g_io_channel_get_buffered ##### -->
<para>
<!entity gobject-Varargs-Value-Collection SYSTEM "sgml/value_collection.sgml">
<!entity gobject-Signals SYSTEM "sgml/signals.sgml">
<!entity gobject-Closures SYSTEM "sgml/closures.sgml">
+<!entity gobject-Value-Arrays SYSTEM "sgml/value_arrays.sgml">
]>
<book id="index">
<bookinfo>
&gobject-Standard-Parameter-Types;
&gobject-Signals;
&gobject-Closures;
+ &gobject-Value-Arrays;
</reference>
G_TYPE_CHECK_VALUE_TYPE
G_TYPE_FLAG_RESERVED_ID_BIT
g_type_init
+g_type_init_with_debug_flags
g_type_name
g_type_qname
g_type_from_name
g_type_parent
+g_type_depth
g_type_next_base
g_type_is_a
g_type_fundamental_branch_last
g_type_interfaces
g_type_set_qdata
g_type_get_qdata
+g_type_query
GBaseInitFunc
GBaseFinalizeFunc
GClassInitFunc
g_type_register_fundamental
g_type_add_interface_static
g_type_add_interface_dynamic
+g_type_interface_add_prerequisite
g_type_get_plugin
g_type_interface_get_plugin
g_type_fundamental_last
G_VALUE_HOLDS_OBJECT
g_object_class_install_property
g_object_class_find_property
+g_object_class_list_properties
g_object_new
+g_object_newv
g_object_ref
g_object_unref
g_object_weak_ref
g_object_set_valist
g_object_get_valist
g_object_watch_closure
+g_object_run_dispose
g_value_set_object
g_value_get_object
g_value_dup_object
<TITLE>Value arrays</TITLE>
<FILE>value_arrays</FILE>
GValueArray
+g_value_array_get_nth
g_value_array_new
g_value_array_copy
g_value_array_free
G_PARAM_SPEC_DOUBLE
G_IS_PARAM_SPEC_STRING
G_PARAM_SPEC_STRING
-G_IS_PARAM_SPEC_POINTER
-G_PARAM_SPEC_POINTER
-G_IS_PARAM_SPEC_BOXED
-G_PARAM_SPEC_BOXED
G_IS_PARAM_SPEC_PARAM
G_PARAM_SPEC_PARAM
+G_IS_PARAM_SPEC_BOXED
+G_PARAM_SPEC_BOXED
+G_IS_PARAM_SPEC_POINTER
+G_PARAM_SPEC_POINTER
+G_IS_PARAM_SPEC_VALUE_ARRAY
+G_PARAM_SPEC_VALUE_ARRAY
+G_IS_PARAM_SPEC_CLOSURE
+G_PARAM_SPEC_CLOSURE
G_IS_PARAM_SPEC_OBJECT
G_PARAM_SPEC_OBJECT
GParamSpecChar
GParamSpecUInt
GParamSpecLong
GParamSpecULong
+GParamSpecUnichar
GParamSpecEnum
GParamSpecFlags
GParamSpecFloat
GParamSpecDouble
GParamSpecString
-GParamSpecBoxed
GParamSpecParam
+GParamSpecBoxed
GParamSpecPointer
+GParamSpecValueArray
+GParamSpecClosure
GParamSpecObject
g_param_spec_char
g_param_spec_uchar
g_param_spec_uint
g_param_spec_long
g_param_spec_ulong
+g_param_spec_unichar
g_param_spec_enum
g_param_spec_flags
g_param_spec_float
g_param_spec_double
g_param_spec_string
-g_param_spec_string_c
-g_param_spec_boxed
g_param_spec_param
+g_param_spec_boxed
g_param_spec_pointer
+g_param_spec_value_array
+g_param_spec_closure
g_param_spec_object
</SECTION>
G_SIGNAL_TYPE_STATIC_SCOPE
G_SIGNAL_MATCH_MASK
G_SIGNAL_FLAGS_MASK
-g_signal_newc
+g_signal_new
g_signal_newv
g_signal_new_valist
g_signal_query
g_signal_emitv
g_signal_emit_valist
g_signal_connect_data
+g_signal_connect
+g_signal_connect_after
+g_signal_connect_swapped
g_signal_connect_object
g_signal_connect_closure
g_signal_connect_closure_by_id
g_signal_handlers_block_matched
g_signal_handlers_unblock_matched
g_signal_handlers_disconnect_matched
+g_signal_handler_is_connected
+g_signal_handlers_block_by_func
+g_signal_handlers_unblock_by_func
+g_signal_handlers_disconnect_by_func
g_signal_has_handler_pending
g_signal_stop_emission
+g_signal_stop_emission_by_name
+g_signal_add_emission_hook
g_signal_add_emission_hook_full
g_signal_remove_emission_hook
g_signal_parse_name
g_cclosure_new_object_swap
g_closure_new_object
g_closure_ref
+g_closure_sink
g_closure_unref
g_closure_invoke
g_closure_invalidate
-g_closure_add_fnotify
-g_closure_remove_fnotify
-g_closure_add_inotify
-g_closure_remove_inotify
+g_closure_add_finalize_notifier
+g_closure_add_invalidate_notifier
+g_closure_remove_finalize_notifier
+g_closure_remove_invalidate_notifier
g_closure_new_simple
g_closure_set_marshal
g_closure_add_marshal_guards
@Returns:
+<!-- ##### FUNCTION g_closure_sink ##### -->
+<para>
+
+</para>
+
+@closure:
+
+
<!-- ##### FUNCTION g_closure_unref ##### -->
<para>
@closure:
+<!-- ##### FUNCTION g_closure_add_finalize_notifier ##### -->
+<para>
+
+</para>
+
+@closure:
+@notify_data:
+@notify_func:
+
+
+<!-- ##### FUNCTION g_closure_add_invalidate_notifier ##### -->
+<para>
+
+</para>
+
+@closure:
+@notify_data:
+@notify_func:
+
+
+<!-- ##### FUNCTION g_closure_remove_finalize_notifier ##### -->
+<para>
+
+</para>
+
+@closure:
+@notify_data:
+@notify_func:
+
+
+<!-- ##### FUNCTION g_closure_remove_invalidate_notifier ##### -->
+<para>
+
+</para>
+
+@closure:
+@notify_data:
+@notify_func:
+
+
<!-- ##### FUNCTION g_closure_new_simple ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION g_object_class_list_properties ##### -->
+<para>
+
+</para>
+
+@oclass:
+@n_properties:
+@Returns:
+
+
<!-- ##### FUNCTION g_object_new ##### -->
<para>
@first_param_name:
+<!-- ##### FUNCTION g_object_newv ##### -->
+<para>
+
+</para>
+
+@object_type:
+@n_parameters:
+@parameters:
+@Returns:
+
+
<!-- ##### FUNCTION g_object_ref ##### -->
<para>
@closure:
+<!-- ##### FUNCTION g_object_run_dispose ##### -->
+<para>
+
+</para>
+
+@object:
+
+
<!-- ##### FUNCTION g_value_set_object ##### -->
<para>
+<!-- ##### FUNCTION g_signal_new ##### -->
+<para>
+
+</para>
+
+@signal_name:
+@itype:
+@signal_flags:
+@class_offset:
+@accumulator:
+@accu_data:
+@c_marshaller:
+@return_type:
+@n_params:
+@Varargs:
+@Returns:
+
+
<!-- ##### FUNCTION g_signal_newv ##### -->
<para>
@after:
+<!-- ##### MACRO g_signal_connect ##### -->
+<para>
+
+</para>
+
+@instance:
+@detailed_signal:
+@c_handler:
+@data:
+
+
+<!-- ##### MACRO g_signal_connect_after ##### -->
+<para>
+
+</para>
+
+@instance:
+@detailed_signal:
+@c_handler:
+@data:
+
+
+<!-- ##### MACRO g_signal_connect_swapped ##### -->
+<para>
+
+</para>
+
+@instance:
+@detailed_signal:
+@c_handler:
+@data:
+
+
<!-- ##### FUNCTION g_signal_connect_object ##### -->
<para>
@Returns: The amount of handlers that got disconnected.
+<!-- ##### FUNCTION g_signal_handler_is_connected ##### -->
+<para>
+
+</para>
+
+@instance:
+@handler_id:
+@Returns:
+
+
+<!-- ##### MACRO g_signal_handlers_block_by_func ##### -->
+<para>
+
+</para>
+
+@instance:
+@func:
+@data:
+
+
+<!-- ##### MACRO g_signal_handlers_unblock_by_func ##### -->
+<para>
+
+</para>
+
+@instance:
+@func:
+@data:
+
+
+<!-- ##### MACRO g_signal_handlers_disconnect_by_func ##### -->
+<para>
+
+</para>
+
+@instance:
+@func:
+@data:
+
+
<!-- ##### FUNCTION g_signal_has_handler_pending ##### -->
<para>
@detail:
+<!-- ##### FUNCTION g_signal_stop_emission_by_name ##### -->
+<para>
+
+</para>
+
+@instance:
+@detailed_signal:
+
+
+<!-- ##### FUNCTION g_signal_add_emission_hook ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@quark:
+@hook_func:
+@hook_data:
+@data_destroy:
+@Returns:
+
+
<!-- ##### FUNCTION g_signal_remove_emission_hook ##### -->
<para>
@pspec:
-<!-- ##### MACRO G_IS_PARAM_SPEC_POINTER ##### -->
+<!-- ##### MACRO G_IS_PARAM_SPEC_PARAM ##### -->
<para>
</para>
@pspec:
-<!-- ##### MACRO G_PARAM_SPEC_POINTER ##### -->
+<!-- ##### MACRO G_PARAM_SPEC_PARAM ##### -->
<para>
</para>
@pspec:
-<!-- ##### MACRO G_IS_PARAM_SPEC_PARAM ##### -->
+<!-- ##### MACRO G_IS_PARAM_SPEC_POINTER ##### -->
<para>
</para>
@pspec:
-<!-- ##### MACRO G_PARAM_SPEC_PARAM ##### -->
+<!-- ##### MACRO G_PARAM_SPEC_POINTER ##### -->
+<para>
+
+</para>
+
+@pspec:
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_VALUE_ARRAY ##### -->
+<para>
+
+</para>
+
+@pspec:
+
+
+<!-- ##### MACRO G_PARAM_SPEC_VALUE_ARRAY ##### -->
+<para>
+
+</para>
+
+@pspec:
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_CLOSURE ##### -->
+<para>
+
+</para>
+
+@pspec:
+
+
+<!-- ##### MACRO G_PARAM_SPEC_CLOSURE ##### -->
<para>
</para>
@maximum:
@default_value:
+<!-- ##### STRUCT GParamSpecUnichar ##### -->
+<para>
+
+</para>
+
+@parent_instance:
+@default_value:
+
<!-- ##### STRUCT GParamSpecEnum ##### -->
<para>
@null_fold_if_empty:
@ensure_non_null:
-<!-- ##### STRUCT GParamSpecBoxed ##### -->
+<!-- ##### STRUCT GParamSpecParam ##### -->
<para>
</para>
@parent_instance:
-<!-- ##### STRUCT GParamSpecParam ##### -->
+<!-- ##### STRUCT GParamSpecBoxed ##### -->
<para>
</para>
@parent_instance:
+<!-- ##### STRUCT GParamSpecValueArray ##### -->
+<para>
+
+</para>
+
+@parent_instance:
+@element_spec:
+@fixed_n_elements:
+
+<!-- ##### STRUCT GParamSpecClosure ##### -->
+<para>
+
+</para>
+
+@parent_instance:
+
<!-- ##### STRUCT GParamSpecObject ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION g_param_spec_unichar ##### -->
+<para>
+
+</para>
+
+@name:
+@nick:
+@blurb:
+@default_value:
+@flags:
+@Returns:
+
+
<!-- ##### FUNCTION g_param_spec_enum ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION g_param_spec_param ##### -->
+<para>
+
+</para>
+
+@name:
+@nick:
+@blurb:
+@param_type:
+@flags:
+@Returns:
+
+
<!-- ##### FUNCTION g_param_spec_boxed ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION g_param_spec_param ##### -->
+<!-- ##### FUNCTION g_param_spec_pointer ##### -->
<para>
</para>
@name:
@nick:
@blurb:
-@param_type:
@flags:
@Returns:
-<!-- ##### FUNCTION g_param_spec_pointer ##### -->
+<!-- ##### FUNCTION g_param_spec_value_array ##### -->
+<para>
+
+</para>
+
+@name:
+@nick:
+@blurb:
+@element_spec:
+@flags:
+@Returns:
+
+
+<!-- ##### FUNCTION g_param_spec_closure ##### -->
<para>
</para>
@debug_flags: Bitwise combination of #GTypeDebugFlags values for debugging purposes.
+<!-- ##### FUNCTION g_type_init_with_debug_flags ##### -->
+<para>
+
+</para>
+
+@debug_flags:
+
+
<!-- ##### FUNCTION g_type_name ##### -->
<para>
Return the unique name that is assigned to a type ID (this is the preferred method
@Returns: The parent type.
+<!-- ##### FUNCTION g_type_depth ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
<!-- ##### FUNCTION g_type_next_base ##### -->
<para>
Given a @leaf_type and a @root_type which is contained in its anchestry, return
@Returns:
+<!-- ##### FUNCTION g_type_query ##### -->
+<para>
+
+</para>
+
+@type:
+@query:
+
+
<!-- ##### USER_FUNCTION GBaseInitFunc ##### -->
<para>
A callback function used by the type system to do base initialization
@plugin:
+<!-- ##### FUNCTION g_type_interface_add_prerequisite ##### -->
+<para>
+
+</para>
+
+@interface_type:
+@prerequisite_type:
+
+
<!-- ##### FUNCTION g_type_get_plugin ##### -->
<para>
Returns the the #GTypePlugin structure for @type or
Value arrays
<!-- ##### SECTION Short_Description ##### -->
-
+A #GValueArray is a container structure to maintain an array of #GValue elements.
<!-- ##### SECTION Long_Description ##### -->
<para>
-
+The prime purpose of a #GValueArray is for it to be used as an object property
+that holds an array of values. A #GValueArray wraps an array of #GValue elements
+in order for it to be used as a boxed type through %G_TYPE_VALUE_ARRAY.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
-
+#GValue, #GParamSpecValueArray
</para>
<!-- ##### STRUCT GValueArray ##### -->
<para>
+</para>
+@n_values: number of values contained in the array
+@values: array of values
+
+<!-- ##### FUNCTION g_value_array_get_nth ##### -->
+<para>
+Return a pointer to the value at @index containd in @value_array.
</para>
-@n_values:
-@values:
+@value_array: #GValueArray to get a value from
+@index: index of the value of interest
+@Returns: pointer to a value at @index in @value_array
+
<!-- ##### FUNCTION g_value_array_new ##### -->
<para>
-
+Allocate and initialize a new #GValueArray, optionally preserve space
+for @n_prealloced elements. New arrays always contain 0 elements,
+regardless of the value of @n_prealloced.
</para>
-@n_prealloced:
-@Returns:
+@n_prealloced: number of values to preallocate space for
+@Returns: a newly allocated #GValueArray with 0 values
<!-- ##### FUNCTION g_value_array_copy ##### -->
<para>
-
+Construct an exact copy of a #GValueArray by duplicating all its
+contents.
</para>
-@value_array:
-@Returns:
+@value_array: #GValueArray to copy
+@Returns: Newly allocated copy of #GValueArray
<!-- ##### FUNCTION g_value_array_free ##### -->
<para>
-
+Free a #GValueArray including its contents.
</para>
@value_array:
<!-- ##### FUNCTION g_value_array_append ##### -->
<para>
-
+Insert a copy of @value as last element of @value_array.
</para>
-@value_array:
-@value:
-@Returns:
+@value_array: #GValueArray to add an element to
+@value: #GValue to copy into #GValueArray
+@Returns: the #GValueArray passed in as @value_array
<!-- ##### FUNCTION g_value_array_prepend ##### -->
<para>
-
+Insert a copy of @value as first element of @value_array.
</para>
-@value_array:
-@value:
-@Returns:
+@value_array: #GValueArray to add an element to
+@value: #GValue to copy into #GValueArray
+@Returns: the #GValueArray passed in as @value_array
<!-- ##### FUNCTION g_value_array_insert ##### -->
<para>
-
+Insert a copy of @value at specified position into @value_array.
</para>
-@value_array:
-@index:
-@value:
-@Returns:
+@value_array: #GValueArray to add an element to
+@index: insertion position, must be <= value_array->n_values
+@value: #GValue to copy into #GValueArray
+@Returns: the #GValueArray passed in as @value_array
<!-- ##### FUNCTION g_value_array_remove ##### -->
<para>
-
+Remove the value at position @index from @value_array.
</para>
-@value_array:
-@index:
-@Returns:
+@value_array: #GValueArray to remove an element from
+@index: position of value to remove, must be < value_array->n_values
+@Returns: the #GValueArray passed in as @value_array
<!-- ##### FUNCTION g_value_array_sort ##### -->
<para>
+Sort @value_array using @compare_func to compare the elements accoring to
+the semantics of #GCompareFunc.
+</para>
+<para>
+The current implementation uses Quick-Sort as sorting algorithm.
</para>
-@value_array:
-@compare_func:
-@Returns:
+@value_array: #GValueArray to sort
+@compare_func: function to compare elements
+@Returns: the #GValueArray passed in as @value_array
<!-- ##### FUNCTION g_value_array_sort_with_data ##### -->
<para>
+Sort @value_array using @compare_func to compare the elements accoring
+to the semantics of #GCompareDataFunc.
+</para>
+<para>
+The current implementation uses Quick-Sort as sorting algorithm.
</para>
-@value_array:
-@compare_func:
-@user_data:
-@Returns:
+@value_array: #GValueArray to sort
+@compare_func: function to compare elements
+@user_data: extra data argument provided for @compare_func
+@Returns: the #GValueArray passed in as @value_array