## atspi-selection atspi-selection — An interface which indicates that an object exposes a 'selection' model, allowing the selection of one or more of its children. |

## Functions

gint | atspi_selection_get_n_selected_children ()
AtspiAccessible * | atspi_selection_get_selected_child ()
gboolean | atspi_selection_select_child ()
gboolean | atspi_selection_deselect_selected_child ()
gboolean | atspi_selection_deselect_child ()
gboolean | atspi_selection_is_child_selected ()
gboolean | atspi_selection_select_all ()
gboolean | atspi_selection_clear_selection ()

## Types and Values

| AtspiSelection

## Object Hierarchy

        GInterface
        ╰── AtspiSelection

## Known Implementations

AtspiSelection is implemented by AtspiAccessible.

## Description

An interface which indicates that an object exposes a 'selection' model, allowing the selection of one or more of its children. Read-only Selection instances are possible, in which case the interface is used to programmatically determine the selected-ness of its children.

## Functions

### atspi_selection_get_n_selected_children ()

    gint
    atspi_selection_get_n_selected_children
                                   (AtspiSelection *obj,
                                    GError **error);

Gets the number of children of an AtspiSelection implementor which are currently selected.

#### Parameters

obj | a pointer to the AtspiSelection implementor on which to operate. |

#### Returns

a gint indicating the number of Accessible children of the AtspiSelection implementor which are currently selected.

### atspi_selection_get_selected_child ()

    AtspiAccessible *
    atspi_selection_get_selected_child (AtspiSelection *obj,
                                        gint selected_child_index,
                                        GError **error);

Gets the i-th selected AtspiAccessible child of an AtspiSelection. Note that `selected_child_index` refers to the index in the list of 'selected' children and generally differs from that used in atspi_accessible_get_child_at_index or returned by atspi_accessible_get_index_in_parent. `selected_child_index` must lie between 0 and atspi_selection_get_n_selected_children - 1, inclusive.

#### Parameters

obj | a pointer to the AtspiSelection on which to operate. |
selected_child_index | a gint indicating which of the selected children is specified. |

#### Returns

a pointer to a selected AtspiAccessible child object, specified by `selected_child_index` .

[transfer full]

### atspi_selection_select_child ()

    gboolean
    atspi_selection_select_child (AtspiSelection *obj,
                                  gint child_index,
                                  GError **error);

Adds a child to the selected children list of an AtspiSelection. For AtspiSelection implementors that only allow single selections, this may replace the (single) current selection.

#### Parameters

obj | a pointer to the AtspiSelection on which to operate. |
child_index | a gint indicating which child of the Accessible is to be selected. |

#### Returns

TRUE if the child was successfully selected, FALSE otherwise.

### atspi_selection_deselect_selected_child ()

    gboolean
    atspi_selection_deselect_selected_child
                                   (AtspiSelection *obj,
                                    gint selected_child_index,
                                    GError **error);

Removes a child from the selected children list of an AtspiSelection. Note that `child_index` is the index in the selected-children list, not the index in the parent container. `selectedChildIndex` in this method, and `child_index` in atspi_selection_select_child are asymmetric.

#### Parameters

obj | a pointer to the AtspiSelection on which to operate. |
selected_child_index | a gint indicating which of the selected children of the Accessible is to be selected. |

#### Returns

TRUE if the child was successfully deselected, FALSE otherwise.

### atspi_selection_deselect_child ()

    gboolean
    atspi_selection_deselect_child (AtspiSelection *obj,
                                    gint child_index,
                                    GError **error);

Deselects a specific child of an AtspiSelection. Note that `child_index` is the index of the child in the parent container.

See atspi_selection_deselect_selected_child

#### Parameters

obj | a pointer to the AtspiSelection on which to operate. |
child_index | a gint indicating which of the children of the AtspiAccessible is to be de-selected. |

#### Returns

TRUE if the child was successfully deselected, FALSE otherwise.

### atspi_selection_is_child_selected ()

    gboolean
    atspi_selection_is_child_selected (AtspiSelection *obj,
                                       gint child_index,
                                       GError **error);

Determines whether a particular child of an AtspiSelection implementor is currently selected. Note that `child_index` is the index into the standard AtspiAccessible container's list of children.

#### Parameters

obj | a pointer to the AtspiSelection implementor on which to operate. |
child_index | an index into the AtspiSelection's list of children. |

#### Returns

TRUE if the specified child is currently selected, FALSE otherwise.

### atspi_selection_select_all ()

    gboolean
    atspi_selection_select_all (AtspiSelection *obj,
                                GError **error);

Attempts to select all of the children of an AtspiSelection implementor. Not all AtspiSelection implementors support this operation.

#### Parameters

obj | a pointer to the AtspiSelection implementor on which to operate. |

#### Returns

TRUE if successful, FALSE otherwise.

### atspi_selection_clear_selection ()

    gboolean
    atspi_selection_clear_selection (AtspiSelection *obj,
                                     GError **error);

Clears the current selection, removing all selected children from the specified AtspiSelection implementor's selection list.

#### Parameters

obj | a pointer to the AtspiSelection implementor on which to operate. |

#### Returns

TRUE if successful, FALSE otherwise.

## Types and Values

### AtspiSelection

    typedef struct _AtspiSelection AtspiSelection;