%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/orca/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/orca/__pycache__/ax_utilities_collection.cpython-312.pyc

�

g
f����dZdZdZdZdZdZddlZddlZddlZejdd	�dd
l
mZddlm
Z
dd
lmZddlmZddlmZddlmZGd�d�Zy)a�
Utilities for finding all objects that meet a certain criteria.
These utilities are app-type- and toolkit-agnostic. Utilities that might have
different implementations or results depending on the type of app (e.g. terminal,
chat, web) or toolkit (e.g. Qt, Gtk) should be in script_utilities.py file(s).

N.B. There are currently utilities that should never have custom implementations
that live in script_utilities.py files. These will be moved over time.
z$Id$z
$Revision$z$Date$zCopyright (c) 2023 Igalia, S.L.�LGPL�N�Atspiz2.0)r�)�debug)�AXCollection)�AXObject)�AXUtilitiesRole)�AXUtilitiesStatec� �eZdZdZed��Zed�d��Zed�d��Zed�d��Zed�d��Z	ed�d��Z
ed�d	��Zed�d
��Zed�d��Z
ed�d��Zed�d
��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Z ed�d��Z!ed�d ��Z"ed�d!��Z#ed�d"��Z$ed�d#��Z%ed�d$��Z&ed�d%��Z'ed�d&��Z(ed�d'��Z)ed�d(��Z*ed�d)��Z+ed�d*��Z,ed�d+��Z-ed�d,��Z.ed�d-��Z/ed�d.��Z0ed�d/��Z1ed�d0��Z2ed�d1��Z3ed�d2��Z4ed�d3��Z5ed�d4��Z6ed�d5��Z7ed�d6��Z8ed�d7��Z9ed�d8��Z:ed�d9��Z;ed�d:��Z<ed�d;��Z=ed�d<��Z>ed�d=��Z?ed�d>��Z@ed�d?��ZAed�d@��ZBed�dA��ZCed�dB��ZDed�dC��ZEed�dD��ZFed�dE��ZGed�dF��ZHed�dG��ZIed�dH��ZJed�dI��ZKed�dJ��ZLed�dK��ZMed�dL��ZNed�dM��ZOed�dN��ZPed�dO��ZQed�dP��ZRed�dQ��ZSed�dR��ZTed�dS��ZUed�dT��ZVed�dU��ZWed�dV��ZXed�dW��ZYed�dX��ZZed�dY��Z[ed�dZ��Z\ed�d[��Z]ed�d\��Z^ed�d]��Z_ed�d^��Z`ed�d_��Zaed�d`��Zbed�da��Zced�db��Zded�dc��Zeed�dd��Zfed�de��Zged�df��Zhed�dg��Zied�dh��Zjed�di��Zked�dj��Zled�dk��Zmed�dl��Zned�dm��Zoed�dn��Zped�do��Zqed�dp��Zred�dq��Zsed�dr��Zted�ds��Zued�dt��Zved�du��Zwed�dv��Zxed�dw��Zyed�dx��Zzed�dy��Z{ed�dz��Z|ed�d{��Z}ed�d|��Z~ed�d}��Zed�d~��Z�ed�d��Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d���Z�ed�d„�Z�ed�dÄ�Z�edĄ�Z�edń�Z�edƄ�Z�edDŽ�Z�edȄ�Z�edɄ�Z�edʄ�Z�ed˄�Z�y)��AXUtilitiesCollectionz?Utilities for finding all objects that meet a certain criteria.c�L�|sgStj�}d|g}tjtj|d�t	t||��}dt
|��dtj�|z
d�d�}tjtj|d�|S)Nz*AXUtilitiesCollection: Applying predicate TzAXUtilitiesCollection: z matches found in z.4f�s)�timer�printTokens�
LEVEL_INFO�list�filter�len�printMessage)�matches�pred�start�tokens�msgs     �>/usr/lib/python3/dist-packages/orca/ax_utilities_collection.py�_apply_predicatez&AXUtilitiesCollection._apply_predicate6s�����I��	�	���>��E��
���%�*�*�F�D�9��v�d�G�,�-��'��G��~�5G��	�	��V[�H[�\_�G`�`a�b��
���5�+�+�S�$�7���Nc�2�|r|sgSt|�}dtj�d||d|g}tjtj
|d�t
j||��}t
j||�}|�tj||�}|S)N�AXUtilitiesCollection:�Root:�of:T)�states�state_match_type�r�inspect�currentframerrrr�create_match_rule�get_all_matchesrr)�root�
state_listr#rr�rulers       r�_find_all_with_statesz+AXUtilitiesCollection._find_all_with_statesDs������I��*�%�
�*�G�,@�,@�,B��4�!1�5�*�F��
���%�*�*�F�D�9��-�-�Z�Rb�c���.�.�t�T�:����+�<�<�W�d�K�G��rc�2�|r|sgSt|�}dtj�d||d|g}tjtj
|d�t
j||��}t
j||�}|�tj||�}|S)Nrr r!T)�roles�role_match_typer$)r)�	role_listr/rrr+rs       r�_find_all_with_rolez)AXUtilitiesCollection._find_all_with_roleUs������I���O�	�*�G�,@�,@�,B��4��%��D��
���%�*�*�F�D�9��-�-�I��_���.�.�t�T�:����+�<�<�W�d�K�G��rc�.�|r|sgSt|�}dtj�d|d|g}tjtj
|d�t
j|��}t
j||�}|�tj||�}|S)zLReturns all descendants of root which implement all the specified interfacesrr zall of:T)�
interfacesr$)r)�interface_listrrr+rs      r�find_all_with_interfacesz.AXUtilitiesCollection.find_all_with_interfacesfs������I��n�-��*�G�,@�,@�,B��4��N�<��
���%�*�*�F�D�9��-�-��H���.�.�t�T�:����+�<�<�W�d�K�G��rc�b�tj||tjj|�S)z?Returns all descendants of root with any of the specified roles)rr1r�CollectionMatchType�ANY�r)r0rs   r�find_all_with_rolez(AXUtilitiesCollection.find_all_with_roleys.��%�8�8��)�U�6�6�:�:�D�B�	Brc�b�tj||tjj|�S)zFReturns all descendants of root which have none of the specified roles)rr1rr7�NONEr9s   r�find_all_without_rolesz,AXUtilitiesCollection.find_all_without_roles�s.��%�8�8��)�U�6�6�;�;�T�C�	Crc��|r|r|sgSt|�}t|�}dtj�d|d|d|g}tjtj
|d�t
j||tjj��}t
j||�}|�tj||�}|S)zIReturns all descendants of root with any of the roles, and all the statesrr �Roles:�States:T�r.r"r#)rr%r&rrrrr'rr7�ALLr(rr�r)r0r*rrr+rs       r�!find_all_with_role_and_all_statesz7AXUtilitiesCollection.find_all_with_role_and_all_states������z��I���O�	��*�%�
�*�G�,@�,@�,B��4��9�i��M��
���%�*�*�F�D�9��-�-��J��AZ�AZ�A^�A^�`���.�.�t�T�:����+�<�<�W�d�K�G��rc��|r|r|sgSt|�}t|�}dtj�d|d|d|g}tjtj
|d�t
j||tjj��}t
j||�}|�tj||�}|S)zLReturns all descendants of root with any of the roles, and any of the statesrr r?r@TrA)rr%r&rrrrr'rr7r8r(rrrCs       r� find_all_with_role_and_any_statez6AXUtilitiesCollection.find_all_with_role_and_any_state�rErc��|r|r|sgSt|�}t|�}dtj�d|d|d|g}tjtj
|d�t
j||tjj��}t
j||�}|�tj||�}|S)zMReturns all descendants of root with any of the roles, and none of the statesrr r?r@TrA)rr%r&rrrrr'rr7r<r(rrrCs       r�!find_all_with_role_without_statesz7AXUtilitiesCollection.find_all_with_role_without_states�s�����z��I���O�	��*�%�
�*�G�,@�,@�,B��4��9�i��M��
���%�*�*�F�D�9��-�-��J��AZ�AZ�A_�A_�a���.�.�t�T�:����+�<�<�W�d�K�G��rc�b�tj||tjj|�S)zFReturns all descendants of root which have all of the specified states)rr,rr7rB�r)r*rs   r�find_all_with_statesz*AXUtilitiesCollection.find_all_with_states��.��%�:�:��*�e�7�7�;�;�T�C�	Crc�b�tj||tjj|�S)zFReturns all descendants of root which have any of the specified states)rr,rr7r8rKs   r�find_all_with_any_statez-AXUtilitiesCollection.find_all_with_any_state�rMrc�b�tj||tjj|�S)zGReturns all descendants of root which have none of the specified states)rr,rr7r<rKs   r�find_all_without_statesz-AXUtilitiesCollection.find_all_without_states�s.��%�:�:��*�e�7�7�<�<�d�D�	Drc�f�tjjg}tj	|||�S)z?Returns all descendants of root with the accelerator label role)r�Role�ACCELERATOR_LABELrr:�r)rr.s   r�find_all_accelerator_labelsz1AXUtilitiesCollection.find_all_accelerator_labels��+�����-�-�.��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the alert role)rrS�ALERTrr:rUs   r�find_all_alertsz%AXUtilitiesCollection.find_all_alerts��+�����!�!�"��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the animation role)rrS�	ANIMATIONrr:rUs   r�find_all_animationsz)AXUtilitiesCollection.find_all_animations��+�����%�%�&��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the arrow role)rrS�ARROWrr:rUs   r�find_all_arrowsz%AXUtilitiesCollection.find_all_arrows�r[rc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the article role)rrS�ARTICLErr:rUs   r�find_all_articlesz'AXUtilitiesCollection.find_all_articles��+�����#�#�$��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the audio role)rrS�AUDIOrr:rUs   r�find_all_audiosz%AXUtilitiesCollection.find_all_audios�r[rc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the autocomplete role)rrS�AUTOCOMPLETErr:rUs   r�find_all_autocompletesz,AXUtilitiesCollection.find_all_autocompletes�+�����(�(�)��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the block quote role)rrS�BLOCK_QUOTErr:rUs   r�find_all_block_quotesz+AXUtilitiesCollection.find_all_block_quotes�+�����'�'�(��$�7�7��e�T�J�Jrc��tjjtjjg}tj|||�S)zDReturns all descendants of root with the push- or toggle-button role)rrS�PUSH_BUTTON�
TOGGLE_BUTTONrr:rUs   r�find_all_buttonsz&AXUtilitiesCollection.find_all_buttonss7�����'�'����)A�)A�B��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the calendar role)rrS�CALENDARrr:rUs   r�find_all_calendarsz(AXUtilitiesCollection.find_all_calendars�+�����$�$�%��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the canvas role)rrS�CANVASrr:rUs   r�find_all_canvasesz'AXUtilitiesCollection.find_all_canvases!�+�����"�"�#��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the caption role)rrS�CAPTIONrr:rUs   r�find_all_captionsz'AXUtilitiesCollection.find_all_captions(rfrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the chart role)rrS�CHARTrr:rUs   r�find_all_chartsz%AXUtilitiesCollection.find_all_charts/r[rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the checkbox role)rrS�	CHECK_BOXrr:rUs   r�find_all_check_boxesz*AXUtilitiesCollection.find_all_check_boxes6r_rc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the check menuitem role)rrS�CHECK_MENU_ITEMrr:rUs   r�find_all_check_menu_itemsz/AXUtilitiesCollection.find_all_check_menu_items=�+�����+�+�,��$�7�7��e�T�J�Jrc	�4��|�gSdg}tjjg}tjj}tj�}tjj}dg}tjj}dtj�d||d|d�g	}	tjtj|	d��fd�}
tj|||||||�	�}tj||�}tj!||
�}|S)
zLReturns all non-focusable descendants of root which support the click action�Actionzxml-roles:gridcellrr r!�. pred:Tc����tj|d�}d|tj|�d|g}tjtj
|d�|sy�duxs�|�S)N�clickrzhas click Action:TF�r�
has_action�actions_as_stringrrr��obj�resultrrs   �r�is_matchz;AXUtilitiesCollection.find_all_clickables.<locals>.is_matchWse����(�(��g�6�F�.��X�5O�5O�PS�5T�)�6�3�F����e�.�.���=����4�<�,�4��9�,r)r3�
attributes�attribute_match_typer.r/r"r#)r�	StateType�	FOCUSABLEr7r<r	�)get_roles_to_exclude_from_clickables_listr%r&rrrrr'r(rr)
r)rr3r"r#r.�roles_match_typer�r�rr�r+rs
 `           r�find_all_clickablesz)AXUtilitiesCollection.find_all_clickablesDs	����<��I��Z�
��/�/�+�+�,�� �4�4�9�9���I�I�K�� �4�4�9�9��*�+�
�$�8�8�=�=��*�G�,@�,@�,B��4�!1�5�%��D�R��
���%�*�*�F�D�9�	-��-�-�!�!�!5��,��-�/���.�.�t�T�:��'�8�8��(�K���rc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the color_chooser role)rrS�
COLOR_CHOOSERrr:rUs   r�find_all_color_choosersz-AXUtilitiesCollection.find_all_color_choosersl�+�����)�)�*��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the column header role)rrS�
COLUMN_HEADERrr:rUs   r�find_all_column_headersz-AXUtilitiesCollection.find_all_column_headerssr�rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the combobox role)rrS�	COMBO_BOXrr:rUs   r�find_all_combo_boxesz*AXUtilitiesCollection.find_all_combo_boxeszr_rc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the comment role)rrS�COMMENTrr:rUs   r�find_all_commentsz'AXUtilitiesCollection.find_all_comments�rfrc�f�tjjg}tj	|||�S)z>Returns all descendants of root with the content deletion role)rrS�CONTENT_DELETIONrr:rUs   r�find_all_content_deletionsz0AXUtilitiesCollection.find_all_content_deletions��+�����,�,�-��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z?Returns all descendants of root with the content insertion role)rrS�CONTENT_INSERTIONrr:rUs   r�find_all_content_insertionsz1AXUtilitiesCollection.find_all_content_insertions�rWrc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the date editor role)rrS�DATE_EDITORrr:rUs   r�find_all_date_editorsz+AXUtilitiesCollection.find_all_date_editors�rqrc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the definition role)rrS�
DEFINITIONrr:rUs   r�find_all_definitionsz*AXUtilitiesCollection.find_all_definitions��+�����&�&�'��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z>Returns all descendants of root with the description list role)rrS�DESCRIPTION_LISTrr:rUs   r�find_all_description_listsz0AXUtilitiesCollection.find_all_description_lists�r�rc�f�tjjg}tj	|||�S)z>Returns all descendants of root with the description term role)rrS�DESCRIPTION_TERMrr:rUs   r�find_all_description_termsz0AXUtilitiesCollection.find_all_description_terms�r�rc�f�tjjg}tj	|||�S)z?Returns all descendants of root with the description value role)rrS�DESCRIPTION_VALUErr:rUs   r�find_all_description_valuesz1AXUtilitiesCollection.find_all_description_values�rWrc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the desktop frame role)rrS�
DESKTOP_FRAMErr:rUs   r�find_all_desktop_framesz-AXUtilitiesCollection.find_all_desktop_frames�r�rc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the desktop icon role)rrS�DESKTOP_ICONrr:rUs   r�find_all_desktop_iconsz,AXUtilitiesCollection.find_all_desktop_icons�rmrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the dial role)rrS�DIALrr:rUs   r�find_all_dialsz$AXUtilitiesCollection.find_all_dials��)�������!��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the dialog role)rrS�DIALOGrr:rUs   r�find_all_dialogsz&AXUtilitiesCollection.find_all_dialogs�r}rc�Z�tjd�}tj|||�S)zAReturns all descendants of root that has any dialog or alert roleT)r	�get_dialog_rolesrr:rUs   r�find_all_dialogs_and_alertsz1AXUtilitiesCollection.find_all_dialogs_and_alerts�s)�� �0�0��6��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the directory pane role)rrS�DIRECTORY_PANErr:rUs   r�find_all_directory_panesz.AXUtilitiesCollection.find_all_directory_panes��+�����*�*�+��$�7�7��e�T�J�Jrc�X�tj�}tj|||�S)zBReturns all descendants of root that has any document-related role)r	�get_document_rolesrr:rUs   r�find_all_documentsz(AXUtilitiesCollection.find_all_documents�s'�� �2�2�4��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the document email role)rrS�DOCUMENT_EMAILrr:rUs   r�find_all_document_emailsz.AXUtilitiesCollection.find_all_document_emails�r�rc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the document frame role)rrS�DOCUMENT_FRAMErr:rUs   r�find_all_document_framesz.AXUtilitiesCollection.find_all_document_frames�r�rc�f�tjjg}tj	|||�S)zCReturns all descendants of root with the document presentation role)rrS�DOCUMENT_PRESENTATIONrr:rUs   r�find_all_document_presentationsz5AXUtilitiesCollection.find_all_document_presentations�s+�����1�1�2��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)zBReturns all descendants of root with the document spreadsheet role)rrS�DOCUMENT_SPREADSHEETrr:rUs   r�find_all_document_spreadsheetsz4AXUtilitiesCollection.find_all_document_spreadsheets�s+�����0�0�1��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the document text role)rrS�
DOCUMENT_TEXTrr:rUs   r�find_all_document_textsz-AXUtilitiesCollection.find_all_document_textsr�rc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the document web role)rrS�DOCUMENT_WEBrr:rUs   r�find_all_document_websz,AXUtilitiesCollection.find_all_document_webs
rmrc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the drawing area role)rrS�DRAWING_AREArr:rUs   r�find_all_drawing_areasz,AXUtilitiesCollection.find_all_drawing_areasrmrc��tjjg}|r)|jtjj�t
j
|||�S)z2Returns all descendants of root which are editable)rr��EDITABLE�appendr�rrL)r)�must_be_focusablerr"s    r�find_all_editable_objectsz/AXUtilitiesCollection.find_all_editable_objectssD���/�/�*�*�+����M�M�%�/�/�3�3�4�$�9�9�$���M�Mrc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the editbar role)rrS�EDITBARrr:rUs   r�find_all_editbarsz'AXUtilitiesCollection.find_all_editbars$rfrc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the embedded role)rrS�EMBEDDEDrr:rUs   r�find_all_embeddedsz(AXUtilitiesCollection.find_all_embeddeds+ryrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the entry role)rrS�ENTRYrr:rUs   r�find_all_entriesz&AXUtilitiesCollection.find_all_entries2r[rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the extended role)rrS�EXTENDEDrr:rUs   r�find_all_extendedsz(AXUtilitiesCollection.find_all_extendeds9ryrc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the file chooser role)rrS�FILE_CHOOSERrr:rUs   r�find_all_file_choosersz,AXUtilitiesCollection.find_all_file_choosers@rmrc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the filler role)rrS�FILLERrr:rUs   r�find_all_fillersz&AXUtilitiesCollection.find_all_fillersGr}rc�f�tjjg}tj	|||�S)z3Returns all descendants of root which are focusable)rr�r�rrL�r)rr"s   r�find_all_focusable_objectsz0AXUtilitiesCollection.find_all_focusable_objectsNs+���/�/�+�+�,��$�9�9�$���M�Mrc	���|�gSdg}tjjg}tjj}tj�}tjj}dtj�d||d|d�g	}tjtj|d��fd�}tj|||||��}	tj||	�}
t j#|
|�}
|
S)	zQReturns all focusable descendants of root which support the click-ancestor actionr�rr r!r�Tc����tj|d�}d|tj|�d|g}tjtj
|d�|sy�duxs�|�S)Nzclick-ancestorrzhas click-ancestor Action:TFr�r�s   �rr�zVAXUtilitiesCollection.find_all_focusable_objects_with_click_ancestor.<locals>.is_matchfsf����(�(��.>�?�F�.��X�5O�5O�PS�5T�2�F�<�F����e�.�.���=����4�<�,�4��9�,r)r3r.r/r"r#)rr�r�r7r8r	r�r<r%r&rrrrr'r(rr)r)rr3r"r#r.r�rr�r+rs `         r�.find_all_focusable_objects_with_click_ancestorzDAXUtilitiesCollection.find_all_focusable_objects_with_click_ancestorUs�����<��I��Z�
��/�/�+�+�,�� �4�4�8�8���I�I�K�� �4�4�9�9��*�G�,@�,@�,B��4�!1�5�%��D�R��
���%�*�*�F�D�9�	-��-�-�!��,��-�/���.�.�t�T�:��'�8�8��(�K���rc�f�tjjg}tj	|||�S)z1Returns all descendants of root which are focused)rr��FOCUSEDrrLrs   r�find_all_focused_objectsz.AXUtilitiesCollection.find_all_focused_objectsy�+���/�/�)�)�*��$�9�9�$���M�Mrc�f�tjjg}tj	|||�S)z?Returns all descendants of root with the focus traversable role)rrS�FOCUS_TRAVERSABLErr:rUs   r�find_all_focus_traversablesz1AXUtilitiesCollection.find_all_focus_traversables�rWrc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the font chooser role)rrS�FONT_CHOOSERrr:rUs   r�find_all_font_choosersz,AXUtilitiesCollection.find_all_font_choosers�rmrc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the footer role)rrS�FOOTERrr:rUs   r�find_all_footersz&AXUtilitiesCollection.find_all_footers�r}rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the footnote role)rrS�FOOTNOTErr:rUs   r�find_all_footnotesz(AXUtilitiesCollection.find_all_footnotes�ryrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the form role)rrS�FORMrr:rUs   r�find_all_formsz$AXUtilitiesCollection.find_all_forms�r�rc���tj�}|stj|||�Stj
jg}tj||||�S)z>Returns all descendants of root with a form-field-related role)r	�get_form_field_rolesrr:rr�r�rD�r)r�rr.r"s     r�find_all_form_fieldsz*AXUtilitiesCollection.find_all_form_fields�sU�� �4�4�6�� �(�;�;�D�%��N�N��/�/�+�+�,��$�F�F�t�U�TZ�\`�a�arc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the frame role)rrS�FRAMErr:rUs   r�find_all_framesz%AXUtilitiesCollection.find_all_frames�r[rc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the glass pane role)rrS�
GLASS_PANErr:rUs   r�find_all_glass_panesz*AXUtilitiesCollection.find_all_glass_panes�r�rc�R�|�gSdtj�d|d|g}tjtj|d�t
jjg}dg}tj||��}tj||�}|�tj||�|S)z.Returns all descendants of root that are gridsrr �pred:Tzxml-roles:grid�r.r�)
r%r&rrrrrS�TABLErr'r(rr)r)rrr.r�r+�gridss       r�find_all_gridsz$AXUtilitiesCollection.find_all_grids�s����<��I�*�G�,@�,@�,B��4��$�0��
���%�*�*�F�D�9����!�!�"��&�'�
��-�-�E�j�Q���,�,�T�4�8����!�2�2�5�$�?��rc�J�|�gStj||�}|sgSdtj�d|d|g}t	j
tj|d�g}|D]&}|jtj|���(|�tj||�|S)z3Returns all descendants of root that are grid cellsrr r)T)
rr-r%r&rrr�extend�find_all_table_cellsr)r)rr,r�cells�grids      r�find_all_grid_cellsz)AXUtilitiesCollection.find_all_grid_cells�s����<��I�%�4�4�T�4�@����I�*�G�,@�,@�,B��4��$�0��
���%�*�*�F�D�9����	K�D��L�L�.�C�C�D�I�J�	K���!�2�2�5�$�?��rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the grouping role)rrS�GROUPINGrr:rUs   r�find_all_groupingsz(AXUtilitiesCollection.find_all_groupings�ryrc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the header role)rrS�HEADERrr:rUs   r�find_all_headersz&AXUtilitiesCollection.find_all_headers�r}rc�f�tjjg}tj	|||�S)�5Returns all descendants of root with the heading role)rrS�HEADINGrr:rUs   r�find_all_headingsz'AXUtilitiesCollection.find_all_headings�rfrc�\�|�gSdtj�d|d|d|g}tjtj|d�t
jjg}d|��g}tj||��}tj||�}|�tj||�}|S)r;rr zLevel:r)Tzlevel:r*)
r%r&rrrrrSr<rr'r(rr)r)�levelrrr.r�r+rs        r�find_all_headings_at_levelz0AXUtilitiesCollection.find_all_headings_at_level�s����<��I�*�G�,@�,@�,B��4��5�'�4�A��
���%�*�*�F�D�9����#�#�$���u�g�&�'�
��-�-�E�j�Q���.�.�t�T�:����+�<�<�W�d�K�G��rc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the html container role)rrS�HTML_CONTAINERrr:rUs   r�find_all_html_containersz.AXUtilitiesCollection.find_all_html_containersr�rc��tjjg}tjjg}t
j
||||�S)z>Returns all descendants of root that is a horizontal scrollbar)rrS�
SCROLL_BARr��
HORIZONTALrrD�r)rr.r"s    r�find_all_horizontal_scrollbarsz4AXUtilitiesCollection.find_all_horizontal_scrollbarssA�����&�&�'���/�/�,�,�-��$�F�F�t�U�TZ�\`�a�arc��tjjg}tjjg}t
j
||||�S)z>Returns all descendants of root that is a horizontal separator)rrS�	SEPARATORr�rFrrDrGs    r�find_all_horizontal_separatorsz4AXUtilitiesCollection.find_all_horizontal_separatorssA�����%�%�&���/�/�,�,�-��$�F�F�t�U�TZ�\`�a�arc��tjjg}tjjg}t
j
||||�S)z;Returns all descendants of root that is a horizontal slider)rrS�SLIDERr�rFrrDrGs    r�find_all_horizontal_slidersz1AXUtilitiesCollection.find_all_horizontal_sliders'sA�����"�"�#���/�/�,�,�-��$�F�F�t�U�TZ�\`�a�arc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the icon role)rrS�ICONrr:rUs   r�find_all_iconsz$AXUtilitiesCollection.find_all_icons/r�rc��tjjtjjg}tj|||�S)z<Returns all descendants of root with the icon or canvas role)rrSrPr{rr:rUs   r�find_all_icons_and_canvasesz1AXUtilitiesCollection.find_all_icons_and_canvases6s5�������%�*�*�"3�"3�4��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the image role)rrS�IMAGErr:rUs   r�find_all_imagesz%AXUtilitiesCollection.find_all_images=r[rc��tjjtjjg}tj|||�S)z=Returns all descendants of root with the image or canvas role)rrSrUr{rr:rUs   r�find_all_images_and_canvasesz2AXUtilitiesCollection.find_all_images_and_canvasesDs7�����!�!�5�:�:�#4�#4�5��$�7�7��e�T�J�Jrc��tjjtjjg}tj|||�S)z@Returns all descendants of root with the image or image map role)rrSrU�	IMAGE_MAPrr:rUs   r�find_all_images_and_image_mapsz4AXUtilitiesCollection.find_all_images_and_image_mapsKs7�����!�!�5�:�:�#7�#7�8��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the image map role)rrSrZrr:rUs   r�find_all_image_mapsz)AXUtilitiesCollection.find_all_image_mapsRr_rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the info bar role)rrS�INFO_BARrr:rUs   r�find_all_info_barsz(AXUtilitiesCollection.find_all_info_barsYryrc�f�tjjg}tj	|||�S)zAReturns all descendants of root with the input method window role)rrS�INPUT_METHOD_WINDOWrr:rUs   r�find_all_input_method_windowsz3AXUtilitiesCollection.find_all_input_method_windows`�+�����/�/�0��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z<Returns all descendants of root with the internal frame role)rrS�INTERNAL_FRAMErr:rUs   r�find_all_internal_framesz.AXUtilitiesCollection.find_all_internal_framesgr�rc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the label role)rrS�LABELrr:rUs   r�find_all_labelsz%AXUtilitiesCollection.find_all_labelsnr[rc��tjjtjjg}tj|||�S)z>Returns all descendants of root with the label or caption role)rrSrirrr:rUs   r�find_all_labels_and_captionsz2AXUtilitiesCollection.find_all_labels_and_captionsus7�����!�!�5�:�:�#5�#5�6��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the landmark role)rrS�LANDMARKrr:rUs   r�find_all_landmarksz(AXUtilitiesCollection.find_all_landmarks|ryrc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the layered pane role)rrS�LAYERED_PANErr:rUs   r�find_all_layered_panesz,AXUtilitiesCollection.find_all_layered_panes�rmrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the level bar role)rrS�	LEVEL_BARrr:rUs   r�find_all_level_barsz)AXUtilitiesCollection.find_all_level_bars�r_rc���tjjg}|stj	|||�Stj
jg}tj||||�S)z2Returns all descendants of root with the link role)rrS�LINKrr:r�r�rDr s     r�find_all_linksz$AXUtilitiesCollection.find_all_links�sW�������!�� �(�;�;�D�%��N�N��/�/�+�+�,��$�F�F�t�U�TZ�\`�a�arc�V�|�gSdtj�d|d|g}tjtj|d�g}gd�}|D]}|jd|z��t
j|��}t
j||�}|�tj||�}|S)z5Returns all descendants of root that are live regionsrr r)T)�off�polite�	assertivezcontainer-live:)r�)r%r&rrrr�rr'r(rr)r)rrr��levelsr?r+rs        r�find_all_live_regionsz+AXUtilitiesCollection.find_all_live_regions�s����<��I�*�G�,@�,@�,B��4��$�0��
���%�*�*�F�D�9��
�/���	9�E����/�%�7�8�	9��-�-��D���.�.�t�T�:����+�<�<�W�d�K�G��rc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the list role)rrS�LISTrr:rUs   r�find_all_listsz$AXUtilitiesCollection.find_all_lists�r�rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the list box role)rrS�LIST_BOXrr:rUs   r�find_all_list_boxesz)AXUtilitiesCollection.find_all_list_boxes�ryrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the list item role)rrS�	LIST_ITEMrr:rUs   r�find_all_list_itemsz)AXUtilitiesCollection.find_all_list_items�r_rc�f�tjjg}tj	|||�S)z1Returns all descendants of root with the log role)rrS�LOGrr:rUs   r�
find_all_logsz#AXUtilitiesCollection.find_all_logs�s)������� ��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the mark role)rrS�MARKrr:rUs   r�find_all_marksz$AXUtilitiesCollection.find_all_marks�r�rc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the marquee role)rrS�MARQUEErr:rUs   r�find_all_marqueesz'AXUtilitiesCollection.find_all_marquees�rfrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the math role)rrS�MATHrr:rUs   r�find_all_mathsz$AXUtilitiesCollection.find_all_maths�r�rc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the math fraction role)rrS�
MATH_FRACTIONrr:rUs   r�find_all_math_fractionsz-AXUtilitiesCollection.find_all_math_fractions�r�rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the math root role)rrS�	MATH_ROOTrr:rUs   r�find_all_math_rootsz)AXUtilitiesCollection.find_all_math_roots�r_rc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the menu role)rrS�MENUrr:rUs   r�find_all_menusz$AXUtilitiesCollection.find_all_menus�r�rc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the menubar role)rrS�MENU_BARrr:rUs   r�find_all_menu_barsz(AXUtilitiesCollection.find_all_menu_bars�ryrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the menu item role)rrS�	MENU_ITEMrr:rUs   r�find_all_menu_itemsz)AXUtilitiesCollection.find_all_menu_itemsr_rc�X�tj�}tj|||�S)z;Returns all descendants of root that has any menu item role)r	�get_menu_item_rolesrr:rUs   r�find_all_menu_items_of_any_kindz5AXUtilitiesCollection.find_all_menu_items_of_any_kinds'�� �3�3�5��$�7�7��e�T�J�Jrc�X�tj�}tj|||�S)z>Returns all descendants of root that has any menu-related role)r	�get_menu_related_rolesrr:rUs   r�find_all_menu_related_objectsz3AXUtilitiesCollection.find_all_menu_related_objects�'�� �6�6�8��$�7�7��e�T�J�Jrc��tjd�}tjjg}t
j
||||�S)zMReturns all descendants of root with the alert or dialog role and modal stateT)r	r�rr��MODALrrDrGs    r�find_all_modal_dialogsz,AXUtilitiesCollection.find_all_modal_dialogss?�� �0�0��6���/�/�'�'�(��$�F�F�t�U�TZ�\`�a�arc��tjjg}tjjg}t
j
||||�S�zGReturns all descendants of root with the entry role and multiline state)rrSr�r��
MULTI_LINErrDrGs    r�find_all_multi_line_entriesz1AXUtilitiesCollection.find_all_multi_line_entriessA�����!�!�"���/�/�,�,�-��$�F�F�t�U�TZ�\`�a�arc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the notification role)rrS�NOTIFICATIONrr:rUs   r�find_all_notificationsz,AXUtilitiesCollection.find_all_notifications%rmrc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the option pane role)rrS�OPTION_PANErr:rUs   r�find_all_option_panesz+AXUtilitiesCollection.find_all_option_panes,rqrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the page role)rrS�PAGErr:rUs   r�find_all_pagesz$AXUtilitiesCollection.find_all_pages3r�rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the page tab role)rrS�PAGE_TABrr:rUs   r�find_all_page_tabsz(AXUtilitiesCollection.find_all_page_tabs:ryrc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the page tab list role)rrS�
PAGE_TAB_LISTrr:rUs   r�find_all_page_tab_listsz-AXUtilitiesCollection.find_all_page_tab_listsAr�rc��tjjtjjg}tj|||�S)zGReturns all descendants of root with the page tab or page tab list role)rrSr�r�rr:rUs   r�&find_all_page_tab_list_related_objectsz<AXUtilitiesCollection.find_all_page_tab_list_related_objectsHs7�����)�)�5�:�:�+>�+>�?��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the panel role)rrS�PANELrr:rUs   r�find_all_panelsz%AXUtilitiesCollection.find_all_panelsOr[rc��tjjg}|r)|jtjj�t
j
|||�S)z7Returns all descendants of root with the paragraph role)rrS�	PARAGRAPHr�r<rr:)r)�treat_headings_as_paragraphsrr.s    r�find_all_paragraphsz)AXUtilitiesCollection.find_all_paragraphsVsD�����%�%�&��'��L�L����+�+�,�$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the password text role)rrS�
PASSWORD_TEXTrr:rUs   r�find_all_password_textsz-AXUtilitiesCollection.find_all_password_texts_r�rc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the popup menu role)rrS�
POPUP_MENUrr:rUs   r�find_all_popup_menusz*AXUtilitiesCollection.find_all_popup_menusfr�rc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the progress bar role)rrS�PROGRESS_BARrr:rUs   r�find_all_progress_barsz,AXUtilitiesCollection.find_all_progress_barsmrmrc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the push button role)rrSrsrr:rUs   r�find_all_push_buttonsz+AXUtilitiesCollection.find_all_push_buttonstrqrc�f�tjjg}tj	|||�S)z>Returns all descendants of root with the push button menu role)rrS�PUSH_BUTTON_MENUrr:rUs   r�find_all_push_button_menusz0AXUtilitiesCollection.find_all_push_button_menus{r�rc�f�tjjg}tj	|||�S)z:Returns all descendants of root with the radio button role)rrS�RADIO_BUTTONrr:rUs   r�find_all_radio_buttonsz,AXUtilitiesCollection.find_all_radio_buttons�rmrc�f�tjjg}tj	|||�S)z=Returns all descendants of root with the radio menu item role)rrS�RADIO_MENU_ITEMrr:rUs   r�find_all_radio_menu_itemsz/AXUtilitiesCollection.find_all_radio_menu_items�r�rc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the rating role)rrS�RATINGrr:rUs   r�find_all_ratingsz&AXUtilitiesCollection.find_all_ratings�r}rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the root pane role)rrS�	ROOT_PANErr:rUs   r�find_all_root_panesz)AXUtilitiesCollection.find_all_root_panes�r_rc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the row header role)rrS�
ROW_HEADERrr:rUs   r�find_all_row_headersz*AXUtilitiesCollection.find_all_row_headers�r�rc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the ruler role)rrS�RULERrr:rUs   r�find_all_rulersz%AXUtilitiesCollection.find_all_rulers�r[rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the scrollbar role)rrSrErr:rUs   r�find_all_scroll_barsz*AXUtilitiesCollection.find_all_scroll_bars�r�rc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the scroll pane role)rrS�SCROLL_PANErr:rUs   r�find_all_scroll_panesz+AXUtilitiesCollection.find_all_scroll_panes�rqrc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the section role)rrS�SECTIONrr:rUs   r�find_all_sectionsz'AXUtilitiesCollection.find_all_sections�rfrc�f�tjjg}tj	|||�S)z4Returns all descendants of root which are selectable)rr��
SELECTABLErrLrs   r�find_all_selectable_objectsz1AXUtilitiesCollection.find_all_selectable_objects�s+���/�/�,�,�-��$�9�9�$���M�Mrc�f�tjjg}tj	|||�S)z2Returns all descendants of root which are selected)rr��SELECTEDrrLrs   r�find_all_selected_objectsz/AXUtilitiesCollection.find_all_selected_objects�s+���/�/�*�*�+��$�9�9�$���M�Mrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the separator role)rrSrJrr:rUs   r�find_all_separatorsz)AXUtilitiesCollection.find_all_separators�r_rc�X�tj�}tj|||�S)z9Returns all descendants of root with a set container role)r	�get_set_container_rolesrr:rUs   r�find_all_set_containersz-AXUtilitiesCollection.find_all_set_containers�s'�� �7�7�9��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z1Returns all descendants of root which are showing)rr��SHOWINGrrLrs   r�find_all_showing_objectsz.AXUtilitiesCollection.find_all_showing_objects�rrc��tjjtjjg}tj|||�S)z=Returns all descendants of root which are showing and visible)rr�r��VISIBLErrLrs   r�$find_all_showing_and_visible_objectsz:AXUtilitiesCollection.find_all_showing_and_visible_objects�s7���/�/�)�)�5�?�?�+B�+B�C��$�9�9�$���M�Mrc��tjjtjjg}tj|||�S)z<Returns all descendants of root which are showing or visible)rr�r�rrrOrs   r�#find_all_showing_or_visible_objectsz9AXUtilitiesCollection.find_all_showing_or_visible_objects�s7���/�/�)�)�5�?�?�+B�+B�C��$�<�<�T�6�4�P�Prc��tjjg}tjjg}t
j
||||�Sr�)rrSr�r��SINGLE_LINErrDrGs    r�find_all_single_line_entriesz2AXUtilitiesCollection.find_all_single_line_entries�sA�����!�!�"���/�/�-�-�.��$�F�F�t�U�TZ�\`�a�arc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the slider role)rrSrMrr:rUs   r�find_all_slidersz&AXUtilitiesCollection.find_all_sliders�r}rc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the spin button role)rrS�SPIN_BUTTONrr:rUs   r�find_all_spin_buttonsz+AXUtilitiesCollection.find_all_spin_buttonsrqrc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the split pane role)rrS�
SPLIT_PANErr:rUs   r�find_all_split_panesz*AXUtilitiesCollection.find_all_split_panesr�rc�f�tjjg}tj	|||�S)z4Returns all descendants of root with the static role)rrS�STATICrr:rUs   r�find_all_staticsz&AXUtilitiesCollection.find_all_staticsr}rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the statusbar role)rrS�
STATUS_BARrr:rUs   r�find_all_status_barsz*AXUtilitiesCollection.find_all_status_barsr�rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the subscript role)rrS�	SUBSCRIPTrr:rUs   r�find_all_subscriptsz)AXUtilitiesCollection.find_all_subscriptsr_rc��tjjtjjg}tj|||�S)zFReturns all descendants of root with the subscript or superscript role)rrSr�SUPERSCRIPTrr:rUs   r�$find_all_subscripts_and_superscriptsz:AXUtilitiesCollection.find_all_subscripts_and_superscripts$s7�����%�%�u�z�z�'=�'=�>��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the suggestion role)rrS�
SUGGESTIONrr:rUs   r�find_all_suggestionsz*AXUtilitiesCollection.find_all_suggestions+r�rc�f�tjjg}tj	|||�S)z9Returns all descendants of root with the superscript role)rrSrrr:rUs   r�find_all_superscriptsz+AXUtilitiesCollection.find_all_superscripts2rqrc�6�dg}tj|||�S)zBReturns all descendants of root which support the action interfacer��rr5�r)rr3s   r�find_all_supports_actionz.AXUtilitiesCollection.find_all_supports_action9s!���Z�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zDReturns all descendants of root which support the document interface�Documentr!r"s   r�find_all_supports_documentz0AXUtilitiesCollection.find_all_supports_document@s!��!�\�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zIReturns all descendants of root which support the editable text interface�EditableTextr!r"s   r�find_all_supports_editable_textz5AXUtilitiesCollection.find_all_supports_editable_textGs"��%�%�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zEReturns all descendants of root which support the hypertext interface�	Hypertextr!r"s   r�find_all_supports_hypertextz1AXUtilitiesCollection.find_all_supports_hypertextN�!��"�]�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zEReturns all descendants of root which support the hyperlink interface�	Hyperlinkr!r"s   r�find_all_supports_hyperlinkz1AXUtilitiesCollection.find_all_supports_hyperlinkUr-rc�6�dg}tj|||�S)zEReturns all descendants of root which support the selection interface�	Selectionr!r"s   r�find_all_supports_selectionz1AXUtilitiesCollection.find_all_supports_selection\r-rc�6�dg}tj|||�S)zAReturns all descendants of root which support the table interface�Tabler!r"s   r�find_all_supports_tablez-AXUtilitiesCollection.find_all_supports_tablec�!���Y�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zFReturns all descendants of root which support the table cell interface�	TableCellr!r"s   r�find_all_supports_table_cellz2AXUtilitiesCollection.find_all_supports_table_celljr-rc�6�dg}tj|||�S)z@Returns all descendants of root which support the text interface�Textr!r"s   r�find_all_supports_textz,AXUtilitiesCollection.find_all_supports_textqs!���X�
�$�=�=�d�J�PT�U�Urc�6�dg}tj|||�S)zAReturns all descendants of root which support the value interface�Valuer!r"s   r�find_all_supports_valuez-AXUtilitiesCollection.find_all_supports_valuexr7rc��|�gSdtj�d|d|g}tjtj|d�t
jjg}dg}t
jj}tj|||��}tj||�}|�tj||�|S)z3Returns all descendants of root with the table rolerr r)Tzlayout-guess:true)r.r�r�)r%r&rrrrrSr+r7r<rr'r(rr)r)rrr.r�r�r+�tabless        r�find_all_tablesz%AXUtilitiesCollection.find_all_tabless����<��I�*�G�,@�,@�,B�G�T�SZ�\`�a��
���%�*�*�F�D�9����!�!�"��)�*�
�$�8�8�=�=���-�-��!�!5�7��
�-�-�d�D�9����!�2�2�6�4�@��
rc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the table cell role)rrS�
TABLE_CELLrr:rUs   rr0z*AXUtilitiesCollection.find_all_table_cells�r�rc�X�tj�}tj|||�S)zLReturns all descendants of root with the table cell or a header-related role)r	�get_table_cell_rolesrr:rUs   r� find_all_table_cells_and_headersz6AXUtilitiesCollection.find_all_table_cells_and_headers�s'�� �4�4�6��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)zAReturns all descendants of root with the table column header role)rrS�TABLE_COLUMN_HEADERrr:rUs   r�find_all_table_column_headersz3AXUtilitiesCollection.find_all_table_column_headers�rdrc�X�tj�}tj|||�S)zDReturns all descendants of root that has a table header related role)r	�get_table_header_rolesrr:rUs   r�find_all_table_headersz,AXUtilitiesCollection.find_all_table_headers�r�rc�Z�tj|�}tj|||�S)z=Returns all descendants of root that has a table related role)r	�get_table_related_rolesrr:)r)r�include_captionr.s    r�find_all_table_related_objectsz4AXUtilitiesCollection.find_all_table_related_objects�s)�� �7�7��H��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the table row role)rrS�	TABLE_ROWrr:rUs   r�find_all_table_rowsz)AXUtilitiesCollection.find_all_table_rows�r_rc�f�tjjg}tj	|||�S)z>Returns all descendants of root with the table row header role)rrS�TABLE_ROW_HEADERrr:rUs   r�find_all_table_row_headersz0AXUtilitiesCollection.find_all_table_row_headers�r�rc�f�tjjg}tj	|||�S)z?Returns all descendants of root with the tearoff menu item role)rrS�TEAROFF_MENU_ITEMrr:rUs   r�find_all_tearoff_menu_itemsz1AXUtilitiesCollection.find_all_tearoff_menu_items�rWrc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the terminal role)rrS�TERMINALrr:rUs   r�find_all_terminalsz(AXUtilitiesCollection.find_all_terminals�ryrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the text role)rrS�TEXTrr:rUs   r�find_all_textsz$AXUtilitiesCollection.find_all_texts�r�rc���tjjtjjtjjg}t
j
|||�S)zOReturns all descendants of root that has any role associated with textual input)rrSr�r�r
rr:rUs   r�find_all_text_inputsz*AXUtilitiesCollection.find_all_text_inputs�sC�����!�!�5�:�:�#;�#;�U�Z�Z�=S�=S�T��$�7�7��e�T�J�Jrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the timer role)rrS�TIMERrr:rUs   r�find_all_timersz%AXUtilitiesCollection.find_all_timers�r[rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the titlebar role)rrS�	TITLE_BARrr:rUs   r�find_all_title_barsz)AXUtilitiesCollection.find_all_title_bars�r_rc�f�tjjg}tj	|||�S)z;Returns all descendants of root with the toggle button role)rrSrtrr:rUs   r�find_all_toggle_buttonsz-AXUtilitiesCollection.find_all_toggle_buttons�r�rc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the toolbar role)rrS�TOOL_BARrr:rUs   r�find_all_tool_barsz(AXUtilitiesCollection.find_all_tool_bars�ryrc�f�tjjg}tj	|||�S)z5Returns all descendants of root with the tooltip role)rrS�TOOL_TIPrr:rUs   r�find_all_tool_tipsz(AXUtilitiesCollection.find_all_tool_tipsryrc�f�tjjg}tj	|||�S)z2Returns all descendants of root with the tree role)rrS�TREErr:rUs   r�find_all_treesz$AXUtilitiesCollection.find_all_treesr�rc��tjjtjjg}tj|||�S)z@Returns all descendants of root with the tree or tree table role)rrSrs�
TREE_TABLErr:rUs   r�find_all_trees_and_tree_tablesz4AXUtilitiesCollection.find_all_trees_and_tree_tabless5�������%�*�*�"7�"7�8��$�7�7��e�T�J�Jrc�X�tj�}tj|||�S)z<Returns all descendants of root that has a tree related role)r	�get_tree_related_rolesrr:rUs   r�find_all_tree_related_objectsz3AXUtilitiesCollection.find_all_tree_related_objectsr�rc�f�tjjg}tj	|||�S)z7Returns all descendants of root with the tree item role)rrS�	TREE_ITEMrr:rUs   r�find_all_tree_itemsz)AXUtilitiesCollection.find_all_tree_itemsr_rc�f�tjjg}tj	|||�S)z8Returns all descendants of root with the tree table role)rrSrvrr:rUs   r�find_all_tree_tablesz*AXUtilitiesCollection.find_all_tree_tables#r�rc����fd�}tjjtjjg}|stj|||�}|Stjjg}tj||||�}|S)zLReturns all the descendants of root that have a label role, but no relationsc�F��tj|�ry���|�Sy)NFT)r�
get_relations)r�rs �r�_predz>AXUtilitiesCollection.find_all_unrelated_labels.<locals>._pred.s'����%�%�c�*�����C�y� �r)	rrSrirrr:r�r�rD)r)�must_be_showingrr�r.rr"s  `    r�find_all_unrelated_labelsz/AXUtilitiesCollection.find_all_unrelated_labels*sz���	����!�!�5�:�:�#4�#4�5���+�>�>�t�U�E�R�G���	�o�o�-�-�.�F�+�M�M��e�V�U�,�G��rc���tjjg}tjjg}t
j
||||�}|r#tttj|��}|S)zPReturns all descendants of root with the link role and without the visited state)rrSrwr��VISITEDrrIrrr
�is_focusable)r)r�rr.r"r�s      r�find_all_unvisited_linksz.AXUtilitiesCollection.find_all_unvisited_links?s^�������!���/�/�)�)�*��&�H�H��u�V\�^b�c����&�!1�!>�!>��G�H�F��
rc��tjjg}tjjg}t
j
||||�S)z<Returns all descendants of root that is a vertical scrollbar)rrSrEr��VERTICALrrDrGs    r�find_all_vertical_scrollbarsz2AXUtilitiesCollection.find_all_vertical_scrollbarsJsA�����&�&�'���/�/�*�*�+��$�F�F�t�U�TZ�\`�a�arc��tjjg}tjjg}t
j
||||�S)z<Returns all descendants of root that is a vertical separator)rrSrJr�r�rrDrGs    r�find_all_vertical_separatorsz2AXUtilitiesCollection.find_all_vertical_separatorsRsA�����%�%�&���/�/�*�*�+��$�F�F�t�U�TZ�\`�a�arc��tjjg}tjjg}t
j
||||�S)z9Returns all descendants of root that is a vertical slider)rrSrMr�r�rrDrGs    r�find_all_vertical_slidersz/AXUtilitiesCollection.find_all_vertical_slidersZsA�����"�"�#���/�/�*�*�+��$�F�F�t�U�TZ�\`�a�arc�f�tjjg}tj	|||�S)z1Returns all descendants of root which are visible)rr�rrrLrs   r�find_all_visible_objectsz.AXUtilitiesCollection.find_all_visible_objectsbrrc�f�tjjg}tj	|||�S)z3Returns all descendants of root with the video role)rrS�VIDEOrr:rUs   r�find_all_videosz%AXUtilitiesCollection.find_all_videosir[rc�f�tjjg}tj	|||�S)z6Returns all descendants of root with the viewport role)rrS�VIEWPORTrr:rUs   r�find_all_viewportsz(AXUtilitiesCollection.find_all_viewportspryrc���tjjg}tjjg}|r)|jtjj�tj||||�S)zQReturns all descendants of root with the link role and focused and visited states)	rrSrwr�r�r�r�rrDr s     r�find_all_visited_linksz,AXUtilitiesCollection.find_all_visited_linkswsX�������!���/�/�)�)�*����M�M�%�/�/�3�3�4�$�F�F�t�U�TZ�\`�a�arc���tjjg}tjjg}tj||��}tj||�S)z&Returns the default button inside root�r.r")rrSrsr��
IS_DEFAULTrr'�get_first_match�r)r.r"r+s    r�find_default_buttonz)AXUtilitiesCollection.find_default_button�sM�����'�'�(���/�/�,�,�-���-�-�E�&�I���+�+�D�$�7�7rc��tjjg}tj|��}tj
||�S)z&Returns the focused object inside root�r")rr�rrr'r��r)r"r+s   r�find_focused_objectz)AXUtilitiesCollection.find_focused_object�s9���/�/�)�)�*���-�-�V�<���+�+�D�$�7�7rc��tjjg}tjjtjj
g}t
j||��}t
j||�S)z"Returns the status bar inside rootr�)	rrSrr�r�rrr'r�r�s    r�find_status_barz%AXUtilitiesCollection.find_status_bar�sY�����&�&�'���/�/�)�)�5�?�?�+B�+B�C���-�-�E�&�I���+�+�D�$�7�7rc�>�tjjtjjg}tjj
tjjg}tj||��}ttj||��S)zJReturns True if there's a showing, visible combobox or listbox inside rootr�)rrSr�r�r�r�rrr'�boolr�r�s    r�has_combo_box_or_list_boxz/AXUtilitiesCollection.has_combo_box_or_list_box�sj�����%�%�u�z�z�':�':�;���/�/�)�)�5�?�?�+B�+B�C���-�-�E�&�I���L�0�0��t�<�=�=rc��tjjtjjtjjg}tj|��}ttj||��S)zGReturns True if there's a showing, visible, editable object inside rootr�)	rr�r�rr�rr'r�r�r�s   r�has_editable_objectz)AXUtilitiesCollection.has_editable_object�sV���/�/�)�)�5�?�?�+B�+B�E�O�O�D\�D\�]���-�-�V�<���L�0�0��t�<�=�=rc��tjjg}tjjtjj
g}t
j||��}tt
j||��S)zBReturns True if there's a showing, visible scroll pane inside rootr�)
rrSr�r�r�rrr'r�r�r�s    r�has_scroll_panez%AXUtilitiesCollection.has_scroll_pane�s^�����'�'�(���/�/�)�)�5�?�?�+B�+B�C���-�-�E�&�I���L�0�0��t�<�=�=rc��tjjg}tjjtjj
g}t
j||��}tt
j||��S)zAReturns True if there's a showing, visible split pane inside rootr�)
rrSr
r�r�rrr'r�r�r�s    r�has_split_panez$AXUtilitiesCollection.has_split_pane�s^�����&�&�'���/�/�)�)�5�?�?�+B�+B�C���-�-�E�&�I���L�0�0��t�<�=�=rc�>�tjjtjjg}tjj
tjjg}tj||��}ttj||��S)zIReturns True if there's a showing, visible tree or tree table inside rootr�)rrSrsrvr�r�rrr'r�r�r�s    r�has_tree_or_tree_tablez,AXUtilitiesCollection.has_tree_or_tree_table�sh�������%�*�*�"7�"7�8���/�/�)�)�5�?�?�+B�+B�C���-�-�E�&�I���L�0�0��t�<�=�=r)N)TN)FN)NF)��__name__�
__module__�__qualname__�__doc__�staticmethodrr,r1r5r:r=rDrGrIrLrOrQrVrZr^rbrerirlrprurxr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r
rrrrrr!r$r'r-r3r6r9r=r@rCrHrKrNrQrSrVrXr[r]r`rcrgrjrlrorrrurxr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrrr#r&r)r,r0r3r6r:r=r@rCr0rHrKrNrRrUrXr[r^rarcrfrirkrnrqrtrwrzr}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��rrrr3s��I��������� ���� ����$�B��B��C��C�����(����(����(�C��C��C��C��D��D��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��%��%�N�K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��N��N��K��K��K��K��K��K��K��K��K��K��K��K��N��N��!��!�F�N��N��K��K��K��K��K��K��K��K��K��K��b��b��K��K��K��K�����&����.�K��K��K��K��K��K�����$�K��K��b��b��b��b��b��b��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��b��b�����,�K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��b��b��b��b��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��N��N��N��N��K��K��K��K��N��N��N��N��Q��Q��b��b��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V��V�����.�K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K��K�����(�����b��b��b��b��b��b��N��N��K��K��K��K��b��b��8��8��8��8��8��8��>��>��>��>��>��>��>��>��>��>rr)r��__id__�__version__�__date__�
__copyright__�__license__r%r�gi�require_version�
gi.repositoryr�r�
ax_collectionr�	ax_objectr�ax_utilities_roler	�ax_utilities_stater
rr�rr�<module>r�s^��*�������1�
�����	�����7�E�"���'��.�0�R>�R>r

Zerion Mini Shell 1.0