## AccessibleSelection Interface

AccessibleSelection Interface

## Synopsis

    void                AccessibleSelection_ref             (AccessibleSelection *obj);
    void                AccessibleSelection_unref           (AccessibleSelection *obj);
    long                AccessibleSelection_getNSelectedChildren
                                                            (AccessibleSelection *obj);
    Accessible *        AccessibleSelection_getSelectedChild
                                                            (AccessibleSelection *obj,
                                                             long int selectedChildIndex);
    SPIBoolean          AccessibleSelection_selectChild     (AccessibleSelection *obj,
                                                             long int childIndex);
    SPIBoolean          AccessibleSelection_isChildSelected (AccessibleSelection *obj,
                                                             long int childIndex);
    SPIBoolean          AccessibleSelection_deselectSelectedChild
                                                            (AccessibleSelection *obj,
                                                             long int selectedChildIndex);
    SPIBoolean          AccessibleSelection_deselectChild   (AccessibleSelection *obj,
                                                             long int childIndex);
    SPIBoolean          AccessibleSelection_clearSelection  (AccessibleSelection *obj);
    SPIBoolean          AccessibleSelection_selectAll       (AccessibleSelection *obj);

## Description

## Details

### AccessibleSelection_ref ()

    void                AccessibleSelection_ref             (AccessibleSelection *obj);

Increment the reference count for an AccessibleSelection object.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.

### AccessibleSelection_unref ()

    void                AccessibleSelection_unref           (AccessibleSelection *obj);

Decrement the reference count for an Accessible object.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.

### AccessibleSelection_getNSelectedChildren ()

    long                AccessibleSelection_getNSelectedChildren
                                                            (AccessibleSelection *obj);

Get the number of children of an AccessibleSelection implementor which are currently selected.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.
Returns : | a long indicating the number of Accessible children of the AccessibleSelection implementor which are currently selected.

### AccessibleSelection_getSelectedChild ()

    Accessible *        AccessibleSelection_getSelectedChild
                                                            (AccessibleSelection *obj,
                                                             long int selectedChildIndex);

Get the i-th selected Accessible child of an AccessibleSelection. Note that `childIndex` refers to the index in the list of 'selected' children and generally differs from that used in #`Accessible_getChildAtIndex()` or returned by #`Accessible_getIndexInParent()`. `selectedChildIndex` must lie between 0 and #`AccessibleSelection_getNSelectedChildren()`-1, inclusive.

`obj` : | a pointer to the AccessibleSelection on which to operate.
`selectedChildIndex` : | a long indicating which of the selected children is specified.
Returns : | a pointer to a selected Accessible child object, specified by `childIndex`.

### AccessibleSelection_selectChild ()

    SPIBoolean          AccessibleSelection_selectChild     (AccessibleSelection *obj,
                                                             long int childIndex);

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

`obj` : | a pointer to the AccessibleSelection on which to operate.
`childIndex` : | a long indicating which child of the Accessible is to be selected.
Returns : | TRUE if the child was successfully selected, FALSE otherwise.

### AccessibleSelection_isChildSelected ()

    SPIBoolean          AccessibleSelection_isChildSelected (AccessibleSelection *obj,
                                                             long int childIndex);

Determine whether a particular child of an AccessibleSelection implementor is currently selected. Note that `childIndex` is the index into the standard Accessible container's list of children.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.
`childIndex` : | an index into the AccessibleSelection's list of children.
Returns : | TRUE if the specified child is currently selected, FALSE otherwise.

### AccessibleSelection_deselectSelectedChild ()

    SPIBoolean          AccessibleSelection_deselectSelectedChild
                                                            (AccessibleSelection *obj,
                                                             long int selectedChildIndex);

Remove a child to the selected children list of an AccessibleSelection. Note that `childIndex` is the index in the selected-children list, not the index in the parent container. `selectedChildIndex` in this method, and `childIndex` in AccessibleSelection_selectChild are asymmettric.

`obj` : | a pointer to the AccessibleSelection on which to operate.
`selectedChildIndex` : | a long indicating which of the selected children of the Accessible is to be selected.
Returns : | TRUE if the child was successfully deselected, FALSE otherwise.

### AccessibleSelection_deselectChild ()

    SPIBoolean          AccessibleSelection_deselectChild   (AccessibleSelection *obj,
                                                             long int childIndex);

Deselect a specific child of an AccessibleSelection. Note that `childIndex` is the index of the child in the parent container.

See AccessibleSelection_deselectSelectedChild

Since AT-SPI 1.8.0

`obj` : | a pointer to the AccessibleSelection on which to operate.
`childIndex` : | a long indicating which of the children of the Accessible is to be de-selected.
Returns : | TRUE if the child was successfully deselected, FALSE otherwise.

### AccessibleSelection_clearSelection ()

    SPIBoolean          AccessibleSelection_clearSelection  (AccessibleSelection *obj);

Clear the current selection, removing all selected children from the specified AccessibleSelection implementor's selection list.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.
Returns : | TRUE if successful, FALSE otherwise.

### AccessibleSelection_selectAll ()

    SPIBoolean          AccessibleSelection_selectAll       (AccessibleSelection *obj);

Attempt to select all of the children of an AccessibleSelection implementor. Not all AccessibleSelection implementors support this operation.

`obj` : | a pointer to the AccessibleSelection implementor on which to operate.
Returns : | TRUE if successful, FALSE otherwise.