3
WY{                 @   s6   d dl mZ d dlT d dlT dgZG dd deZdS )    )Atspi)*	Selectionc               @   s`   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd ZdZeeedZdS )r   a  
        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. A selected child has State::STATE_SELECTED,
        and a child which may hypothetically be selected (though possibly
        not programmatically selectable) has State::STATE_SELECTABLE.
        c             C   s   t jj| jS )a@  
                Attempt to clear all selections (i.e. deselect all children)
                of a Selection. Not all Selection implementations allow the removal
                of all selections.
                @return True if the selections were successfully cleared, False
                otherwise.
                )r   ZTextZclear_selectionobj)self r   3/usr/lib/python3/dist-packages/pyatspi/selection.pyclearSelection%   s    zSelection.clearSelectionc             C   s   t jj| j|S )a  
                Remove a child from the selected children list of a Selection,
                if the child is currently selected.
                @param : childIndex
                a long integer (the zero offset index into the Accessible object's
                list of children) indicating which child of the Selection is
                to be selected.
                @return True if the child was successfully selected, False otherwise.
                )r   r   Zdeselect_childr   )r   Z
childIndexr   r   r   deselectChild/   s    
zSelection.deselectChildc             C   s   t jj| j|S )a  
                Remove a child to the selected children list of a Selection.
                @param : selectedChildIndex
                a long integer indicating which of the selected children of the
                Selection is to be deselected. The index is a zero-offset index
                into the 'selected child list', not a zero-offset index into
                the list of all children of the Selection.
                @return True if the child was successfully deselected, False
                otherwise.
                )r   r   Zdeselect_selected_childr   )r   indexr   r   r   deselectSelectedChild;   s    zSelection.deselectSelectedChildc             C   s   t jj| j|S )az  
                Get the i-th selected Accessible child of a Selection. 
                @param : selectedChildIndex
                a long integer indicating which of the selected children of an
                object is being requested. 
                @return a pointer to a selected Accessible child object, specified
                by selectedChildIndex.
                )r   r   Zget_selected_childr   )r   r   r   r   r   getSelectedChildH   s    	zSelection.getSelectedChildc             C   s   t jj| j|S )a  
                Determine whether a particular child of an Selection implementor
                is currently selected. Note that childIndex is the zero-offset
                index into the standard Accessible container's list of children.
                @param : childIndex
                an index into the Selection's list of children.
                @return True if the specified child is currently selected, False
                otherwise.
                )r   r   Zis_child_selectedr   )r   r   r   r   r   isChildSelectedS   s    
zSelection.isChildSelectedc             C   s   t jj| jS )ak  
                Attempt to select all of the children of a Selection implementor.
                Not all Selection implementors support this operation (for instance,
                implementations which support only "single selection" do not
                support this operation).
                @return True if successful, False otherwise.
                )r   r   Z
select_allr   )r   r   r   r   	selectAll_   s    zSelection.selectAllc             C   s   t jj| j|S )a@  
                Add a child to the selected children list of a Selection. 
                @param : childIndex
                a long integer indicating which child of the Selection is to
                be selected.
                @return True if the child was successfully selected, False otherwise.
                )r   r   Zselect_childr   )r   r   r   r   r   selectChildi   s    zSelection.selectChildc             C   s   t jj| jS )N)r   r   Zget_n_selected_childrenr   )r   r   r   r   get_nSelectedChildrens   s    zSelection.get_nSelectedChildrenz
                The number of children of a Selection implementor which are currently
                selected.
                )fgetdocN)__name__
__module____qualname____doc__r	   r
   r   r   r   r   r   r   Z_nSelectedChildrenDocpropertyZnSelectedChildrenr   r   r   r   r      s   	


N)Zgi.repositoryr   Zpyatspi.utilsZpyatspi.interface__all__Z	interfacer   r   r   r   r   <module>   s   