IpatchRange

IpatchRange — A range parameter type.

Synopsis




                    IpatchRange;
                    IpatchParamSpecRange;
#define             IPATCH_TYPE_RANGE
#define             IPATCH_VALUE_HOLDS_RANGE            (value)
#define             IPATCH_RANGE_SET_VALUES             (range, val1, val2)
#define             IPATCH_RANGE_SET_NULL               (range)
IpatchRange*        ipatch_range_new                    (void);
IpatchRange*        ipatch_range_copy                   (IpatchRange *range);
void                ipatch_range_free                   (IpatchRange *range);
void                ipatch_value_set_range              (GValue *value,
                                                         const IpatchRange *range);
void                ipatch_value_set_static_range       (GValue *value,
                                                         IpatchRange *range);
IpatchRange*        ipatch_value_get_range              (const GValue *value);
#define             IPATCH_TYPE_PARAM_RANGE
GType               ipatch_param_spec_range_get_type    (void);
GParamSpec*         ipatch_param_spec_range             (const char *name,
                                                         const char *nick,
                                                         const char *blurb,
                                                         int min,
                                                         int max,
                                                         int default_low,
                                                         int default_high,
                                                         GParamFlags flags);

Description

A GValue and GParamSpec type for storing and defining a range of integer values.

Details

IpatchRange

typedef struct {
  int low;		/* low endpoint of range or -1 if undefined */
  int high;	       /* high endpoint of range or -1 if undefined */
} IpatchRange;


IpatchParamSpecRange

typedef struct {
  GParamSpec parent_instance;	/* derived from GParamSpec */
  int min, max;		  /* min and max values for range endpoints */
  int default_low, default_high; /* default vals for low and high endpoints */
} IpatchParamSpecRange;


IPATCH_TYPE_RANGE

#define IPATCH_TYPE_RANGE   (ipatch_range_get_type ())


IPATCH_VALUE_HOLDS_RANGE()

#define             IPATCH_VALUE_HOLDS_RANGE(value)

value :

IPATCH_RANGE_SET_VALUES()

#define             IPATCH_RANGE_SET_VALUES(range, val1, val2)

range :
val1 :
val2 :

IPATCH_RANGE_SET_NULL()

#define             IPATCH_RANGE_SET_NULL(range)

range :

ipatch_range_new ()

IpatchRange*        ipatch_range_new                    (void);

Create a new value range structure (to store an integer range).

Returns : Newly allocated integer range structure.

ipatch_range_copy ()

IpatchRange*        ipatch_range_copy                   (IpatchRange *range);

Duplicates an integer range structure.

range : Range structure to duplicate
Returns : New duplicate range structure.

ipatch_range_free ()

void                ipatch_range_free                   (IpatchRange *range);

Free a range structure previously allocated with ipatch_range_new().

range : Integer range structure to free

ipatch_value_set_range ()

void                ipatch_value_set_range              (GValue *value,
                                                         const IpatchRange *range);

Set the range values of a IPATCH_TYPE_RANGE GValue. The range structure is copied.

value : a valid GValue of IPATCH_TYPE_RANGE boxed type
range : Range structure to assign to value

ipatch_value_set_static_range ()

void                ipatch_value_set_static_range       (GValue *value,
                                                         IpatchRange *range);

Set the range values of a IPATCH_TYPE_RANGE GValue. This function uses range directly and so it should be static, use ipatch_value_set_range() if the range value should be duplicated.

value : A valid GValue of IPATCH_TYPE_RANGE boxed type
range : Range structure to assign to value

ipatch_value_get_range ()

IpatchRange*        ipatch_value_get_range              (const GValue *value);

Get the range structure from a IPATCH_TYPE_RANGE GValue.

value : A valid GValue of IPATCH_TYPE_RANGE boxed type
Returns : IpatchRange structure containing the range values of value or NULL if not set. The returned structure is NOT duplicated and is the same pointer used in value.

IPATCH_TYPE_PARAM_RANGE

#define IPATCH_TYPE_PARAM_RANGE (ipatch_param_spec_range_get_type ())


ipatch_param_spec_range_get_type ()

GType               ipatch_param_spec_range_get_type    (void);

Returns :

ipatch_param_spec_range ()

GParamSpec*         ipatch_param_spec_range             (const char *name,
                                                         const char *nick,
                                                         const char *blurb,
                                                         int min,
                                                         int max,
                                                         int default_low,
                                                         int default_high,
                                                         GParamFlags flags);

Create a parameter specification for IPATCH_TYPE_RANGE GValues.

name : Property name
nick : Property nick name
blurb : Property description blurb
min : Minimum value for range end points (can be -1 to allow undefined ranges)
max : Maximum value for range end points
default_low : Default value for low endpoint of range
default_high : Default value for high endpoint of range
flags : Property flags
Returns : New range parameter specification.