
    g
f                         d Z dZdZdZdZdZddlmZ ddlm	c m
c 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Custom script for gedit.z$Id$z
$Revision$z$Date$z-Copyright (c) 2005-2008 Sun Microsystems Inc.LGPL    N)AXObject)AXUtilities   
SpellCheckc                   f     e Zd Zd Zd Zd Zd Z fdZd Zd Z	d Z
d	 Zd
 Zd Zd Zd Z xZS )Scriptc                 D    t         j                  j                  | |       y)z/Creates a new script for the given application.N)gtkr
   __init__)selfapps     @/usr/lib/python3/dist-packages/orca/scripts/apps/gedit/script.pyr   zScript.__init__%   s     	

D#&    c                     t        |       S )z'Returns the spellcheck for this script.r   r   s    r   getSpellCheckzScript.getSpellCheck*   s     $r   c                     ddl m} |j                         }|j                  d       |j	                  | j
                  j                         dddd       |j                          |S )zpReturns a GtkGrid containing the application unique configuration
        GUI items for the current application.r   )Gtk   r   )gi.repositoryr   Gridset_border_widthattach
spellcheckgetAppPreferencesGUIshow_all)r   r   grids      r   r   zScript.getAppPreferencesGUI/   sO     	&xxzb!DOO88:Aq!QGr   c                 6    | j                   j                         S )z7Returns a dictionary with the app-specific preferences.)r   getPreferencesFromGUIr   s    r   r!   zScript.getPreferencesFromGUI<   s     4466r   c                     | j                   j                  |      rJ| j                   j                  |       }| j                  |       | j                   j                  |       yt        |   |||       y)z3Handles changes of focus of interest to the script.)includeLabelN)r   isSuggestionsItemupdateBraillepresentSuggestionListItemsuperlocusOfFocusChanged)r   eventoldFocusnewFocusr#   	__class__s        r   r(   zScript.locusOfFocusChangedA   se     ??,,X6#@@JJLx(OO55<5P#E8X>r   c                     |j                   | j                  j                         k(  ryt        j                  j                  | |       y)zCCallback for object:active-descendant-changed accessibility events.N)sourcer   getSuggestionsListr   r
   onActiveDescendantChangedr   r)   s     r   r0   z Script.onActiveDescendantChangedL   s4     <<4??==??

,,T59r   c                     t        j                  |j                        r0| j                  j	                  |j                  |j
                         t        j                  j                  | |       y)z:Callback for object:text-caret-moved accessibility events.N)	r   is_multi_liner.   r   setDocumentPositiondetail1r   r
   onCaretMovedr1   s     r   r6   zScript.onCaretMovedT   sF     $$U\\2OO//emmL

e,r   c                 ^    |j                   syt        j                  j                  | |       y)z?Callback for object:state-changed:focused accessibility events.N)r5   r   r
   onFocusedChangedr1   s     r   r8   zScript.onFocusedChanged\   s"     }}

##D%0r   c                    | j                   j                         s!t        j                  j	                  | |       yt        j                  |j                        }|| j                   j                         k(  r| j                   j                          yt        j                  |j                        }|| j                   j                         k7  st        j                  |      sy| j                   j                         }|| j                  j!                  |      k7  ryt#        j$                         j'                  ||j                  d       | j)                  |j                         y)z;Callback for object:property-change:accessible-name events.NF)r   isActiver   r
   onNameChangedr   get_namer.   getMisspelledWordpresentErrorDetails
get_parentr/   r   
is_focusedgetChangeToEntry	utilitiesdisplayedTextfocus_manager
getManagerset_locus_of_focusr%   )r   r)   nameparententrys        r   r;   zScript.onNameChangedd   s     '')JJ$$T51  .4??4466OO//1$$U\\2T__7799((00024>>//66 	  "55eU\\5Q5<<(r   c                     |j                   | j                  j                         k(  r| j                  j                         ryt        j
                  j                  | |       y)zACallback for object:state-changed:sensitive accessibility events.N)r.   r   rA   presentCompletionMessager   r
   onSensitiveChangedr1   s     r   rL   zScript.onSensitiveChanged~   sD     <<4??;;==779

%%dE2r   c                    t        j                         j                         }|j                  |k(  r!t        j
                  j                  | |       y| j                  j                  |d      syt        j                  |j                        rt        j                  |j                        sy| j                  j                         \  }}|dv ry| j                  |j                         y)z@Callback for object:text-selection-changed accessibility events.NT)	BackSpaceDelete)rD   rE   get_locus_of_focusr.   r   r
   onTextSelectionChangedrB   isSearchEntryr   
is_showing
is_visiblelastKeyAndModifierssayLine)r   r)   focus	keyStringmodss        r   rQ   zScript.onTextSelectionChanged   s     ((*==?<<5 JJ--dE:~~++E48&&u||49O9OPUP\P\9] ..<<>	4//U\\"r   c                 d   t         j                  j                  | |       | j                  j	                  |j
                        sy| j                  j                          | j                  j                         }t        j                         j                  d|d       | j                  |       y)z2Callback for window:activate accessibility events.NF)r   r
   onWindowActivatedr   isCheckWindowr.   r>   rA   rD   rE   rF   r%   )r   r)   rI   s      r   r[   zScript.onWindowActivated   s|     	

$$T51,,U\\:++-002  "55dE5I5!r   c                 x    t         j                  j                  | |       | j                  j	                          y)z4Callback for window:deactivate accessibility events.N)r   r
   onWindowDeactivatedr   
deactivater1   s     r   r^   zScript.onWindowDeactivated   s(     	

&&tU3""$r   )__name__
__module____qualname__r   r   r   r!   r(   r0   r6   r8   r;   rL   rQ   r[   r^   __classcell__)r,   s   @r   r
   r
   #   sD    '
 
7
	?:-1)43#*
"%r   r
   )__doc____id____version____date____copyright____license__orca.focus_managerrD   orca.scripts.toolkits.gtkscriptstoolkitsr   orca.ax_objectr   orca.ax_utilitiesr   r   r   r
    r   r   <module>rq      sG   ( ? * ' ' # ) "I%SZZ I%r   