ParamSpec

Description GParamSpec is an object structure that encapsulates the metadata required to specify parameters, such as e.g. GObject properties. Parameter names need to start with a letter (a-z or A-Z). Subsequent characters can be letters, numbers or a '-'. All other characters are replaced by a '-' during construction. The result of this replacement is called the canonical name of the parameter.

Constructors

this
this(GParamSpec* gParamSpec)

Sets our main struct and passes it to the parent class

Members

Functions

doref
ParamSpec doref()

Increments the reference count of pspec.

gParamValueConvert
int gParamValueConvert(Value srcValue, Value destValue, int strictValidation)

Transforms src_value into dest_value if possible, and then validates dest_value, in order for it to conform to pspec. If strict_validation is TRUE this function will only succeed if the transformed dest_value complied to pspec without modifications. See also g_value_type_transformable(), g_value_transform() and g_param_value_validate().

gParamValueDefaults
int gParamValueDefaults(Value value)

Checks whether value contains the default value as specified in pspec.

gParamValueSetDefault
void gParamValueSetDefault(Value value)

Sets value to its default value as specified in pspec.

gParamValueValidate
int gParamValueValidate(Value value)

Ensures that the contents of value comply with the specifications set out by pspec. For example, a GParamSpecInt might require that integers stored in value may not be smaller than -42 and not be greater than +42. If value contains an integer outside of this range, it is modified accordingly, so the resulting value will fit into the range -42 .. +42.

gParamValuesCmp
int gParamValuesCmp(Value value1, Value value2)

Compares value1 with value2 according to pspec, and return -1, 0 or +1, if value1 is found to be less than, equal to or greater than value2, respectively.

getBlurb
string getBlurb()

Get the short description of a GParamSpec.

getName
string getName()

Get the name of a GParamSpec.

getNick
string getNick()

Get the nickname of a GParamSpec.

getParamSpecStruct
GParamSpec* getParamSpecStruct()
Undocumented in source. Be warned that the author may not have intended to support it.
getQdata
void* getQdata(GQuark quark)

Gets back user data pointers stored via g_param_spec_set_qdata().

getRedirectTarget
ParamSpec getRedirectTarget()

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. Since 2.4

getStruct
void* getStruct()

the main Gtk struct as a void*

refSink
ParamSpec refSink()

Convenience function to ref and sink a GParamSpec. Since 2.10

setQdata
void setQdata(GQuark quark, void* data)

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.

setQdataFull
void setQdataFull(GQuark quark, void* data, GDestroyNotify destroy)

This function works like g_param_spec_set_qdata(), but in addition, a void (*destroy) (gpointer) function may be specified which is called with data as argument when the pspec is finalized, or the data is being overwritten by a call to g_param_spec_set_qdata() with the same quark.

sink
void sink()

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).

stealQdata
void* stealQdata(GQuark quark)

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.

unref
void unref()

Decrements the reference count of a pspec.

Static functions

gParamTypeRegisterStatic
GType gParamTypeRegisterStatic(string name, GParamSpecTypeInfo* pspecInfo)

Registers name as the name of a new static type derived from G_TYPE_PARAM. The type system uses the information contained in the GParamSpecTypeInfo structure pointed to by info to manage the GParamSpec type and its instances.

internal
void* internal(GType paramType, string name, string nick, string blurb, GParamFlags flags)

Creates a new GParamSpec instance. A property name consists of segments consisting of ASCII letters and digits, separated by either the '-' or '_' character. The first character of a property name must be a letter. Names which violate these rules lead to undefined behaviour. When creating and looking up a GParamSpec, either separator can be used, but they cannot be mixed. Using '-' is considerably more efficient and in fact required when using property names as detail strings for signals. Beyond the name, GParamSpecs have two more descriptive strings associated with them, the nick, which should be suitable for use as a label for the property in a property editor, and the blurb, which should be a somewhat longer description, suitable for e.g. a tooltip. The nick and blurb should ideally be localized.

Variables

gParamSpec
GParamSpec* gParamSpec;

the main Gtk struct

Meta