+
    Qi#"  c                  sX   R t ^ RIHt RtRtRtRtRt^ RIt^ RI	H
t
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 ]
'       d    ]P                  ! RR4       ^ RIHt ^RIHt  ! R R4      tRR R lltR# )z/Displays a GUI for Orca navigation list dialogs)annotationsz$Id:$z$Revision:$z$Date:$zCopyright (c) 2012 Igalia, S.L.ZLGPLN)TYPE_CHECKINGAnyGdkz3.0Gtk)r   GObjectr   )debug)	guilabels)script_manager)AXEventSynthesizer)AXObjectAtspiz2.0)r   )defaultc                  s    ] tR t^:tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R ltR R ltRtR# )OrcaNavListGUIz.A GUI for displaying navigation lists in Orca.c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )   titlestrcolumn_headers	list[str]rowslist[tuple[Any, ...]]selected_rowintreturnNone Zformat   ":/usr/lib/python3.14/site-packages/orca/orca_gui_navlist.py__annotate__OrcaNavListGUI.__annotate__=   s<     7 77 "7 $	7
 7 
7    c                s   RV n         RV n        RV n        V P                  W#V4      V n        V P                  P                  V4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       \        P                  ! 4       P                  4       V n        RV n        R# )z#Initialize the navigation list GUI.NT)_tree_activate_button_jump_to_button_create_nav_list_dialog_guiZ	set_titleZ	set_modalZset_keep_aboveZset_focus_on_mapZset_accept_focusr   Zget_managerZget_active_script_script	_document)selfr   r   r   r   s   &&&&&r   __init__ZOrcaNavListGUI.__init__=   s     +/
3726 $ < <^S_ `			E"		D!		  &		""4(		""4(.<.H.H.J.\.\.^26r    c               s(    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   r   r   r   r   z
Gtk.Dialogr   r   r   r   r   r   Q   s8     A A!A $A 	A
 
Ar    c                sL	   \         P                  ! 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       V n        V P                  P                  R4       V P                  P                  R4       VP                  V P                  4       \        P                  \        P                  .pVP                  \        V4      \        P                   .,          4       \         P"                  ! V!  p	\         P$                  ! 4       p
\         P&                  ! RV
^ R7      pVP)                  R4       V P                  P+                  V4       \         P$                  ! 4       p
\         P&                  ! RV
^R7      pVP)                  R4       V P                  P+                  V4       \-        V4       Fl  w  r\         P$                  ! 4       p
\         P&                  ! WV^,           R7      pVP/                  V^,           4       V P                  P+                  V4       Kn  	  V F;  pV	P1                  R4      p\-        V4       F  w  ppV	P3                  WV4       K  	  K=  	  V P                  P5                  V	4       V P                  P7                  4       pVP9                  V4       VP;                  \<        P>                  \         P@                  PB                  4      pVPE                  R	V PF                  4       VP;                  \<        PH                  \         P@                  PJ                  4      V n&        V PL                  PE                  R	V PN                  4       VP;                  \<        PP                  \         P@                  PR                  4      V n*        V PT                  PE                  R	V PV                  4       V PT                  PY                  4        V P                  PE                  R
V PZ                  4       V P                  PE                  RV P\                  4       V P                  P_                  ^4       V# )z"Create the navigation list dialog.i  i  TZ
Accessible)ZtextFoffsetNZclickedzkey-release-eventzcursor-changed)0r   ZDialogZset_default_sizeZGridZget_content_areaZaddZScrolledWindowZTreeViewr!   Zset_hexpandZset_vexpandr   ZTYPE_OBJECTZTYPE_INTZextendZlenZTYPE_STRINGZ	ListStoreZCellRendererTextZTreeViewColumnZset_visibleZappend_columnZ	enumerateZset_sort_column_idZappendZ	set_valueZ	set_modelget_selectionZselect_pathZ
add_buttonr   Z
BTN_CANCELZResponseTypeZCANCELZconnect_on_cancel_clickedZBTN_JUMP_TOZAPPLYr#   _on_jump_to_clickedZACTIVATEZOKr"   _on_activate_clickedgrab_default_on_key_release_on_cursor_changedZset_search_column)r(   r   r   r   ZdialogZgridZcontent_areaZscrolled_windowZcolsmodelZcellZcolumnZiZheaderZrowZrow_iterZ
cell_value	selectionZbtns   &&&&               r   r$   Z&OrcaNavListGUI._create_nav_list_dialogQ   sN    S)xxz..0,,.!\\^


t$

t$DJJ'#//1A1ABC'7+>+>*??@t$##%##L$Q?5!

  (##%##Hd;5!

  (">2IA'')D''1q5AF%%a!e,JJ$$V,	 3 C||D)H!*3:Z8 "0 
 	

U#JJ,,.	l+	 4 4c6F6F6M6MNIt667%001F1FHXHXH^H^_$$Y0H0HI & 1 1)2D2DcFVFVFYFY Z%%i1J1JK**,

.0D0DE

+T-D-DE

$$Q'r    c                   V ^8  d   QhRR/# )r   r   r   r   r   r   r   r   r      s     1 1$ 1r    c                s    V P                   P                  4        V P                   P                  \        P                  ! 4       4       R# )zShow the navigation list GUI.N)r%   Zshow_allZpresent_with_timetime)r(   s   &r   show_guiZOrcaNavListGUI.show_gui   s*    				##DIIK0r    c                    V ^8  d   QhRRRR/# r   _widget
Gtk.Widgetr   r   r   r   r   r   r   r      s     	4 	4* 	4 	4r    c                sL   V P                  4       w  r#\        P                  ! V4      pV P                  en   V P                  P	                  V^ 8  4       V^ 8  d   V P                  P                  4        R# V P                  e   V P                  P                  4        R# R# R# )z-Handle cursor change events in the tree view.N)#_get_selected_accessible_and_offsetr
   Zget_n_actionsr"   Zset_sensitiver/   r#   )r(   r9   objZ_offsetZ	n_actions   &&   r   r1   Z!OrcaNavListGUI._on_cursor_changed   s    ??A**3/	  ,!!//	A>1}%%224%%1$$113 2	 -r    c               s$    V ^8  d   QhRRRRRR/# )r   r9   r:   eventzGdk.EventKeyr   r   r   r   r   r   r   r      s!     ) )z ), )4 )r    c                s   VP                   p\        P                  P                  4       pVP	                  V4      pVR,          p\        P
                  ! V^ ,          4      pVR8X  d   V P                  P                  4        R# R# )z+Handle key release events in the tree view.ZReturnN)Zhardware_keycoder   ZKeymapZget_defaultZget_entries_for_keycodeZkeyval_namer%   Zactivate_default)r(   r9   r>   ZkeycodeZkeymapZentries_for_keycodeZentriesZevent_strings   &&&     r   r0   ZOrcaNavListGUI._on_key_release   si    (('')$<<WE%b)wqz28#II&&( $r    c               r7   r8   r   r   r   r   r   r      s      *  r    c                s:    V P                   P                  4        R# )zHandle cancel button click.N)r%   destroy)r(   r9   s   &&r   r,   Z!OrcaNavListGUI._on_cancel_clicked   s    		r    c               r7   r8   r   r   r   r   r   r      s     S S: S$ Sr    c                s    V P                  4       w  r#V P                  P                  4        V P                  e3   V P                  P                  P                  W#V P                  4       R# R# )zHandle jump to button click.N)r;   r%   r@   r&   	utilitiesset_caret_positionr'   )r(   r9   r<   r*   s   &&  r   r-   Z"OrcaNavListGUI._on_jump_to_clicked   sO    >>@		<<#LL""55c4>>R $r    c               r7   r8   r   r   r   r   r   r      s     1 1J 14 1r    c                s   V P                  4       w  r#V P                  P                  4        V'       g   R# V P                  e&   V P                  P                  P                  W#4       \        P                  ! V4      '       gC   RV.p\        P                  ! \        P                  VR4       \        P                  ! V4       R# R# )zHandle activate button click.Nz'INFO: Attempting a synthesized click onT)r;   r%   r@   r&   rA   rB   r	   Ztry_all_clickable_actionsr   Zprint_tokens
LEVEL_INFOZclick_object)r(   r9   r<   r*   Ztokensr=   r   r.   Z#OrcaNavListGUI._on_activate_clicked   s    >>@		<<#LL""55cB!;;C@@?EFu//>++C0 Ar    c               r4   )r   r   z#tuple[Atspi.Accessible | None, int]r   r   r   r   r   r      s     # #5X #r    c                sV   V P                   '       g+   Rp\        P                  ! \        P                  VR4       R# V P                   P	                  4       pV'       g+   Rp\        P                  ! \        P                  VR4       R# VP                  4       w  r4V'       g+   Rp\        P                  ! \        P                  VR4       R# VP                  VP                  V^ ,          4      ^ 4      pVP                  VP                  V^ ,          4      ^4      pV\        ^ V4      3# )z.Get the selected accessible object and offset.z!ERROR: Could not get navlist treeTz/ERROR: Could not get selection for navlist treez+ERROR: Could not get paths for navlist tree)Nr?   )	r!   r   Zprint_messagerC   r+   Zget_selected_rowsZ	get_valueZget_iterZmax)r(   Zmsgr3   r2   Zpathsr<   r*   s   &      r   r;   Z2OrcaNavListGUI._get_selected_accessible_and_offset   s    zzz5C 0 0#t<OJJ,,.	CC 0 0#t<O 224?C 0 0#t<OooennU1X6:a!91=C6N""r    )r"   r'   r%   r#   r&   r!   N)Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r)   r$   r6   r1   r0   r,   r-   r.   r;   Z__static_attributes__r   r    r   r   r   :   s:    87(AF1
	4)S1# #r    r   c          
     r   )r   r   r   r   zlist[str] | Noner   zlist[tuple[Any, ...]] | Noner   r   r   r   r   r   r   r   r   r      s:      $ ' 	
 
r    c                sX    Vf   . pVf   R.p\        WW#4      pVP                  4        R# )zShow the navigation list UI.Nr   )r   r6   )r   r   r   r   Zguis   &&&& r   show_uirE      s0     |t

CCLLNr    ) NNi    )rD   Z
__future__r    Z__id__Z__version__Z__date__Z__copyright__Z__license__r5   Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   r   r   rF   r   r   r   Zax_event_synthesizerr	   Z	ax_objectr
   r   Zscriptsr   r   rE   r   r    r   <module>rG      s   4 6 #1  % 	   5%     5%   + +    4 w&# b# b#J r    