
    g
fs
                         d Z dZdZdZdZdZddlZ ej                  dd	       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+Customized support for spellcheck in Gedit.z$Id$z
$Revision$z$Date$zCopyright (c) 2014 Igalia, S.L.LGPL    NAtspiz2.0)r   )AXObject)AXUtilitiesc                   <     e Zd Z fdZd Zd Zd Zd Zd Z xZ	S )
SpellCheckc                 ,    t         t        |   |       y N)superr   __init__)selfscript	__class__s     D/usr/lib/python3/dist-packages/orca/scripts/apps/gedit/spellcheck.pyr   zSpellCheck.__init__)   s    j$(0    c                     |syt        j                  |      }|t        j                  j                  k(  ry|t        j                  j
                  k7  ryt        j                  |t        j                        ryy)NFT)	r   get_roler   RoleDIALOGFRAMEfind_descendantr   is_split_pane)r   windowroles      r   _isCandidateWindowzSpellCheck._isCandidateWindow,   s^      (5::$$$5::#####FK,E,EFr   c                 4    d }t        j                  ||      S )Nc                 Z    t        j                  |       xr t        j                  |       S r
   )r   is_textis_single_linexs    r   isEntryz.SpellCheck._findChangeToEntry.<locals>.isEntry<   s#    &&q)Kk.H.H.KKr   r   r   )r   rootr"   s      r   _findChangeToEntryzSpellCheck._findChangeToEntry;   s    	L ''g66r   c                     t        j                  | j                  t        j                        }|y d }t        j
                  ||      S )Nc                     t        j                  |       xr/ dt        j                  |       vxr t        j                  |        S )N:)r   is_labelr   get_nameget_relationsr    s    r   isErrorz,SpellCheck._findErrorWidget.<locals>.isErrorF   sG    ''* X!2!21!55X>F>T>TUV>W:WXr   )r   find_ancestor_changeToEntryr   is_panelr   )r   r$   panelr,   s       r   _findErrorWidgetzSpellCheck._findErrorWidgetA   sC    &&t':':K<P<PQ=	X ''w77r   c                 4    d }t        j                  ||      S )Nc                 Z    t        j                  |       xr t        j                  |       S r
   )r   is_tabler   supports_selectionr    s    r   isTablez0SpellCheck._findSuggestionsList.<locals>.isTableM   s#    ''*Mx/J/J1/MMr   r#   )r   r$   r6   s      r   _findSuggestionsListzSpellCheck._findSuggestionsListL   s    	N ''g66r   c                 d    | j                   j                  j                  |      \  }}|dz  }||fS )N   )_script	utilitiesgetPositionAndSetSize)r   
suggestionindextotals       r   _getSuggestionIndexAndPositionz)SpellCheck._getSuggestionIndexAndPositionR   s3    ||--CCJOu
e|r   )
__name__
__module____qualname__r   r   r%   r1   r7   r@   __classcell__)r   s   @r   r   r   '   s!    17	87r   r   )__doc____id____version____date____copyright____license__girequire_versiongi.repositoryr   orca.spellcheck
spellcheckorca.ax_objectr   orca.ax_utilitiesr   r    r   r   <module>rS      sV   , 2	1 	   7E "  $ # ).&& .r   