
    g
fx                         d Z 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
 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 evince.z$Id$z
$Revision$z$Date$z!Copyright (c) 2013 The Orca Team.LGPL    )focus_manager)keybindings)settings)settings_manager)gtk)AXUtilities)StructuralNavigationc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)Scriptc                 D    t         j                  j                  | |       y)zCreates a new script for the given application.

        Arguments:
        - app: the application to create a script for.
        N)r   r   __init__)selfapps     A/usr/lib/python3/dist-packages/orca/scripts/apps/evince/script.pyr   zScript.__init__/   s     	

D#&    c                     t         j                  j                  |        | j                  j	                  | j
                  j                  d             y)zlDefines InputEventHandler fields for this script that can be
        called by the key and braille bindings.TN)r   r   setupInputEventHandlersinputEventHandlersupdatestructuralNavigationget_handlers)r   s    r   r   zScript.setupInputEventHandlers8   s;     	

**40&&t'@'@'M'Md'STr   c                    t        j                         }t        j                         j	                  d      }|t
        j                  k(  }| j                  j                  d|      }|j                  D ]  }|j                  |        |S )z=Returns the application-specific keybindings for this script.keyboardLayoutT)refresh
is_desktop)r   KeyBindingsr   
getManager
getSettingr   GENERAL_KEYBOARD_LAYOUT_DESKTOPr   get_bindingskeyBindingsadd)r   r"   layout	isDesktopstructNavBindings
keyBindings         r   getAppKeyBindingszScript.getAppKeyBindings?   s     "--/!,,.99:JKhFFF	 55BBY C 0+77 	(JOOJ'	( r   c                 <    | j                         }t        | |d      S )z:Returns the 'structural navigation' class for this script.T)#getEnabledStructuralNavigationTypesr
   )r   typess     r   getStructuralNavigationzScript.getStructuralNavigationN   s!     88:#D%66r   c                    t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g}|S )zXReturns a list of the structural navigation object types
        enabled in this script.)r
   BUTTON	CHECK_BOX	COMBO_BOXENTRY
FORM_FIELDHEADINGLINKLIST	LIST_ITEM	PARAGRAPHRADIO_BUTTONTABLEUNVISITED_LINKVISITED_LINK)r   enabledTypess     r   r*   z*Script.getEnabledStructuralNavigationTypesT   s     -33,66,66,22,77,44,11,11,66,66,99,22,;;,99; r   c                     |j                   }t        j                  |      r/t        j                         j                  ||j                   d       t        j                  j                  | |       y)z:Callback for object:text-caret-moved accessibility events.FN)	sourcer	   
is_focusedr   r   set_locus_of_focusr   r   onCaretMoved)r   eventobjs      r   rA   zScript.onCaretMovedi   sN     ll!!#&$$&99%uU

e,r   N)	__name__
__module____qualname__r   r   r(   r,   r*   rA    r   r   r   r   -   s!    'U7*-r   r   N)__doc____id____version____date____copyright____license__orcar   r   r   r   orca.scripts.toolkitsr   orca.ax_utilitiesr	   orca.structural_navigationr
   r   rG   r   r   <module>rR      sJ   ,  3    ! % ) ;C-SZZ C-r   