
    g
f                         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 ddlmc mZ dd
lmZ ddlm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$zQCopyright (c) 2005-2009 Sun Microsystems Inc., Copyright (c) 2010 Joanmarie DiggsLGPL    NAtspiz2.0)r   )AXObject)AXSelection)AXUtilities   	UtilitiesSpeechGenerator
Formattingc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)Scriptc                 R    t         j                  j                  | |       d| _        y)zCreates a new script for Java applications.

        Arguments:
        - app: the application to create a script for.
        N)defaultr   __init__lastDescendantChangedSource)selfapps     Q/usr/lib/python3/dist-packages/orca/scripts/toolkits/J2SE-access-bridge/script.pyr   zScript.__init__4   s"     	c* ,0(    c                     t        |       S )z-Returns the speech generator for this script.r   r   s    r   getSpeechGeneratorzScript.getSpeechGeneratorE   s    t$$r   c                     t        |       S )z/Returns the formatting strings for this script.r   r   s    r   getFormattingzScript.getFormattingI   s    $r   c                     t        |       S )z&Returns the utilities for this script.r	   r   s    r   getUtilitieszScript.getUtilitiesM   s    r   c                    | j                   j                  |j                  t        j                  j
                  t        j                  j                  t        j                  j                  g      }|rJ| j                   j                         \  }}|dv s(t        t        j                  t        j                        ry t        j                  j!                  | |       y )N)UpDown)	utilitieshasMatchingHierarchysourcer   RoleTEXTPANELSPIN_BUTTONlastKeyAndModifiers
isinstance
orca_statelastInputEventinput_eventMouseButtonEventr   r   onCaretMoved)r   event	isSpinBoxeventStrmodss        r   r0   zScript.onCaretMovedQ   s     NN77LL5::?? ::++ ::1134	 !^^??ANHd>)Z((+*F*F.H##D%0r   c                    |j                   | j                  k(  ryt        j                  |j                         s>t        j                  |j                         st        j
                  |j                         rrt        j                  |j                         rSt        j                  |j                   d      xs |j                   }t        j                         j                  ||       yt        j                  j                  | |       y)zbCalled when an object's selection changes.

        Arguments:
        - event: the Event
        Nr   )r%   r   r   is_listis_page_tab_listis_tree
is_focusedr   get_selected_childfocus_manager
getManagerset_locus_of_focusr   r   onSelectionChanged)r   r1   newFocuss      r   r>   zScript.onSelectionChangedg   s     <<4;;; -**5<<8!!%,,/%%ell3"55ellAFV%,,H$$&99%JNN--dE:r   c                    |j                   syt        j                  |j                        s2t        j                  t	        j
                  |j                              r/t        j                         j                  ||j                         yt        j                  |j                        r6t        j                  t        j                         j                               ryt        j                  j                  | |       y)z?Callback for object:state-changed:focused accessibility events.N)detail1r   is_menu_relatedr%   r   
get_parentr;   r<   r=   is_root_paneget_locus_of_focusr   r   onFocusedChangedr   r1   s     r   rF   zScript.onFocusedChanged   s     }} &&u||4))(*=*=ell*KL$$&99%N##ELL1**=+C+C+E+X+X+Z[''e4r   c                    t        j                  |j                        s>t        j                  |j                        st        j                  |j                        ryt        j
                  |j                        rnt        j                         j                         }t        j                  |      }t        j                  |      }||j                  k(  r| j                  ||       yt        j                  j                  | |       y)zbCalled whenever an object's value changes.

        Arguments:
        - event: the Event
        N)r   is_toggle_buttonr%   is_radio_buttonis_check_boxis_spin_buttonr;   r<   rE   r   rC   _presentTextAtNewCaretPositionr   r   onValueChanged)r   r1   focusparentgrandparents        r   rN   zScript.onValueChanged   s     ''5))%,,7&&u||4 %%ell3!,,.AACE((/F"--f5Kell*33E5A%%dE2r   c                     t        j                  |j                        ryt        j                  j                  | |      S )NF)r   rB   r%   r   r   skipObjectEventrG   s     r   rS   zScript.skipObjectEvent   s0    
 &&u||4~~--dE::r   N)__name__
__module____qualname__r   r   r   r   r0   r>   rF   rN   rS    r   r   r   r   2   s0    0"% 1,;<5,3B;r   r   )__id____version____date____copyright____license__girequire_versiongi.repositoryr   orca.focus_managerr;   orca.input_eventr.   orca.orca_stater,   orca.scripts.defaultscriptsr   orca.ax_objectr   orca.ax_selectionr   orca.ax_utilitiesr   script_utilitiesr
   speech_generatorr   
formattingr   r   rW   r   r   <module>rk      sm   * 5 	   7E "  * & $ & & # ) ) ' - "R;W^^ R;r   