
    g
f$                     r    d Z dZdZdZdZddlmZ ddlmZ ddl	m
Z
 ddlmZ  G d	 d
ej                        Zy)z$Id$z
$Revision$z$Date$zCopyright (c) 2023 Igalia, S.L.LGPL    N)AXObject)AXUtilitiesc                   D     e Zd Z fdZd Zd fd	Z fdZ fdZ xZS )	Utilitiesc                 $    t         |   |       y N)super__init__)selfscript	__class__s     K/usr/lib/python3/dist-packages/orca/scripts/toolkits/Qt/script_utilities.pyr   zUtilities.__init__$   s         c                 R    t        j                  t        j                  |            S r	   )r   is_applicationr   
get_parent)r   objs     r   _isTopLevelObjectzUtilities._isTopLevelObject'   s      ))(*=*=c*BCCr   c                     t         |   |d      }|Ot        j                  |      | j	                         vr*d|dg}t        j                  t
        j                  |d       |S )NT)useFallbackSearchzQT: Top level objectzlacks expected role.)r
   topLevelObjectr   get_role_topLevelRolesdebugprintTokens
LEVEL_INFO)r   r   r   resulttokensr   s        r   r   zUtilities.topLevelObject,   sd     't'D("3"3F";4CVCVCX"X,f6LMFe..=r   c                    t         |   |      \  }}|s|r||fS d|g}t        j                  t        j                  |d       | j                  |d      }d|d|g}t        j                  t        j                  |d       |dfS )z;Returns the frame and (possibly) the dialog containing obj.z&QT: Could not find frame or dialog forTzQT: Returningzas frame forN)r
   frameAndDialogr   r   r   r   )r   r   framedialogr   topLevelr   s         r   r!   zUtilities.frameAndDialog7   s     .s3vF&= :C@%**FD9&&sD1!8^SA%**FD9~r   c                     t        j                  |      r+d|dg}t        j                  t        j                  |d       yt
        |   |      S )z3Returns True if obj has a meaningful toggle action.zQT: Ignoring toggle action on.TF)r   is_table_cell_or_headerr   r   r   r
   hasMeaningfulToggleAction)r   r   r   r   s      r   r(   z#Utilities.hasMeaningfulToggleActionF   sJ     ..s35sC@Fe..=w055r   )F)	__name__
__module____qualname__r   r   r   r!   r(   __classcell__)r   s   @r   r   r   "   s"    !D
		6 	6r   r   )__id____version____date____copyright____license__
orca.debugr   orca.script_utilitiesscript_utilitiesorca.ax_objectr   orca.ax_utilitiesr   r    r   r   <module>r8      s?   , 
1  0 # )-6 ** -6r   