class GObject::ParamSpec
- GObject::ParamSpec
- Reference
- Object
Overview
#GParamSpec is an object structure that encapsulates the metadata required to specify parameters, such as e.g. #GObject properties.
Parameter names # {#canonical-parameter-names}
A property name consists of one or more segments consisting of ASCII letters
and digits, separated by either the -
or _
character. The first
character of a property name must be a letter. These are the same rules as
for signal naming (see g_signal_new()).
When creating and looking up a #GParamSpec, either separator can be
used, but they cannot be mixed. Using -
is considerably more
efficient, and is the ‘canonical form’. Using _
is discouraged.
Defined in:
lib/gi-crystal/src/auto/g_object-2.0/param_spec.crlib/gi-crystal/src/bindings/g_object/param_spec.cr
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
-
.is_valid_name(name : String) : Bool
Validate a property name for a #GParamSpec.
Instance Method Summary
-
#blurb : String?
Get the short description of a #GParamSpec.
-
#default_value : GObject::Value
Gets the default value of @pspec as a pointer to a #GValue.
-
#finalize
Called by the garbage collector.
-
#name : String
Get the name of a #GParamSpec.
-
#name_quark : UInt32
Gets the GQuark for the name.
-
#nick : String
Get the nickname of a #GParamSpec.
-
#qdata(quark : UInt32) : Pointer(Void)?
Gets back user data pointers stored via g_param_spec_set_qdata().
-
#redirect_target : GObject::ParamSpec?
If the paramspec redirects operations to another paramspec, returns that paramspec.
-
#ref_count : UInt32
Returns ParamSpec reference counter.
-
#set_qdata(quark : UInt32, data : Pointer(Void)?) : Nil
Sets an opaque, named pointer on a #GParamSpec.
-
#sink : Nil
The initial reference count of a newly created #GParamSpec is 1, even though no one has explicitly called g_param_spec_ref() on it yet.
-
#steal_qdata(quark : UInt32) : Pointer(Void)?
Gets back user data pointers stored via g_param_spec_set_qdata() and removes the @data from @pspec without invoking its destroy() function (if any was set).
-
#to_unsafe : Pointer(Void)
Returns a pointer to the C object.
Class Method Detail
Validate a property name for a #GParamSpec. This can be useful for dynamically-generated properties which need to be validated at run-time before actually trying to create them.
See [canonical parameter names][canonical-parameter-names] for details of the rules for valid names.
Instance Method Detail
Gets the default value of @pspec as a pointer to a #GValue.
The #GValue will remain valid for the life of @pspec.
Called by the garbage collector. Decreases the reference count of object. (i.e. its memory is freed).
Get the name of a #GParamSpec.
The name is always an "interned" string (as per g_intern_string()). This allows for pointer-value comparisons.
Gets back user data pointers stored via g_param_spec_set_qdata().
If the paramspec redirects operations to another paramspec, returns that paramspec. Redirect is used typically for providing a new implementation of a property in a derived type while preserving all the properties from the parent type. Redirection is established by creating a property of type #GParamSpecOverride. See g_object_class_override_property() for an example of the use of this capability.
Sets an opaque, named pointer on a #GParamSpec. The name is specified through a #GQuark (retrieved e.g. via g_quark_from_static_string()), and the pointer can be gotten back from the @pspec with g_param_spec_get_qdata(). Setting a previously set user data pointer, overrides (frees) the old pointer set, using %NULL as pointer essentially removes the data stored.
The initial reference count of a newly created #GParamSpec is 1,
even though no one has explicitly called g_param_spec_ref() on it
yet. So the initial reference count is flagged as "floating", until
someone calls g_param_spec_ref (pspec); g_param_spec_sink (pspec);
in sequence on it, taking over the initial
reference count (thus ending up with a @pspec that has a reference
count of 1 still, but is not flagged "floating" anymore).
Gets back user data pointers stored via g_param_spec_set_qdata() and removes the @data from @pspec without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier.