+
    Qi.>  c                  s  a  0 t $ R t^ RIHt RtRtRtRtRt^ RI	t	^ RI
Ht ^ RIt]P                  ! R	R
4       ]P                  ! RR
4       ^ RIHtHtHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]'       d   ^RI H!t!  ! R R4      t" ! R R4      t#]"! 4       t$R]%R&   R R  lt&R# )!zModule for learn mode)annotationsz$Id$z
$Revision$z$Date$zQCopyright (c) 2005-2008 Sun Microsystems Inc.Copyright (c) 2016-2023 Igalia, S.L.ZLGPLN)TYPE_CHECKINGGdkz3.0Gtk)r   GObjectr   )cmdnames)debug)	guilabels)input_event)input_event_manager)keybindings)messages)script_manager)settings)settings_manager)speech)AXObject)defaultc                  s    ] tR t^?tRtR R ltR R ltRR R lltRR R	 lltR
 R lt	R R lt
RR R lltRR R lltRR R lltRR R lltR R ltR R R lltRtR# )!LearnModePresenterz%Provides implementation of learn modec                   V ^8  d   QhRR/#    returnNone Zformat   ">/usr/lib/python3.14/site-packages/orca/learn_mode_presenter.py__annotate__LearnModePresenter.__annotate__B   s     0 0$ 0    c                	s    V P                  R 4      V n        \        P                  ! 4       V n        RV n        RV n        R# )TFN)get_handlers	_handlersr
   KeyBindings	_bindings
_is_active_guiself   &r   __init__ZLearnModePresenter.__init__B   s3    CGCTCTUYCZ2=2I2I2K %+/	r   c               r   )r   r   boolr   r   r   r   r   r   H   s      4 r   c                s    V P                   # )z#Returns True if we're in learn mode)r#   r%   r'   r   	is_activeZLearnModePresenter.is_activeH   s     r   c               s$    V ^8  d   QhRRRRRR/# )r   refreshr)   
is_desktopr   zkeybindings.KeyBindingsr   r   r   r   r   r   M   s$      15	 r   c                sN   V'       dc   RV 2p\         P                  ! \         P                  VR4       V P                  P	                  R4       V P                  4        V P                  # V P                  P                  4       '       d   V P                  4        V P                  # )z-Returns the learn-mode-presenter keybindings.z7LEARN MODE PRESENTER: Refreshing bindings. Is desktop: Tz*LEARN MODE PRESENTER: Refreshing bindings.)r   print_message
LEVEL_INFOr"   Zremove_key_grabs_setup_bindingsZis_empty)r&   r+   r,   msg   &&& r   get_bindingsZLearnModePresenter.get_bindingsM   s    
 KJ<XC 0 0#t<NN++,XY  " ~~ ^^$$&&  "~~r   c                    V ^8  d   QhRRRR/# )r   r+   r)   r   z(dict[str, input_event.InputEventHandler]r   r   r   r   r   r   \   s      D 5] r   c                s    V'       d9   Rp\         P                  ! \         P                  VR4       V P                  4        V P                  # )z*Returns the learn-mode-presenter handlers.z*LEARN MODE PRESENTER: Refreshing handlers.T)r   r-   r.   _setup_handlersr    )r&   r+   r0   s   && r   r   ZLearnModePresenter.get_handlers\   s:     >C 0 0#t<  "~~r   c               r   r   r   r   r   r   r   r   f   s     9 9 9r   c                s    / V n         \        P                  ! V P                  \        P
                  4      V P                   R&   Rp\        P                  ! \        P                  VR4       R# )z6Sets up the learn-mode-presenter input event handlers.enterLearnModeHandlerz&LEARN MODE PRESENTER: Handlers set up.TN)	r    r   ZInputEventHandlerstartr   ZENTER_LEARN_MODEr   r-   r.   r&   r0      & r   r4   Z"LearnModePresenter._setup_handlersf   sY      ))

))+ 	./
 7E,,c48r   c               r   r   r   r   r   r   r   r   s   s     9 9 9r   c           	     sH   \         P                  ! 4       V n        V P                  P                  \         P                  ! R\         P
                  \         P                  V P                  R,          4      4       Rp\        P                  ! \        P                  VR4       R# )z.Sets up the learn-mode-presenter key bindings.Zhr5   z&LEARN MODE PRESENTER: Bindings set up.TN)r
   r!   r"   addZ
KeyBindingZDEFAULT_MODIFIER_MASKZORCA_MODIFIER_MASKr    r   r-   r.   r7   r8   r   r/   Z"LearnModePresenter._setup_bindingss   su     %002""11..67	9	: 7E,,c48r   Nc               $    V ^8  d   QhRRRRRR/# r   scriptdefault.Script | None_eventinput_event.InputEvent | Noner   r)   r   r   r   r   r   r      s(      % . 
	r   c                s4   V P                   '       d+   Rp\        P                  ! \        P                  VR4       R# Vf$   \        P
                  ! 4       P                  4       pVe^   VP                  \        P                  4       VP                  \        P                  4       VP                  \        P                  4       \        P
                  ! 4       P                  R4       Rp\        P                  ! \        P                  VR4       RV n         R# )zStarts learn mode.z6LEARN MODE PRESENTER: Start called when already activeTzEntering learn modez#LEARN MODE PRESENTER: Is now active)r#   r   r-   r.   r   get_managerget_active_scriptpresent_messager   ZVERSIONZspeak_messageZLEARN_MODE_START_SPEECHZdisplay_messageZLEARN_MODE_START_BRAILLEr	   Zgrab_keyboardr&   r<   r>   r0   r1   r   r6   ZLearnModePresenter.start   s     ???JC 0 0#t<>#//1CCEF""8#3#34  !A!AB""8#D#DE'')778MN3E,,c48r   c               r:   r;   r   r   r   r   r   r      s(      % . 
	r   c                s   V P                   '       g+   Rp\        P                  ! \        P                  VR4       R# Vf$   \        P
                  ! 4       P                  4       pVe    VP                  \        P                  4       \        P
                  ! 4       P                  R4       Rp\        P                  ! \        P                  VR4       RV n         R# )zQuits learn mode.z7LEARN MODE PRESENTER: Quit called when already inactiveTzExiting learn modez%LEARN MODE PRESENTER: Is now inactiveF)r#   r   r-   r.   r   r@   rA   rB   r   ZLEARN_MODE_STOPr	   Zungrab_keyboardrC   r1   r   quitZLearnModePresenter.quit   s     KC 0 0#t<>#//1CCEF""8#;#;<'')99:NO5E,,c48r   c               r3   r   eventr?   r   r)   r   r   r   r   r   r      s     % %"? %4 %r   c                s   V P                   '       g   R# \        V\        P                  4      '       g   R# \        P
                  ! 4       P                  4       pVf   R# RpVP                  4       '       d   VP                  4       pVP                  P                  VR7      p\        P                  ! Y'       d
   V^ ,          MR4       VP                  4       '       dG   VP                  4       ^8X  d2   VP                  4       f    VP                  VP                  4       4       VP                   R8X  d   V P#                  W!4       R# VP                   R8X  d&   VP$                  '       g   V P'                  W!4       R# VP                   R9   d&   VP$                  '       g   V P)                  W!4       R# V P+                  V4       R# )z*Handles the event if learn mode is active.FN)ZstringZEscapeTZF1)F2ZF3)r#   
isinstancer   KeyboardEventr   r@   rA   Zis_printable_keyZget_key_nameZspeech_generatorvoicer   Zspeak_key_eventZget_click_countget_handlerZspell_phoneticallykeyval_namerD   Z	modifiers	show_helplist_orca_shortcutspresent_command)r&   rF   r<   Zkey_namerJ   s   &&   r   handle_eventZLearnModePresenter.handle_event   sW    %!:!:;;++-??A>!!##))+H''--X->u%eAhTB!!##(=(=(?1(D  "*%%e&8&8&:;(IIf$$U___NN6),U___$$V3U#r   c               r3   rE   r   r   r   r   r   r      s      %B d r   c                sF   \        V\        P                  4      '       g   R# VP                  4       pVf   R# VP                  '       dW   VP
                  '       dE   \        P                  ! 4       P                  4       pVf   R# VP                  VP
                  4       R# )z$Presents the command bound to event.T)
rH   r   rI   rK   Zlearn_mode_enableddescriptionr   r@   rA   rB   )r&   rF   handlerr<   s   &&  r   rO   Z"LearnModePresenter.present_command   s}     %!:!:;;##%?%%%'*=*=*=#//1CCEF~""7#6#67r   c               r:   )r   r<   default.ScriptrF   zinput_event.KeyboardEventr   r)   r   r   r   r   r   r      s(     r r. rAZ r_c rr   c                s0   \         P                  ! 4       P                  R4      pV\        P                  8H  p^ p/ pVe   VP
                  R8X  Ed   VP                  4       P                  4       pWv\        P                  &   V\        V4      ,          pVP                  4       P                  VR7      P                  4       pWv\        P                  &   V\        V4      ,          pVP                  4       P                  VR7      P                  4       pWv\        P                  &   V\        V4      ,          pVP!                  4       P                  VR7      P                  4       pWv\        P"                  &   V\        V4      ,          pVP%                  4       P                  VR7      P                  4       pWv\        P&                  &   V\        V4      ,          pVP)                  4       P                  VR7      P                  4       pWv\        P*                  &   V\        V4      ,          pVP-                  4       P                  VR7      P                  4       pWv\        P.                  &   V\        V4      ,          pVP1                  4       P                  VR7      P                  4       pWv\        P2                  &   V\        V4      ,          pVP5                  4       P                  VR7      P                  4       pWv\        P6                  &   V\        V4      ,          pVP9                  4       P                  VR7      P                  4       pWv\        P:                  &   V\        V4      ,          pVP=                  4       P                  VR7      P                  4       pWv\        P>                  &   V\        V4      ,          pVPA                  4       P                  VR7      P                  4       pWv\        PB                  &   V\        V4      ,          pVPE                  4       P                  VR7      P                  4       pWv\        PF                  &   V\        V4      ,          pVPI                  4       P                  VR7      P                  4       pWv\        PJ                  &   V\        V4      ,          pVPM                  4       P                  VR7      P                  4       pWv\        PN                  &   V\        V4      ,          pVPQ                  4       P                  VR7      P                  4       pWv\        PR                  &   V\        V4      ,          pVPU                  4       P                  VR7      P                  4       pWv\        PV                  &   V\        V4      ,          pVPY                  4       P                  VR7      P                  4       pWv\        PZ                  &   V\        V4      ,          p\\        P^                  ! V4      pM\`        Pb                  ! VPd                  4      ;'       g    \\        Pf                  p	VPi                  4       P                  4       pV'       d   WvV	&   \\        Pj                  ! \        V4      V	4      pV'       g   VPm                  V4       R# V Po                  W4       \        Pp                  \        Pr                  .p
\u        WW4      V n;        V Pv                  Py                  4        R# )z1Shows a simple gui listing Orca's bound commands.ZkeyboardLayoutrG   )r,   T)=r   r@   Zget_settingr   ZGENERAL_KEYBOARD_LAYOUT_DESKTOPrL   Z"get_default_keybindings_deprecatedZget_bound_bindingsr   ZKB_GROUP_DEFAULTlenZget_learn_mode_presenterr2   ZKB_GROUP_LEARN_MODEZget_where_am_i_presenterZKB_GROUP_WHERE_AM_IZ get_speech_and_verbosity_managerZKB_GROUP_SPEECH_VERBOSITYZget_sleep_mode_managerZKB_GROUP_SLEEP_MODEZget_flat_review_presenterZKB_GROUP_FLAT_REVIEWZget_flat_review_finderZKB_GROUP_FINDZget_object_navigatorZKB_GROUP_OBJECT_NAVIGATIONZget_caret_navigatorZKB_GROUP_CARET_NAVIGATIONZget_structural_navigatorZKB_GROUP_STRUCTURAL_NAVIGATIONZget_table_navigatorZKB_GROUP_TABLE_NAVIGATIONZ get_system_information_presenterZKB_GROUP_SYSTEM_INFORMATIONZget_notification_presenterZKB_GROUP_NOTIFICATIONSZget_clipboard_presenterZKB_GROUP_CLIPBOARDZget_bookmarksZKB_GROUP_BOOKMARKSZget_mouse_reviewerZKB_GROUP_MOUSE_REVIEWZget_action_presenterZKB_GROUP_ACTIONSZget_debugging_tools_managerZKB_GROUP_DEBUGGING_TOOLSr   Zshortcuts_found_orcar   Zget_nameZappZAPPLICATION_NO_NAMEZget_app_key_bindingsZshortcuts_found_apprB   rD   ZKB_HEADER_FUNCTIONZKB_HEADER_KEY_BINDINGCommandListGUIr$   show_gui)r&   r<   rF   Zlayoutr,   itemsbindingsZboundtitleZapp_namecolumn_headerss   &&&        r   rN   Z&LearnModePresenter.list_orca_shortcuts   s"    "--/;;<LMxGGG
=E--5==?RRTE38Y//0SZE335BB% C ''9'9'; 6;Y223SZE335BB% C ''9'9'; 6;Y223SZE;;=JJ% K ''9'9'; <AY889SZE113@@% A ''9'9'; 6;Y223SZE446CC% D ''9'9'; 7<Y334SZE113@@% A ''9'9'; 05Y,,-SZE//1>>% ? ''9'9'; =BY99:SZE..0==% > ''9'9'; <AY889SZE335BB% C ''9'9'; AFY==>SZE..0==% > ''9'9'; <AY889SZE;;=JJ% K ''9'9'; >CY::;SZE557DD% E ''9'9'; 9>Y556SZE224AA% B ''9'9'; 5:Y112SZE((*77% 8 ''9'9'; 5:Y112SZE--/<<% = ''9'9'; 8=Y445SZE//1>>% ? ''9'9'; 38Y//0SZE668EE% F ''9'9'; ;@Y778SZE11%8E((4TT8T8TH//1DDFE%*"00UXFE""5)		& #66	8W8WX"6.K			r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r<   r=   rF   r?   pagestrr   r)   r   r   r   r   r   r   a  s2      % - 	
 
r   c                s    V P                  W4       RpV'       d   VRV 2,          p\        P                  ! \        P                  P                  4       V\        P                  ! 4       4       R# )zDisplays Orca's documentation.z	help:orcaZ/T)rD   r   Zshow_urir   ZScreenZget_defaulttime)r&   r<   rF   r\   Zuris   &&&& r   rM   ZLearnModePresenter.show_helpa  sN     			& Qtf:CSZZ++-sDIIK@r   )r"   r$   r    r#   )FT)F)NNN)NN )__name__
__module____qualname____firstlineno____doc__r(   r*   r2   r   r4   r/   r6   rD   rP   rO   rN   rM   __static_attributes__r   r   r   r   r   ?   sI    /0
9940%N$rh r   r   c                  sJ    ] tR tRtRtR R ltR R ltR R ltR	 R
 ltRt	R# )rU   ip  z,Shows a list of commands and their bindings.c          
     s,    V ^8  d   QhRRRRRRRRR	R
/# )r   r<   rS   rY   r]   rZ   	list[str]bindings_dict'dict[str, list[keybindings.KeyBinding]]r   r   r   r   r   r   r   CommandListGUI.__annotate__s  sC     	Z 	Z	Z 	Z "		Z
 ?	Z 
	Zr   c                	sN    Wn         R V n        V P                  W#V4      V n        R # r_   )_script_model_create_dialogr$   )r&   r<   rY   rZ   rh   s   &&&&&r   r(   ZCommandListGUI.__init__s  s$     (.,0 $ 3 3E= Y	r   c               r[   )	r   rY   r]   rZ   rg   rh   ri   r   
Gtk.Dialogr   r   r   r   r   rj   ~  s2     . .. ". ?	.
 
.r   c                s   \         P                  ! VR\         P                  P                  \         P                  \         P
                  P                  34      pVP                  RR4       \         P                  ! 4       pVP                  4       pVP                  V4       \         P                  ! 4       pVP                  V4       \         P                  ! 4       pVP                  R4       VP                  R4       VP                  V4       \        V4      \         P"                  .,          p	\%        V4       F^  w  r\         P&                  ! 4       p\         P(                  ! WV
R7      pVP+                  V4       V'       g   KM  VP-                  V
4       K`  	  \         P.                  ! V	!  V n        VP3                  4        Fv  w  rV'       g   K  V P0                  P5                  RVR.4      pV FC  pV P0                  P5                  VVP6                  P8                  VP;                  4       .4       KE  	  Kx  	  VP=                  V P0                  4       VP?                  4        VPA                  RV PB                  4       V# )z!Creates the commands-list dialog.Ni  i   T)Ztextr`   response)"r   ZDialogZDialogFlagsZMODALZSTOCK_CLOSEResponseTypeCLOSEZset_default_sizeZGridZget_content_arear9   ZScrolledWindowZTreeViewZset_hexpandZset_vexpandrT   r   ZTYPE_STRINGZ	enumerateZCellRendererTextZTreeViewColumnZappend_columnZset_sort_column_idZ	TreeStorerl   rW   ZappendrR   rQ   Z	as_stringZ	set_modelZ
expand_allZconnecton_response)r&   rY   rZ   rh   ZdialogZgridZcontent_areaZscrolled_windowZtreeZcolsZiZheaderZcellZcolumnZgrouprX   Z
group_iterZbindings   &&&&              r   rm   ZCommandListGUI._create_dialog~  s    E OO11 __c.>.>.D.DEG 	c*xxz..0,,.!||~D!>"g&9&9%::">2IA'')D''1=Fv&v))!, 3 mmT*,224OE++D5"+>J#"":0K0KWM^M^M`/ab $	  5 	t{{#z4#3#34r   c               r:   )r   _dialogrn   ro   Zintr   r   r   r   r   r   r   rj     s!        :      r   c                s|    V\         P                  P                  8X  d   V P                  P	                  4        R# R# )z"Handler for the 'response' signal.N)r   rp   rq   r$   Zdestroy)r&   rs   ro   s   &&&r   rr   ZCommandListGUI.on_response  s-     s''---II .r   c               r   r   r   r   r   r   r   rj     s     1 1$ 1r   c                s    V P                   P                  4        V P                   P                  \        P                  ! 4       4       R# )zShows the dialog.N)r$   Zshow_allZpresent_with_timer^   r%   r'   r   rV   ZCommandListGUI.show_gui  s,     					##DIIK0r   )r$   rl   rk   N)
ra   rb   rc   rd   re   r(   rm   rr   rV   rf   r   r   r   rU   rU   p  s     6	Z.` 1 1r   rU   
_presenterc               r   )r   r   r   r   r   r   r   r   r     s      ) r   c                 s    \         # )z Returns the Learn Mode Presenter)rt   r   r   r   get_presenterru     s
     r   )'__conditional_annotations__re   Z
__future__r    Z__id__Z__version__Z__date__Z__copyright__Z__license__r^   Ztypingr   ZgiZrequire_versionZgi.repositoryr   r   r   r`   r   r   r   r   r	   r
   r   r   r   r   r   Z	ax_objectr   Zscriptsr   r   rU   rt   Z__annotations__ru   )rv   s   @r   <module>rw      s   4  #7    	   5%     5%   + +     !        o ob	H1 H1V "4!5
 5r   