Top |
An AtkStateSet is a read-only representation of the full set of AtkStates
that apply to an object at a given time. This set is not meant to be
modified, but rather created when atk_object_ref_state_set()
is called.
gboolean
atk_state_set_is_empty (AtkStateSet *set
);
Checks whether the state set is empty, i.e. has no states set.
gboolean atk_state_set_add_state (AtkStateSet *set
,AtkStateType type
);
Adds the state of the specified type to the state set if it is not already present.
Note that because an AtkStateSet is a read-only object, this method should be used to add a state to a newly-created set which will then be returned by atk_object_ref_state_set. It should not be used to modify the existing state of an object. See also atk_object_notify_state_change.
void atk_state_set_add_states (AtkStateSet *set
,AtkStateType *types
,gint n_types
);
Adds the states of the specified types to the state set.
Note that because an AtkStateSet is a read-only object, this method should be used to add states to a newly-created set which will then be returned by atk_object_ref_state_set. It should not be used to modify the existing state of an object. See also atk_object_notify_state_change.
set |
an AtkStateSet |
|
types |
an array of AtkStateType. |
[array length=n_types] |
n_types |
The number of elements in the array |
void
atk_state_set_clear_states (AtkStateSet *set
);
Removes all states from the state set.
gboolean atk_state_set_contains_state (AtkStateSet *set
,AtkStateType type
);
Checks whether the state for the specified type is in the specified set.
gboolean atk_state_set_contains_states (AtkStateSet *set
,AtkStateType *types
,gint n_types
);
Checks whether the states for all the specified types are in the specified set.
set |
an AtkStateSet |
|
types |
an array of AtkStateType. |
[array length=n_types] |
n_types |
The number of elements in the array |
gboolean atk_state_set_remove_state (AtkStateSet *set
,AtkStateType type
);
Removes the state for the specified type from the state set.
Note that because an AtkStateSet is a read-only object, this method should be used to remove a state to a newly-created set which will then be returned by atk_object_ref_state_set. It should not be used to modify the existing state of an object. See also atk_object_notify_state_change.
AtkStateSet * atk_state_set_and_sets (AtkStateSet *set
,AtkStateSet *compare_set
);
Constructs the intersection of the two sets, returning NULL
if the
intersection is empty.
AtkStateSet * atk_state_set_or_sets (AtkStateSet *set
,AtkStateSet *compare_set
);
Constructs the union of the two sets.
a new AtkStateSet which is
the union of the two sets, returning NULL
is empty.
[nullable][transfer full]
AtkStateSet * atk_state_set_xor_sets (AtkStateSet *set
,AtkStateSet *compare_set
);
Constructs the exclusive-or of the two sets, returning NULL
is empty.
The set returned by this operation contains the states in exactly
one of the two sets.
a new AtkStateSet which contains the states which are in exactly one of the two sets.
[transfer full]