1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Standard Parameter and Value Types
7 <!-- ##### SECTION Long_Description ##### -->
9 #GValue provides an abstract container structure which can be copied,
10 transformed and compared while holding a value of any (derived) type, which
11 is registered as a #GType with a #GTypeValueTable in its #GTypeInfo structure.
12 Parameter specifications for most value types can be created as
13 #GParamSpec derived instances, to implement e.g. #GObject properties which
14 operate on #GValue containers.
17 <!-- ##### SECTION See_Also ##### -->
19 #GParamSpec, #GValue, g_object_class_install_property().
22 <!-- ##### MACRO G_IS_PARAM_SPEC_BOOLEAN ##### -->
24 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
27 @pspec: a valid #GParamSpec instance
30 <!-- ##### MACRO G_PARAM_SPEC_BOOLEAN ##### -->
32 Cast a #GParamSpec instance into a #GParamSpecBoolean.
35 @pspec: a valid #GParamSpec instance
38 <!-- ##### MACRO G_VALUE_HOLDS_BOOLEAN ##### -->
40 Return whether the given #GValue can hold values of type %G_TYPE_BOOLEAN.
43 @value: a valid #GValue structure
46 <!-- ##### MACRO G_TYPE_PARAM_BOOLEAN ##### -->
48 The #GType of #GParamSpecBoolean.
53 <!-- ##### STRUCT GParamSpecBoolean ##### -->
55 A #GParamSpec derived structure that contains the meta data for boolean properties.
58 @parent_instance: private #GParamSpec portion
59 @default_value: default value for the property specified
61 <!-- ##### FUNCTION g_param_spec_boolean ##### -->
63 Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN
67 See g_param_spec_internal() for details on property names.
70 @name: canonical name of the property specified
71 @nick: nick name for the property specified
72 @blurb: description of the property specified
73 @default_value: default value for the property specified
74 @flags: flags for the property specified
75 @Returns: a newly created parameter specification
78 <!-- ##### FUNCTION g_value_set_boolean ##### -->
80 Set the contents of a %G_TYPE_BOOLEAN #GValue to @v_boolean.
83 @value: a valid #GValue of type %G_TYPE_BOOLEAN
84 @v_boolean: boolean value to be set
87 <!-- ##### FUNCTION g_value_get_boolean ##### -->
89 Get the contents of a %G_TYPE_BOOLEAN #GValue.
92 @value: a valid #GValue of type %G_TYPE_BOOLEAN
93 @Returns: boolean contents of @value
96 <!-- ##### MACRO G_IS_PARAM_SPEC_CHAR ##### -->
98 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
101 @pspec: a valid #GParamSpec instance
104 <!-- ##### MACRO G_PARAM_SPEC_CHAR ##### -->
106 Cast a #GParamSpec instance into a #GParamSpecChar.
109 @pspec: a valid #GParamSpec instance
112 <!-- ##### MACRO G_VALUE_HOLDS_CHAR ##### -->
114 Return whether the given #GValue can hold values of type %G_TYPE_CHAR.
117 @value: a valid #GValue structure
120 <!-- ##### MACRO G_TYPE_PARAM_CHAR ##### -->
122 The #GType of #GParamSpecChar.
127 <!-- ##### STRUCT GParamSpecChar ##### -->
129 A #GParamSpec derived structure that contains the meta data for character properties.
132 @parent_instance: private #GParamSpec portion
133 @minimum: minimum value for the property specified
134 @maximum: maximum value for the property specified
135 @default_value: default value for the property specified
137 <!-- ##### FUNCTION g_param_spec_char ##### -->
139 Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR property.
142 @name: canonical name of the property specified
143 @nick: nick name for the property specified
144 @blurb: description of the property specified
145 @minimum: minimum value for the property specified
146 @maximum: maximum value for the property specified
147 @default_value: default value for the property specified
148 @flags: flags for the property specified
149 @Returns: a newly created parameter specification
152 <!-- ##### FUNCTION g_value_set_char ##### -->
154 Set the contents of a %G_TYPE_CHAR #GValue to @v_char.
157 @value: a valid #GValue of type %G_TYPE_CHAR
158 @v_char: character value to be set
161 <!-- ##### FUNCTION g_value_get_char ##### -->
163 Get the contents of a %G_TYPE_CHAR #GValue.
166 @value: a valid #GValue of type %G_TYPE_CHAR
167 @Returns: character contents of @value
170 <!-- ##### MACRO G_IS_PARAM_SPEC_UCHAR ##### -->
172 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
175 @pspec: a valid #GParamSpec instance
178 <!-- ##### MACRO G_PARAM_SPEC_UCHAR ##### -->
180 Cast a #GParamSpec instance into a #GParamSpecUChar.
183 @pspec: a valid #GParamSpec instance
186 <!-- ##### MACRO G_VALUE_HOLDS_UCHAR ##### -->
188 Return whether the given #GValue can hold values of type %G_TYPE_UCHAR.
191 @value: a valid #GValue structure
194 <!-- ##### MACRO G_TYPE_PARAM_UCHAR ##### -->
196 The #GType of #GParamSpecUChar.
201 <!-- ##### STRUCT GParamSpecUChar ##### -->
203 A #GParamSpec derived structure that contains the meta data for unsigned character properties.
206 @parent_instance: private #GParamSpec portion
207 @minimum: minimum value for the property specified
208 @maximum: maximum value for the property specified
209 @default_value: default value for the property specified
211 <!-- ##### FUNCTION g_param_spec_uchar ##### -->
213 Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR property.
216 @name: canonical name of the property specified
217 @nick: nick name for the property specified
218 @blurb: description of the property specified
219 @minimum: minimum value for the property specified
220 @maximum: maximum value for the property specified
221 @default_value: default value for the property specified
222 @flags: flags for the property specified
223 @Returns: a newly created parameter specification
226 <!-- ##### FUNCTION g_value_set_uchar ##### -->
228 Set the contents of a %G_TYPE_UCHAR #GValue to @v_uchar.
231 @value: a valid #GValue of type %G_TYPE_UCHAR
232 @v_uchar: unsigned character value to be set
235 <!-- ##### FUNCTION g_value_get_uchar ##### -->
237 Get the contents of a %G_TYPE_UCHAR #GValue.
240 @value: a valid #GValue of type %G_TYPE_UCHAR
241 @Returns: unsigned character contents of @value
244 <!-- ##### MACRO G_IS_PARAM_SPEC_INT ##### -->
246 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
249 @pspec: a valid #GParamSpec instance
252 <!-- ##### MACRO G_PARAM_SPEC_INT ##### -->
254 Cast a #GParamSpec instance into a #GParamSpecInt.
257 @pspec: a valid #GParamSpec instance
260 <!-- ##### MACRO G_VALUE_HOLDS_INT ##### -->
262 Return whether the given #GValue can hold values of type %G_TYPE_INT.
265 @value: a valid #GValue structure
268 <!-- ##### MACRO G_TYPE_PARAM_INT ##### -->
270 The #GType of #GParamSpecInt.
275 <!-- ##### STRUCT GParamSpecInt ##### -->
277 A #GParamSpec derived structure that contains the meta data for integer properties.
280 @parent_instance: private #GParamSpec portion
281 @minimum: minimum value for the property specified
282 @maximum: maximum value for the property specified
283 @default_value: default value for the property specified
285 <!-- ##### FUNCTION g_param_spec_int ##### -->
287 Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property.
290 See g_param_spec_internal() for details on property names.
293 @name: canonical name of the property specified
294 @nick: nick name for the property specified
295 @blurb: description of the property specified
296 @minimum: minimum value for the property specified
297 @maximum: maximum value for the property specified
298 @default_value: default value for the property specified
299 @flags: flags for the property specified
300 @Returns: a newly created parameter specification
303 <!-- ##### FUNCTION g_value_set_int ##### -->
305 Set the contents of a %G_TYPE_INT #GValue to @v_int.
308 @value: a valid #GValue of type %G_TYPE_INT
309 @v_int: integer value to be set
312 <!-- ##### FUNCTION g_value_get_int ##### -->
314 Get the contents of a %G_TYPE_INT #GValue.
317 @value: a valid #GValue of type %G_TYPE_INT
318 @Returns: integer contents of @value
321 <!-- ##### MACRO G_IS_PARAM_SPEC_UINT ##### -->
323 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
326 @pspec: a valid #GParamSpec instance
329 <!-- ##### MACRO G_PARAM_SPEC_UINT ##### -->
331 Cast a #GParamSpec instance into a #GParamSpecUInt.
334 @pspec: a valid #GParamSpec instance
337 <!-- ##### MACRO G_VALUE_HOLDS_UINT ##### -->
339 Return whether the given #GValue can hold values of type %G_TYPE_UINT.
342 @value: a valid #GValue structure
345 <!-- ##### MACRO G_TYPE_PARAM_UINT ##### -->
347 The #GType of #GParamSpecUInt.
352 <!-- ##### STRUCT GParamSpecUInt ##### -->
354 A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
357 @parent_instance: private #GParamSpec portion
358 @minimum: minimum value for the property specified
359 @maximum: maximum value for the property specified
360 @default_value: default value for the property specified
362 <!-- ##### FUNCTION g_param_spec_uint ##### -->
364 Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT property.
367 See g_param_spec_internal() for details on property names.
370 @name: canonical name of the property specified
371 @nick: nick name for the property specified
372 @blurb: description of the property specified
373 @minimum: minimum value for the property specified
374 @maximum: maximum value for the property specified
375 @default_value: default value for the property specified
376 @flags: flags for the property specified
377 @Returns: a newly created parameter specification
380 <!-- ##### FUNCTION g_value_set_uint ##### -->
382 Set the contents of a %G_TYPE_UINT #GValue to @v_uint.
385 @value: a valid #GValue of type %G_TYPE_UINT
386 @v_uint: unsigned integer value to be set
389 <!-- ##### FUNCTION g_value_get_uint ##### -->
391 Get the contents of a %G_TYPE_UINT #GValue.
394 @value: a valid #GValue of type %G_TYPE_UINT
395 @Returns: unsigned integer contents of @value
398 <!-- ##### MACRO G_IS_PARAM_SPEC_LONG ##### -->
400 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
403 @pspec: a valid #GParamSpec instance
406 <!-- ##### MACRO G_PARAM_SPEC_LONG ##### -->
408 Cast a #GParamSpec instance into a #GParamSpecLong.
411 @pspec: a valid #GParamSpec instance
414 <!-- ##### MACRO G_VALUE_HOLDS_LONG ##### -->
416 Return whether the given #GValue can hold values of type %G_TYPE_LONG.
419 @value: a valid #GValue structure
422 <!-- ##### MACRO G_TYPE_PARAM_LONG ##### -->
424 The #GType of #GParamSpecLong.
429 <!-- ##### STRUCT GParamSpecLong ##### -->
431 A #GParamSpec derived structure that contains the meta data for long integer properties.
434 @parent_instance: private #GParamSpec portion
435 @minimum: minimum value for the property specified
436 @maximum: maximum value for the property specified
437 @default_value: default value for the property specified
439 <!-- ##### FUNCTION g_param_spec_long ##### -->
441 Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG property.
444 See g_param_spec_internal() for details on property names.
447 @name: canonical name of the property specified
448 @nick: nick name for the property specified
449 @blurb: description of the property specified
450 @minimum: minimum value for the property specified
451 @maximum: maximum value for the property specified
452 @default_value: default value for the property specified
453 @flags: flags for the property specified
454 @Returns: a newly created parameter specification
457 <!-- ##### FUNCTION g_value_set_long ##### -->
459 Set the contents of a %G_TYPE_LONG #GValue to @v_long.
462 @value: a valid #GValue of type %G_TYPE_LONG
463 @v_long: long integer value to be set
466 <!-- ##### FUNCTION g_value_get_long ##### -->
468 Get the contents of a %G_TYPE_LONG #GValue.
471 @value: a valid #GValue of type %G_TYPE_LONG
472 @Returns: long integer contents of @value
475 <!-- ##### MACRO G_IS_PARAM_SPEC_ULONG ##### -->
477 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
480 @pspec: a valid #GParamSpec instance
483 <!-- ##### MACRO G_PARAM_SPEC_ULONG ##### -->
485 Cast a #GParamSpec instance into a #GParamSpecULong.
488 @pspec: a valid #GParamSpec instance
491 <!-- ##### MACRO G_VALUE_HOLDS_ULONG ##### -->
493 Return whether the given #GValue can hold values of type %G_TYPE_ULONG.
496 @value: a valid #GValue structure
499 <!-- ##### MACRO G_TYPE_PARAM_ULONG ##### -->
501 The #GType of #GParamSpecULong.
506 <!-- ##### STRUCT GParamSpecULong ##### -->
508 A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
511 @parent_instance: private #GParamSpec portion
512 @minimum: minimum value for the property specified
513 @maximum: maximum value for the property specified
514 @default_value: default value for the property specified
516 <!-- ##### FUNCTION g_param_spec_ulong ##### -->
518 Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG property.
521 See g_param_spec_internal() for details on property names.
524 @name: canonical name of the property specified
525 @nick: nick name for the property specified
526 @blurb: description of the property specified
527 @minimum: minimum value for the property specified
528 @maximum: maximum value for the property specified
529 @default_value: default value for the property specified
530 @flags: flags for the property specified
531 @Returns: a newly created parameter specification
534 <!-- ##### FUNCTION g_value_set_ulong ##### -->
536 Set the contents of a %G_TYPE_ULONG #GValue to @v_ulong.
539 @value: a valid #GValue of type %G_TYPE_ULONG
540 @v_ulong: unsigned long integer value to be set
543 <!-- ##### FUNCTION g_value_get_ulong ##### -->
545 Get the contents of a %G_TYPE_ULONG #GValue.
548 @value: a valid #GValue of type %G_TYPE_ULONG
549 @Returns: unsigned long integer contents of @value
552 <!-- ##### MACRO G_IS_PARAM_SPEC_INT64 ##### -->
554 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
557 @pspec: a valid #GParamSpec instance
560 <!-- ##### MACRO G_PARAM_SPEC_INT64 ##### -->
562 Cast a #GParamSpec instance into a #GParamSpecInt64.
565 @pspec: a valid #GParamSpec instance
568 <!-- ##### MACRO G_VALUE_HOLDS_INT64 ##### -->
570 Return whether the given #GValue can hold values of type %G_TYPE_INT64.
573 @value: a valid #GValue structure
576 <!-- ##### MACRO G_TYPE_PARAM_INT64 ##### -->
578 The #GType of #GParamSpecInt64.
583 <!-- ##### STRUCT GParamSpecInt64 ##### -->
585 A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
588 @parent_instance: private #GParamSpec portion
589 @minimum: minimum value for the property specified
590 @maximum: maximum value for the property specified
591 @default_value: default value for the property specified
593 <!-- ##### FUNCTION g_param_spec_int64 ##### -->
595 Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64 property.
598 See g_param_spec_internal() for details on property names.
601 @name: canonical name of the property specified
602 @nick: nick name for the property specified
603 @blurb: description of the property specified
604 @minimum: minimum value for the property specified
605 @maximum: maximum value for the property specified
606 @default_value: default value for the property specified
607 @flags: flags for the property specified
608 @Returns: a newly created parameter specification
611 <!-- ##### FUNCTION g_value_set_int64 ##### -->
613 Set the contents of a %G_TYPE_INT64 #GValue to @v_int64.
616 @value: a valid #GValue of type %G_TYPE_INT64
617 @v_int64: 64bit integer value to be set
620 <!-- ##### FUNCTION g_value_get_int64 ##### -->
622 Get the contents of a %G_TYPE_INT64 #GValue.
625 @value: a valid #GValue of type %G_TYPE_INT64
626 @Returns: 64bit integer contents of @value
629 <!-- ##### MACRO G_IS_PARAM_SPEC_UINT64 ##### -->
631 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
634 @pspec: a valid #GParamSpec instance
637 <!-- ##### MACRO G_PARAM_SPEC_UINT64 ##### -->
639 Cast a #GParamSpec instance into a #GParamSpecUInt64.
642 @pspec: a valid #GParamSpec instance
645 <!-- ##### MACRO G_VALUE_HOLDS_UINT64 ##### -->
647 Return whether the given #GValue can hold values of type %G_TYPE_UINT64.
650 @value: a valid #GValue structure
653 <!-- ##### MACRO G_TYPE_PARAM_UINT64 ##### -->
655 The #GType of #GParamSpecUInt64.
660 <!-- ##### STRUCT GParamSpecUInt64 ##### -->
662 A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
665 @parent_instance: private #GParamSpec portion
666 @minimum: minimum value for the property specified
667 @maximum: maximum value for the property specified
668 @default_value: default value for the property specified
670 <!-- ##### FUNCTION g_param_spec_uint64 ##### -->
672 Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64
676 See g_param_spec_internal() for details on property names.
679 @name: canonical name of the property specified
680 @nick: nick name for the property specified
681 @blurb: description of the property specified
682 @minimum: minimum value for the property specified
683 @maximum: maximum value for the property specified
684 @default_value: default value for the property specified
685 @flags: flags for the property specified
686 @Returns: a newly created parameter specification
689 <!-- ##### FUNCTION g_value_set_uint64 ##### -->
691 Set the contents of a %G_TYPE_UINT64 #GValue to @v_uint64.
694 @value: a valid #GValue of type %G_TYPE_UINT64
695 @v_uint64: unsigned 64bit integer value to be set
698 <!-- ##### FUNCTION g_value_get_uint64 ##### -->
700 Get the contents of a %G_TYPE_UINT64 #GValue.
703 @value: a valid #GValue of type %G_TYPE_UINT64
704 @Returns: unsigned 64bit integer contents of @value
707 <!-- ##### MACRO G_IS_PARAM_SPEC_FLOAT ##### -->
709 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
712 @pspec: a valid #GParamSpec instance
715 <!-- ##### MACRO G_PARAM_SPEC_FLOAT ##### -->
717 Cast a #GParamSpec instance into a #GParamSpecFloat.
720 @pspec: a valid #GParamSpec instance
723 <!-- ##### MACRO G_VALUE_HOLDS_FLOAT ##### -->
725 Return whether the given #GValue can hold values of type %G_TYPE_FLOAT.
728 @value: a valid #GValue structure
731 <!-- ##### MACRO G_TYPE_PARAM_FLOAT ##### -->
733 The #GType of #GParamSpecFloat.
738 <!-- ##### STRUCT GParamSpecFloat ##### -->
740 A #GParamSpec derived structure that contains the meta data for float properties.
743 @parent_instance: private #GParamSpec portion
744 @minimum: minimum value for the property specified
745 @maximum: maximum value for the property specified
746 @default_value: default value for the property specified
749 <!-- ##### FUNCTION g_param_spec_float ##### -->
751 Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT property.
754 See g_param_spec_internal() for details on property names.
757 @name: canonical name of the property specified
758 @nick: nick name for the property specified
759 @blurb: description of the property specified
760 @minimum: minimum value for the property specified
761 @maximum: maximum value for the property specified
762 @default_value: default value for the property specified
763 @flags: flags for the property specified
764 @Returns: a newly created parameter specification
767 <!-- ##### FUNCTION g_value_set_float ##### -->
769 Set the contents of a %G_TYPE_FLOAT #GValue to @v_float.
772 @value: a valid #GValue of type %G_TYPE_FLOAT
773 @v_float: float value to be set
776 <!-- ##### FUNCTION g_value_get_float ##### -->
778 Get the contents of a %G_TYPE_FLOAT #GValue.
781 @value: a valid #GValue of type %G_TYPE_FLOAT
782 @Returns: float contents of @value
785 <!-- ##### MACRO G_IS_PARAM_SPEC_DOUBLE ##### -->
787 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
790 @pspec: a valid #GParamSpec instance
793 <!-- ##### MACRO G_PARAM_SPEC_DOUBLE ##### -->
795 Cast a #GParamSpec instance into a #GParamSpecDouble.
798 @pspec: a valid #GParamSpec instance
801 <!-- ##### MACRO G_VALUE_HOLDS_DOUBLE ##### -->
803 Return whether the given #GValue can hold values of type %G_TYPE_DOUBLE.
806 @value: a valid #GValue structure
809 <!-- ##### MACRO G_TYPE_PARAM_DOUBLE ##### -->
811 The #GType of #GParamSpecDouble.
816 <!-- ##### STRUCT GParamSpecDouble ##### -->
818 A #GParamSpec derived structure that contains the meta data for double properties.
821 @parent_instance: private #GParamSpec portion
822 @minimum: minimum value for the property specified
823 @maximum: maximum value for the property specified
824 @default_value: default value for the property specified
827 <!-- ##### FUNCTION g_param_spec_double ##### -->
829 Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE
833 See g_param_spec_internal() for details on property names.
836 @name: canonical name of the property specified
837 @nick: nick name for the property specified
838 @blurb: description of the property specified
839 @minimum: minimum value for the property specified
840 @maximum: maximum value for the property specified
841 @default_value: default value for the property specified
842 @flags: flags for the property specified
843 @Returns: a newly created parameter specification
846 <!-- ##### FUNCTION g_value_set_double ##### -->
848 Set the contents of a %G_TYPE_DOUBLE #GValue to @v_double.
851 @value: a valid #GValue of type %G_TYPE_DOUBLE
852 @v_double: double value to be set
855 <!-- ##### FUNCTION g_value_get_double ##### -->
857 Get the contents of a %G_TYPE_DOUBLE #GValue.
860 @value: a valid #GValue of type %G_TYPE_DOUBLE
861 @Returns: double contents of @value
864 <!-- ##### MACRO G_IS_PARAM_SPEC_ENUM ##### -->
866 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
869 @pspec: a valid #GParamSpec instance
872 <!-- ##### MACRO G_PARAM_SPEC_ENUM ##### -->
874 Cast a #GParamSpec instance into a #GParamSpecEnum.
877 @pspec: a valid #GParamSpec instance
880 <!-- ##### MACRO G_VALUE_HOLDS_ENUM ##### -->
882 Return whether the given #GValue can hold values derived from type %G_TYPE_ENUM.
885 @value: a valid #GValue structure
888 <!-- ##### MACRO G_TYPE_PARAM_ENUM ##### -->
890 The #GType of #GParamSpecEnum.
895 <!-- ##### STRUCT GParamSpecEnum ##### -->
897 A #GParamSpec derived structure that contains the meta data for enum
901 @parent_instance: private #GParamSpec portion
902 @enum_class: the #GEnumClass for the enum
903 @default_value: default value for the property specified
905 <!-- ##### FUNCTION g_param_spec_enum ##### -->
907 Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM
911 See g_param_spec_internal() for details on property names.
914 @name: canonical name of the property specified
915 @nick: nick name for the property specified
916 @blurb: description of the property specified
917 @enum_type: a #GType derived from %G_TYPE_ENUM
918 @default_value: default value for the property specified
919 @flags: flags for the property specified
920 @Returns: a newly created parameter specification
923 <!-- ##### FUNCTION g_value_set_enum ##### -->
925 Set the contents of a %G_TYPE_ENUM #GValue to @v_enum.
928 @value: a valid #GValue whose type is derived from %G_TYPE_ENUM
929 @v_enum: enum value to be set
932 <!-- ##### FUNCTION g_value_get_enum ##### -->
934 Get the contents of a %G_TYPE_ENUM #GValue.
937 @value: a valid #GValue whose type is derived from %G_TYPE_ENUM
938 @Returns: enum contents of @value
941 <!-- ##### MACRO G_IS_PARAM_SPEC_FLAGS ##### -->
943 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
946 @pspec: a valid #GParamSpec instance
949 <!-- ##### MACRO G_PARAM_SPEC_FLAGS ##### -->
951 Cast a #GParamSpec instance into a #GParamSpecFlags.
954 @pspec: a valid #GParamSpec instance
957 <!-- ##### MACRO G_VALUE_HOLDS_FLAGS ##### -->
959 Returns whether the given #GValue can hold values derived from type %G_TYPE_FLAGS.
962 @value: a valid #GValue structure
965 <!-- ##### MACRO G_TYPE_PARAM_FLAGS ##### -->
967 The #GType of #GParamSpecFlags.
972 <!-- ##### STRUCT GParamSpecFlags ##### -->
974 A #GParamSpec derived structure that contains the meta data for flags
978 @parent_instance: private #GParamSpec portion
979 @flags_class: the #GFlagsClass for the flags
980 @default_value: default value for the property specified
982 <!-- ##### FUNCTION g_param_spec_flags ##### -->
984 Creates a new #GParamSpecEnum instance specifying a %G_TYPE_FLAGS
988 See g_param_spec_internal() for details on property names.
991 @name: canonical name of the property specified
992 @nick: nick name for the property specified
993 @blurb: description of the property specified
994 @flags_type: a #GType derived from %G_TYPE_FLAGS
995 @default_value: default value for the property specified
996 @flags: flags for the property specified
997 @Returns: a newly created parameter specification
1000 <!-- ##### FUNCTION g_value_set_flags ##### -->
1002 Set the contents of a %G_TYPE_FLAGS #GValue to @v_flags.
1005 @value: a valid #GValue whose type is derived from %G_TYPE_FLAGS
1006 @v_flags: flags value to be set
1009 <!-- ##### FUNCTION g_value_get_flags ##### -->
1011 Get the contents of a %G_TYPE_FLAGS #GValue.
1014 @value: a valid #GValue whose type is derived from %G_TYPE_FLAGS
1015 @Returns: flags contents of @value
1018 <!-- ##### MACRO G_IS_PARAM_SPEC_STRING ##### -->
1020 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
1023 @pspec: a valid #GParamSpec instance
1026 <!-- ##### MACRO G_PARAM_SPEC_STRING ##### -->
1028 Casts a #GParamSpec instance into a #GParamSpecString.
1031 @pspec: a valid #GParamSpec instance
1034 <!-- ##### MACRO G_VALUE_HOLDS_STRING ##### -->
1036 Return whether the given #GValue can hold values of type %G_TYPE_STRING.
1039 @value: a valid #GValue structure
1042 <!-- ##### MACRO G_TYPE_PARAM_STRING ##### -->
1044 The #GType of #GParamSpecString.
1049 <!-- ##### STRUCT GParamSpecString ##### -->
1051 A #GParamSpec derived structure that contains the meta data for string
1055 @parent_instance: private #GParamSpec portion
1056 @default_value: default value for the property specified
1057 @cset_first: a string containing the allowed values for the first byte
1058 @cset_nth: a string containing the allowed values for the subsequent bytes
1059 @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.
1060 @null_fold_if_empty: replace empty string by %NULL
1061 @ensure_non_null: replace %NULL strings by an empty string
1063 <!-- ##### TYPEDEF gchararray ##### -->
1065 A C representable type name for #G_TYPE_STRING.
1069 <!-- ##### FUNCTION g_param_spec_string ##### -->
1071 Creates a new #GParamSpecString instance.
1074 See g_param_spec_internal() for details on property names.
1077 @name: canonical name of the property specified
1078 @nick: nick name for the property specified
1079 @blurb: description of the property specified
1080 @default_value: default value for the property specified
1081 @flags: flags for the property specified
1082 @Returns: a newly created parameter specification
1085 <!-- ##### FUNCTION g_value_set_string ##### -->
1087 Set the contents of a %G_TYPE_STRING #GValue to @v_string.
1090 @value: a valid #GValue of type %G_TYPE_STRING
1091 @v_string: string to be set
1094 <!-- ##### FUNCTION g_value_set_static_string ##### -->
1096 Set the contents of a %G_TYPE_STRING #GValue to @v_string.
1097 The string is assumed to be static, and is thus not duplicated
1098 when setting the #GValue.
1101 @value: a valid #GValue of type %G_TYPE_STRING
1102 @v_string: static string to be set
1105 <!-- ##### FUNCTION g_value_take_string ##### -->
1107 Sets the contents of a %G_TYPE_STRING #GValue to @v_string.
1110 @value: a valid #GValue of type %G_TYPE_STRING
1111 @v_string: duplicated unowned string to be set
1115 <!-- ##### FUNCTION g_value_set_string_take_ownership ##### -->
1117 This is an internal function introduced mainly for C marshallers.
1120 @value: a valid #GValue of type %G_TYPE_STRING
1121 @v_string: duplicated unowned string to be set
1122 @Deprecated: Use g_value_take_string() instead.
1125 <!-- ##### FUNCTION g_value_get_string ##### -->
1127 Get the contents of a %G_TYPE_STRING #GValue.
1130 @value: a valid #GValue of type %G_TYPE_STRING
1131 @Returns: string content of @value
1134 <!-- ##### FUNCTION g_value_dup_string ##### -->
1136 Get a copy the contents of a %G_TYPE_STRING #GValue.
1139 @value: a valid #GValue of type %G_TYPE_STRING
1140 @Returns: a newly allocated copy of the string content of @value
1143 <!-- ##### MACRO G_IS_PARAM_SPEC_PARAM ##### -->
1145 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
1148 @pspec: a valid #GParamSpec instance
1151 <!-- ##### MACRO G_PARAM_SPEC_PARAM ##### -->
1153 Casts a #GParamSpec instance into a #GParamSpecParam.
1156 @pspec: a valid #GParamSpec instance
1159 <!-- ##### MACRO G_VALUE_HOLDS_PARAM ##### -->
1161 Return whether the given #GValue can hold values derived from type %G_TYPE_PARAM.
1164 @value: a valid #GValue structure
1167 <!-- ##### MACRO G_TYPE_PARAM_PARAM ##### -->
1169 The #GType of #GParamSpecParam.
1174 <!-- ##### STRUCT GParamSpecParam ##### -->
1176 A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
1180 @parent_instance: private #GParamSpec portion
1182 <!-- ##### FUNCTION g_param_spec_param ##### -->
1184 Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
1188 See g_param_spec_internal() for details on property names.
1191 @name: canonical name of the property specified
1192 @nick: nick name for the property specified
1193 @blurb: description of the property specified
1194 @param_type: a #GType derived from %G_TYPE_PARAM
1195 @flags: flags for the property specified
1196 @Returns: a newly created parameter specification
1197 <!-- # Unused Parameters # -->
1198 @default_value: default value for the property specified
1201 <!-- ##### FUNCTION g_value_set_param ##### -->
1203 Set the contents of a %G_TYPE_PARAM #GValue to @param.
1206 @value: a valid #GValue of type %G_TYPE_PARAM
1207 @param: the #GParamSpec to be set
1210 <!-- ##### FUNCTION g_value_take_param ##### -->
1212 Sets the contents of a %G_TYPE_PARAM #GValue to @param and
1213 takes over the ownership of the callers reference to @param;
1214 the caller doesn't have to unref it any more.
1217 @value: a valid #GValue of type %G_TYPE_PARAM
1218 @param: the #GParamSpec to be set
1222 <!-- ##### FUNCTION g_value_set_param_take_ownership ##### -->
1224 This is an internal function introduced mainly for C marshallers.
1227 @value: a valid #GValue of type %G_TYPE_PARAM
1228 @param: the #GParamSpec to be set
1229 @Deprecated: Use g_value_take_param() instead.
1232 <!-- ##### FUNCTION g_value_get_param ##### -->
1234 Get the contents of a %G_TYPE_PARAM #GValue.
1237 @value: a valid #GValue whose type is derived from %G_TYPE_PARAM
1238 @Returns: #GParamSpec content of @value
1241 <!-- ##### FUNCTION g_value_dup_param ##### -->
1243 Get the contents of a %G_TYPE_PARAM #GValue, increasing its reference count.
1246 @value: a valid #GValue whose type is derived from %G_TYPE_PARAM
1247 @Returns: #GParamSpec content of @value, should be unreferenced when no longer needed.
1250 <!-- ##### MACRO G_IS_PARAM_SPEC_BOXED ##### -->
1252 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
1255 @pspec: a valid #GParamSpec instance
1258 <!-- ##### MACRO G_PARAM_SPEC_BOXED ##### -->
1260 Cast a #GParamSpec instance into a #GParamSpecBoxed.
1263 @pspec: a valid #GParamSpec instance
1266 <!-- ##### MACRO G_VALUE_HOLDS_BOXED ##### -->
1268 Return whether the given #GValue can hold values derived from type %G_TYPE_BOXED.
1271 @value: a valid #GValue structure
1274 <!-- ##### MACRO G_TYPE_PARAM_BOXED ##### -->
1276 The #GType of #GParamSpecBoxed.
1281 <!-- ##### STRUCT GParamSpecBoxed ##### -->
1283 A #GParamSpec derived structure that contains the meta data for boxed properties.
1286 @parent_instance: private #GParamSpec portion
1288 <!-- ##### FUNCTION g_param_spec_boxed ##### -->
1290 Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED
1294 See g_param_spec_internal() for details on property names.
1297 @name: canonical name of the property specified
1298 @nick: nick name for the property specified
1299 @blurb: description of the property specified
1300 @boxed_type: %G_TYPE_BOXED derived type of this property
1301 @flags: flags for the property specified
1302 @Returns: a newly created parameter specification
1305 <!-- ##### FUNCTION g_value_set_boxed ##### -->
1307 Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.
1310 @value: a valid #GValue of %G_TYPE_BOXED derived type
1311 @v_boxed: boxed value to be set
1314 <!-- ##### FUNCTION g_value_set_static_boxed ##### -->
1316 Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.
1317 The boxed value is assumed to be static, and is thus not duplicated
1318 when setting the #GValue.
1321 @value: a valid #GValue of %G_TYPE_BOXED derived type
1322 @v_boxed: static boxed value to be set
1325 <!-- ##### FUNCTION g_value_take_boxed ##### -->
1327 Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed and
1328 takes over the ownership of the callers reference to @v_boxed;
1329 the caller doesn't have to unref it any more.
1332 @value: a valid #GValue of %G_TYPE_BOXED derived type
1333 @v_boxed: duplicated unowned boxed value to be set
1337 <!-- ##### FUNCTION g_value_set_boxed_take_ownership ##### -->
1339 This is an internal function introduced mainly for C marshallers.
1342 @value: a valid #GValue of %G_TYPE_BOXED derived type
1343 @v_boxed: duplicated unowned boxed value to be set
1344 @Deprecated: Use g_value_take_boxed() instead.
1347 <!-- ##### FUNCTION g_value_get_boxed ##### -->
1349 Get the contents of a %G_TYPE_BOXED derived #GValue.
1352 @value: a valid #GValue of %G_TYPE_BOXED derived type
1353 @Returns: boxed contents of @value
1356 <!-- ##### FUNCTION g_value_dup_boxed ##### -->
1358 Get the contents of a %G_TYPE_BOXED derived #GValue.
1359 Upon getting, the boxed value is duplicated and needs to be
1360 later freed with g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (@value), return_value);
1363 @value: a valid #GValue of %G_TYPE_BOXED derived type
1364 @Returns: boxed contents of @value
1367 <!-- ##### MACRO G_IS_PARAM_SPEC_POINTER ##### -->
1369 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
1372 @pspec: a valid #GParamSpec instance
1375 <!-- ##### MACRO G_PARAM_SPEC_POINTER ##### -->
1377 Casts a #GParamSpec instance into a #GParamSpecPointer.
1380 @pspec: a valid #GParamSpec instance
1383 <!-- ##### MACRO G_VALUE_HOLDS_POINTER ##### -->
1385 Return whether the given #GValue can hold values of type %G_TYPE_POINTER.
1388 @value: a valid #GValue structure
1391 <!-- ##### MACRO G_TYPE_PARAM_POINTER ##### -->
1393 The #GType of #GParamSpecPointer.
1398 <!-- ##### STRUCT GParamSpecPointer ##### -->
1400 A #GParamSpec derived structure that contains the meta data for pointer properties.
1403 @parent_instance: private #GParamSpec portion
1405 <!-- ##### FUNCTION g_param_spec_pointer ##### -->
1407 Creates a new #GParamSpecPoiner instance specifying a pointer property.
1410 See g_param_spec_internal() for details on property names.
1413 @name: canonical name of the property specified
1414 @nick: nick name for the property specified
1415 @blurb: description of the property specified
1416 @flags: flags for the property specified
1417 @Returns: a newly created parameter specification
1420 <!-- ##### FUNCTION g_value_set_pointer ##### -->
1422 Set the contents of a pointer #GValue to @v_pointer.
1425 @value: a valid #GValue of %G_TYPE_POINTER
1426 @v_pointer: pointer value to be set
1429 <!-- ##### FUNCTION g_value_get_pointer ##### -->
1431 Get the contents of a pointer #GValue.
1434 @value: a valid #GValue of %G_TYPE_POINTER
1435 @Returns: pointer contents of @value
1438 <!-- ##### MACRO G_IS_PARAM_SPEC_OBJECT ##### -->
1440 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
1443 @pspec: a valid #GParamSpec instance
1446 <!-- ##### MACRO G_PARAM_SPEC_OBJECT ##### -->
1448 Casts a #GParamSpec instance into a #GParamSpecObject.
1451 @pspec: a valid #GParamSpec instance
1454 <!-- ##### MACRO G_VALUE_HOLDS_OBJECT ##### -->
1456 Return whether the given #GValue can hold values derived from type %G_TYPE_OBJECT.
1459 @value: a valid #GValue structure
1462 <!-- ##### MACRO G_TYPE_PARAM_OBJECT ##### -->
1464 The #GType of #GParamSpecObject.
1469 <!-- ##### STRUCT GParamSpecObject ##### -->
1471 A #GParamSpec derived structure that contains the meta data for object properties.
1474 @parent_instance: private #GParamSpec portion
1476 <!-- ##### FUNCTION g_param_spec_object ##### -->
1478 Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT
1482 See g_param_spec_internal() for details on property names.
1485 @name: canonical name of the property specified
1486 @nick: nick name for the property specified
1487 @blurb: description of the property specified
1488 @object_type: %G_TYPE_OBJECT derived type of this property
1489 @flags: flags for the property specified
1490 @Returns: a newly created parameter specification
1493 <!-- ##### FUNCTION g_value_set_object ##### -->
1495 Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object.
1498 @value: a valid #GValue of %G_TYPE_OBJECT derived type
1499 @v_object: object value to be set
1502 <!-- ##### FUNCTION g_value_take_object ##### -->
1504 Sets the contents of a %G_TYPE_OBJECT derived #GValue to @v_object
1505 and takes over the ownership of the callers reference to @v_object;
1506 the caller doesn't have to unref it any more.
1509 @value: a valid #GValue of %G_TYPE_OBJECT derived type
1510 @v_object: object value to be set
1514 <!-- ##### FUNCTION g_value_set_object_take_ownership ##### -->
1516 This is an internal function introduced mainly for C marshallers.
1519 @value: a valid #GValue of %G_TYPE_OBJECT derived type
1520 @v_object: object value to be set
1521 @Deprecated: Use g_value_take_object() instead.
1524 <!-- ##### FUNCTION g_value_get_object ##### -->
1526 Get the contents of a %G_TYPE_OBJECT derived #GValue.
1529 @value: a valid #GValue of %G_TYPE_OBJECT derived type
1530 @Returns: object contents of @value
1533 <!-- ##### FUNCTION g_value_dup_object ##### -->
1535 Get the contents of a %G_TYPE_OBJECT derived #GValue, increasing its reference count.
1538 @value: a valid #GValue whose type is derived from %G_TYPE_OBJECT
1539 @Returns: object content of @value, should be unreferenced when no longer needed.
1542 <!-- ##### MACRO G_IS_PARAM_SPEC_UNICHAR ##### -->
1544 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
1547 @pspec: a valid #GParamSpec instance
1550 <!-- ##### MACRO G_PARAM_SPEC_UNICHAR ##### -->
1552 Cast a #GParamSpec instance into a #GParamSpecUnichar.
1555 @pspec: a valid #GParamSpec instance
1558 <!-- ##### MACRO G_TYPE_PARAM_UNICHAR ##### -->
1560 The #GType of #GParamSpecUnichar.
1565 <!-- ##### STRUCT GParamSpecUnichar ##### -->
1567 A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
1570 @parent_instance: private #GParamSpec portion
1571 @default_value: default value for the property specified
1573 <!-- ##### FUNCTION g_param_spec_unichar ##### -->
1575 Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT
1576 property. #GValue structures for this property can be accessed with
1577 g_value_set_uint() and g_value_get_uint().
1580 See g_param_spec_internal() for details on property names.
1583 @name: canonical name of the property specified
1584 @nick: nick name for the property specified
1585 @blurb: description of the property specified
1586 @default_value: default value for the property specified
1587 @flags: flags for the property specified
1588 @Returns: a newly created parameter specification
1591 <!-- ##### MACRO G_IS_PARAM_SPEC_VALUE_ARRAY ##### -->
1593 Return whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
1596 @pspec: a valid #GParamSpec instance
1599 <!-- ##### MACRO G_PARAM_SPEC_VALUE_ARRAY ##### -->
1601 Cast a #GParamSpec instance into a #GParamSpecValueArray.
1604 @pspec: a valid #GParamSpec instance
1607 <!-- ##### MACRO G_TYPE_PARAM_VALUE_ARRAY ##### -->
1609 The #GType of #GParamSpecValueArray.
1614 <!-- ##### STRUCT GParamSpecValueArray ##### -->
1616 A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
1619 @parent_instance: private #GParamSpec portion
1620 @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL
1621 @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements
1623 <!-- ##### FUNCTION g_param_spec_value_array ##### -->
1625 Creates a new #GParamSpecValueArray instance specifying a
1626 %G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a %G_TYPE_BOXED
1627 type, as such, #GValue structures for this property can be accessed
1628 with g_value_set_boxed() and g_value_get_boxed().
1631 See g_param_spec_internal() for details on property names.
1634 @name: canonical name of the property specified
1635 @nick: nick name for the property specified
1636 @blurb: description of the property specified
1637 @element_spec: a #GParamSpec describing the elements contained in
1638 arrays of this property, may be %NULL
1639 @flags: flags for the property specified
1640 @Returns: a newly created parameter specification
1643 <!-- ##### MACRO G_IS_PARAM_SPEC_OVERRIDE ##### -->
1645 Returns whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
1648 @pspec: a #GParamSpec
1651 <!-- ##### MACRO G_PARAM_SPEC_OVERRIDE ##### -->
1653 Casts a #GParamSpec into a #GParamSpecObject.
1656 @pspec: a #GParamSpec
1660 <!-- ##### MACRO G_TYPE_PARAM_OVERRIDE ##### -->
1662 The #GType of #GParamSpecOverride.
1668 <!-- ##### STRUCT GParamSpecOverride ##### -->
1670 This is a type of #GParamSpec type that simply redirects operations to
1671 another paramspec. All operations other than getting or
1672 setting the value are redirected, including accessing the nick and
1673 blurb, validating a value, and so forth. See
1674 g_param_spec_get_redirect_target() for retrieving the overidden
1675 property. #GParamSpecOverride is used in implementing
1676 g_object_class_override_property(), and will not be directly useful
1677 unless you are implementing a new base type similar to GObject.
1682 <!-- ##### FUNCTION g_param_spec_override ##### -->
1684 Creates a new property of type #GParamSpecOverride. This is used
1685 to direct operations to another paramspec, and will not be directly
1686 useful unless you are implementing a new base type similar to GObject.
1689 @name: the name of the property.
1690 @overridden: The property that is being overridden
1691 @Returns: the newly created #GParamSpec