
    g
f'                         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 ddlmZ ddlmZ ddlmZ  G d dej.                        Zy)z
A script which has no commands, has no presentation, and ignores events.
The main use cases for this script are self-voicing apps and VMs which
should be usable without having to quit Orca entirely.
z$Id$z
$Revision$z$Date$zCopyright (c) 2023 Igalia, S.L.LGPL    )debug)focus_manager)messages)orca_modifier_manager)default)AXObject)AXUtilities   BrailleGeneratorSpeechGenerator	Utilitiesc                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d)dZ
d*d	Zd*d
Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)y()+ScriptzThe sleep-mode script.c                     d| j                   g}t        j                  t        j                  |d       t	        j
                         j                  d       | j                  d       y)z%Called when this script is activated.z!SLEEP MODE: Activating script forTzEntering sleep mode.zscript activationN)appr   printTokens
LEVEL_INFOr   
getManagerunset_orca_modifiersaddKeyGrabsselftokenss     ?/usr/lib/python3/dist-packages/orca/scripts/sleepmode/script.pyactivatezScript.activate0   sQ     6txx@%**FD9((*??@VW,-    c                     d| j                   g}t        j                  t        j                  |d       | j	                  d       t        j                         j                  d       y)z'Called when this script is deactivated.z$SLEEP MODE: De-activating script forTzscript deactivationzExiting sleep mode.N)r   r   r   r   removeKeyGrabsr   r   refresh_orca_modifiersr   s     r   
deactivatezScript.deactivate8   sQ     9$((C%**FD912((*AABWXr    c                     t        |       S )z.Returns the braille generator for this script.r   r   s    r   getBrailleGeneratorzScript.getBrailleGenerator@   s      %%r    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 utilities for this script.r   r&   s    r   getUtilitieszScript.getUtilitiesJ   s     r    c                 T    d}t        j                  t         j                  |d       i S )z-Returns the braille bindings for this script.z$SLEEP MODE: Has no braille bindings.Tr   printMessager   )r   msgs     r   getBrailleBindingszScript.getBrailleBindingsO   s&     55++S$7	r    c                 6    | j                   j                         S )z(Returns the keybindings for this script.)sleepModeManagerget_bindings)r   enabledOnlys     r   getKeyBindingszScript.getKeyBindingsV   s     $$1133r    c                 b    | j                         | _        | j                  j                          yzAdds key grabs for this script.N)r5   keyBindingsr   r   reasons     r   r   zScript.addKeyGrabs[   s'      ..0$$&r    c                 :    | j                   j                  |       yr7   )r8   r"   r9   s     r   r"   zScript.removeKeyGrabsa   s     	''/r    c                 6    | j                   j                         S )N)r2   get_handlersr&   s    r   setupInputEventHandlerszScript.setupInputEventHandlersf   s    $$1133r    c                 R    d}t        j                  t         j                  |d       y)z4Updates the braille display to show the give object.z!SLEEP MODE: Not updating braille.TNr-   )r   objargsr/   s       r   updateBraillezScript.updateBraillei   s!     25++S$7r    c                 T    d}t        j                  t         j                  |dd       y)z(Presents the keyboard event to the user.z*SLEEP MODE: Not presenting keyboard event.TNr-   r   eventr/   s      r   presentKeyboardEventzScript.presentKeyboardEvento   s#     ;5++S$=r    c                    d|d|d|g}t        j                  t         j                  |d       |t        j                  t        j                  |            rst        j                         j                  d       | j                          | j                  t        j                  t        j                  | j                        z         yd}t        j                   t         j                  |d       y)z3Handles changes of focus of interest to the script.zSLEEP MODE: focus changed fromtozdue toTN Sleep mode enabled for this app.SLEEP MODE: Ignoring event.)r   r   r   r
   is_applicationr	   
get_parentr   r   clear_stateclearBraillepresentMessager   SLEEP_MODE_ENABLED_FORget_namer   r.   )r   rE   oldFocusnewFocusr   r/   s         r   locusOfFocusChangedzScript.locusOfFocusChangedu   s     3HdHhX]^%**FD9 : :8;N;Nx;X Y$$&223UV ? ?(BSBSTXT\T\B] ]^+5++S$7r    c                 R    d}t        j                  t         j                  |d       y)z>Callback for object:state-changed:active accessibility events.rJ   TNr-   rD   s      r   onActiveChangedzScript.onActiveChanged   !     ,5++S$7r    c                 R    d}t        j                  t         j                  |d       y)zCCallback for object:active-descendant-changed accessibility events.rJ   TNr-   rD   s      r   onActiveDescendantChangedz Script.onActiveDescendantChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z<Callback for object:state-changed:busy accessibility events.rJ   TNr-   rD   s      r   onBusyChangedzScript.onBusyChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z:Callback for object:text-caret-moved accessibility events.rJ   TNr-   rD   s      r   onCaretMovedzScript.onCaretMoved   rW   r    c                 R    d}t        j                  t         j                  |d       y)z?Callback for object:state-changed:checked accessibility events.rJ   TNr-   rD   s      r   onCheckedChangedzScript.onCheckedChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z:Callback for object:column-reordered accessibility events.rJ   TNr-   rD   s      r   onColumnReorderedzScript.onColumnReordered   rW   r    c                 R    d}t        j                  t         j                  |d       y)z>Callback for object:children-changed:add accessibility events.rJ   TNr-   rD   s      r   onChildrenAddedzScript.onChildrenAdded   rW   r    c                 R    d}t        j                  t         j                  |d       y)zBCallback for object:children-changed:removed accessibility events.rJ   TNr-   rD   s      r   onChildrenRemovedzScript.onChildrenRemoved   rW   r    c                     d}t        j                  t         j                  |d       t        j                  j                  | |       y)z9Callback for document:load-complete accessibility events.rJ   TN)r   r.   r   r   r   onDocumentLoadCompleterD   s      r   rg   zScript.onDocumentLoadComplete   s5     ,5++S$7--dE:r    c                 R    d}t        j                  t         j                  |d       y)z8Callback for document:load-stopped accessibility events.rJ   TNr-   rD   s      r   onDocumentLoadStoppedzScript.onDocumentLoadStopped   rW   r    c                 R    d}t        j                  t         j                  |d       y)z2Callback for document:reload accessibility events.rJ   TNr-   rD   s      r   onDocumentReloadzScript.onDocumentReload   rW   r    c                 R    d}t        j                  t         j                  |d       y)z@Callback for object:state-changed:expanded accessibility events.rJ   TNr-   rD   s      r   onExpandedChangedzScript.onExpandedChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z)Callback for focus: accessibility events.rJ   TNr-   rD   s      r   onFocuszScript.onFocus   rW   r    c                 R    d}t        j                  t         j                  |d       y)z?Callback for object:state-changed:focused accessibility events.rJ   TNr-   rD   s      r   onFocusedChangedzScript.onFocusedChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z/Callback for mouse:button accessibility events.rJ   TNr-   rD   s      r   onMouseButtonzScript.onMouseButton   rW   r    c                 R    d}t        j                  t         j                  |d       y)z;Callback for object:property-change:accessible-name events.rJ   TNr-   rD   s      r   onNameChangedzScript.onNameChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z@Callback for object:state-changed:selected accessibility events.rJ   TNr-   rD   s      r   onSelectedChangedzScript.onSelectedChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z;Callback for object:selection-changed accessibility events.rJ   TNr-   rD   s      r   onSelectionChangedzScript.onSelectionChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z?Callback for object:state-changed:showing accessibility events.rJ   TNr-   rD   s      r   onShowingChangedzScript.onShowingChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)zACallback for object:text-attributes-changed accessibility events.rJ   TNr-   rD   s      r   onTextAttributesChangedzScript.onTextAttributesChanged   rW   r    c                 R    d}t        j                  t         j                  |d       y)z=Callback for object:text-changed:delete accessibility events.rJ   TNr-   rD   s      r   onTextDeletedzScript.onTextDeleted   rW   r    c                 R    d}t        j                  t         j                  |d       y)z=Callback for object:text-changed:insert accessibility events.rJ   TNr-   rD   s      r   onTextInsertedzScript.onTextInserted  rW   r    c                 R    d}t        j                  t         j                  |d       y)z@Callback for object:text-selection-changed accessibility events.rJ   TNr-   rD   s      r   onTextSelectionChangedzScript.onTextSelectionChanged  rW   r    c                     t        j                         j                  d       | j                          | j	                  t
        j                  t        j                  | j                        z         y)z2Callback for window:activate accessibility events.rI   N)
r   r   rM   rN   rO   r   rP   r	   rQ   r   )r   rE   s     r   onWindowActivatedzScript.onWindowActivated  sS     	  "../QRH;;h>O>OPTPXPX>YYZr    c                 R    d}t        j                  t         j                  |d       y)z4Callback for window:deactivate accessibility events.rJ   TNr-   rD   s      r   onWindowDeactivatedzScript.onWindowDeactivated  rW   r    N)T) )*__name__
__module____qualname____doc__r   r$   r'   r)   r+   r0   r5   r   r"   r>   rB   rF   rT   rV   rY   r[   r]   r_   ra   rc   re   rg   ri   rk   rm   ro   rq   rs   ru   rw   ry   r{   r}   r   r   r   r   r    r    r   r   r   -   s     .Y&
%

4
'0
48>888888888;88888888888888[8r    r   N)r   __id____version____date____copyright____license__orcar   r   r   r   orca.scriptsr   orca.ax_objectr	   orca.ax_utilitiesr
   braille_generatorr   speech_generatorr   script_utilitiesr   r   r   r    r   <module>r      sU   * 1    &   # ) / - 'l8W^^ l8r    