# Libraries:Gtk:Atk:StateSet

## Types

### T

Inherits from:Gtk.GObject.Object.T

## Constants

### Nil : T

## Functions

### GetType() : Gtk.GObject.Type.T

### New() : Gtk.Atk.StateSet.T

## Methods

### :AddState(self @ T, type @ Gtk.Atk.StateType.T) : Std.Symbol.T

Add a new state for the specified type to the current state set if it is not already present.

set | an T |

type | an Gtk.Atk.StateType.T |

Returns |
TRUE if the state for type is not already in set. |

### :AddStates(self @ T, types @ Std.Object.T, n_types @ Std.Integer.SmallT) : Std.Object.T

Add the states for the specified types to the current state set.

set | an T |

types | an array of Gtk.Atk.StateType.T |

n_types | The number of elements in the array |

### :AndSets(self @ T, compare_set @ Gtk.Atk.StateSet.T) : Gtk.Atk.StateSet.T

Constructs the intersection of the two sets, returning NULL if the intersection is empty.

set | an T |

compare_set | another T |

Returns |
a new T which is the intersection of the two sets. [transfer full] |

### :ClearStates(self @ T) : Std.Object.T

### :ContainsState(self @ T, type @ Gtk.Atk.StateType.T) : Std.Symbol.T

Checks whether the state for the specified type is in the specified set.

set | an T |

type | an Gtk.Atk.StateType.T |

Returns |
TRUE if type is the state type is in set. |

### :ContainsStates(self @ T, types @ Std.Object.T, n_types @ Std.Integer.SmallT) : Std.Symbol.T

Checks whether the states for all the specified types are in the specified set.

set | an T |

types | an array of Gtk.Atk.StateType.T |

n_types | The number of elements in the array |

Returns |
TRUE if all the states for type are in set. |

### :IsEmpty(self @ T) : Std.Symbol.T

Checks whether the state set is empty, i.e. has no states set.

set | an Gtk.Atk.StateType.T |

Returns |
TRUE if set has no states set, otherwise FALSE |

### :OrSets(self @ T, compare_set @ Gtk.Atk.StateSet.T) : Gtk.Atk.StateSet.T

Constructs the union of the two sets.

set | an T |

compare_set | another T |

Returns |
a new T which is the union of the two sets, returning NULL is empty. [transfer full] |

### :RemoveState(self @ T, type @ Gtk.Atk.StateType.T) : Std.Symbol.T

Removes the state for the specified type from the state set.

### :XorSets(self @ T, compare_set @ Gtk.Atk.StateSet.T) : Gtk.Atk.StateSet.T

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.

set | an T |

compare_set | another T |

Returns |
a new T which contains the states which are in exactly one of the two sets. [transfer full] |