+
    Qi  c                  s2   R t ^ RIHt RtRtRtRtRt^ RIH	t	H
t
 ^ RIt]P                  ! R	R
4       ^ 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]PB                  4      t!R# )4Produces speech presentation for accessible objects.)annotationsz$Id$z
$Revision$z$Date$z-Copyright (c) 2005-2009 Sun Microsystems Inc.ZLGPL)TYPE_CHECKINGAnyNAtspiz2.0)r   )debug)focus_manager)messages)settings_manager)speech_generator)AXComponent)AXObject)AXTable)AXText)AXUtilities)scriptc                  s   a  ] tR t^6t$ RtR]R&   ]R 4       t]R V 3R ll4       t]R V 3R ll4       t	]R	 V 3R
 ll4       t
R R ltR R lt]R V 3R ll4       t]R V 3R ll4       t]R V 3R ll4       tRtV ;t# )SpeechGeneratorr    zscript.Script_scriptc                s   a  V 3R lpV# )zDecorator for logging.c                 s   < S! V / VB pR SP                    R2V.p\        P                  ! \        P                  VR4       V# )zSOFFICE SPEECH GENERATOR: Z:T)__name__r   Zprint_tokensZ
LEVEL_INFO)argsZkwargsresultZtokensfuncs   *,  O/usr/lib/python3.14/site-packages/orca/scripts/apps/soffice/speech_generator.pywrapperZ5SpeechGenerator.log_generator_output.<locals>.wrapper@   sF    4*6*F24==/CVLFu//>M     )r   r   s   f r   log_generator_outputZ$SpeechGenerator.log_generator_output<   s    	
 r   c                    V ^8  d   QhRRRR/# i   objzAtspi.AccessibleZreturnz	list[Any]r   Zformat   "r   __annotate__SpeechGenerator.__annotate__H   s     > >-= >) >r   c                	s   < V P                   P                  P                  V4      '       d   . # \        SV `  ! V3/ VB # )N)r   	utilitiesis_spreadsheet_cellsuper_generate_accessible_nameselfr   r   	__class__   &&,r   r%   Z)SpeechGenerator._generate_accessible_nameG   s8    <<!!55c::Iw0===r   c               r   r   r   r   r   r   r    r!   O   s     8 8'7 8I 8r   c           	     	s  < \         P                  ! V4      '       d?   \        P                  ! V\         P                  4      ;p'       d   \
        SV `  V4      # . # \        P                  ! V4      '       d^   \        P                  ! V4      ^ ,          pV'       g9   \        P                  .pVP                  V P                  ! RRVRV/VB 4       V# \
        SV `  ! V3/ VB # )i    Zstringr   r   )r   Zis_combo_boxr   Zfind_descendantZis_text_inputr$   _generate_text_lineZsupports_textr   Zget_line_at_offsetr   BLANKextendvoice)r'   r   r   ZentryZtextr   r(   s   &&,   r   r*   Z#SpeechGenerator._generate_text_lineN   s    ##C(( 00k6O6OPPuPw2599I
 !!#&&,,S1!4D%-^^$4djjFF#FFGw*37$77r   c               r   r   r   r   r   r   r    r!   b   s      +; 	 r   c                s  < \         P                  ! WP                  R4      4      '       g   . # \         P                  ! \        P
                  ! V4      4      '       g   \        SV `  ! V3/ VB # \         P                  ! V4      '       d   \        P                  .pM\        P                  .pVP                  V P                  ! \        P                  3RV/VB 4       V# )zTreat toggle buttons in the toolbar specially. This is so we can
have more natural sounding speech such as "bold on", "bold off", etc.Zroler   )r   Zis_toggle_buttongetZis_tool_barr   
get_parentr$   _generate_state_pressedZ
is_checkedr   ZONZOFFr,   r-   r	   SYSTEM)r'   r   r   r   r(   s   &&, r   r0   Z'SpeechGenerator._generate_state_presseda   s    
 ++C&1ABBI&&x':':3'?@@723?$??!!#&&!)Fll^Fdjj!1!8!8JcJTJKr   c               r   r   r   r   r   r   r    r!   s   s      &6 9 r   c                s   \         P                  ! 4       P                  R4      '       d   . # . p\        P                  ! V4      p^ p\
        P                  ! V4      p\        V4       F  p\        P                  ! W4      pVP                  VP                  8  d   V^,          pK?  VP                  VP                  ,           VP                  VP                  ,           8  g   K~  WTV,
          ,          p M	  V^ 8  d   \        P                  ! V4      .pV'       d3   VP                  V P                  ! \        P                   3RV/VB 4       V# )a2  If there is text in this spread sheet cell, compare the size of
the text within the table cell with the size of the actual table
cell and report back to the user if it is larger.

Returns an indication of how many characters are greater than the size
of the spread sheet cell, or None if the message fits.
ZonlySpeakDisplayedTextr   )r   get_managerget_settingr   Zget_character_countr
   Zget_rectZrangeZget_character_rectZxZwidthr   Zcharacters_too_longr,   r-   r	   r1   )	r'   r   r   r   ZlengthZtoo_long_countZextentsZiZrects	   &&,      r   _generate_too_longZ"SpeechGenerator._generate_too_longs   s    '')556NOOI ++C0&&s+vA,,S4Dvv		!!#$**$wyy7=='@@1*,  A22>BCFMM$**%5%<%<N#NNOr   c               r   r   r   r   r   r   r    r!      s      )9 i r   c                	s&   \         P                  ! V4      pV'       g   . # VP                  R 4      R8X  d   \        P                   RV 2.pM\        P                  .pVP                  V P                  ! \        P                  3RV/VB 4       V# )
formatTypebasicWhereAmIz. r   )	r   Zget_cell_formular.   r   ZHAS_FORMULAr,   r-   r	   r1   )r'   r   r   Zformular   s   &&,  r   _generate_has_formulaZ%SpeechGenerator._generate_has_formula   s~    **3/I88L!_4$,$8$8#9G9!E FF**+Fdjj!1!8!8JcJTJKr   c               r   r   r   r   r   r   r    r!      s     & &-= &) &r   c                	s  < \         P                  ! 4       P                  4       '       d   . # \        SV `  ! V3/ VB pV P
                  P                  P                  V4      '       g   V P
                  P                  4       P                  4       '       d   V# \        P                  ! 4       P                  R 4      '       d&   VP                  \        P                  ! V4      4       V# \        P                  ! 4       P                  R4      '       g   VP                  R4      R8X  dU   \         P"                  ! V4      ;'       g&    V P
                  P                  P%                  V4      pVP                  V4       V P
                  P                  P'                  WP                  R4      4      '       d.   V P
                  P                  P)                  V4      '       d   V# V P*                  ! V3/ VB pV'       d4   VP-                  V P.                  ! V3/ VB 4       VP-                  V4       V P0                  ! V3/ VB pV'       d4   VP-                  V P.                  ! V3/ VB 4       VP-                  V4       V\2        P4                  8X  dD   \6        P8                  .pVP-                  V P:                  ! \2        P<                  3RV/VB 4       V# )ZspeakCellCoordinatesZspeakSpreadsheetCoordinatesr5   r6   priorObjr   )r   r2   Z
in_say_allr$   _generate_real_table_cellr   r"   r#   Zget_table_navigatorZ'last_input_event_was_navigation_commandr   r3   Zappendr   Zget_namer.   r   Zget_label_for_cell_coordinatesZspreadsheet_cell_nameZshould_read_full_rowZcell_row_changedr4   r,   Z_generate_pauser7   r	   ZPAUSEr   r+   r-   ZDEFAULT)r'   r   r   r   ZlabelZtoo_longZhas_formular(   s   &&,    r   r9   Z)SpeechGenerator._generate_real_table_cell   s    $$&1133I23?$?||%%99#>>||//1YY[[++-99:PQQh//45M'')556STThh|$7::3? E E<<))??D MM% <<!!66sHHZ<PQQ||%%66s;;**37$7MM$..s;d;<MM(#00==MM$..s;d;<MM+&%+++nn%FMM$**%5%=%=O3O$OPr   c               r   r   r   r   r   r   r    r!      s     < <+; <	 <r   c                	s  < V P                   P                  P                  V4      '       dQ   V P                   P                  P                  \        P
                  ! VP                  R 4      4      4      '       d   . # \        SV `   ! V3/ VB # r8   )	r   r"   r#   Zis_document_panelr   r/   r.   r$   _generate_new_ancestorsr&   r)   r   r;   Z'SpeechGenerator._generate_new_ancestors   sh    <<!!55c::||%%778K8KDHHU_L`8abbIw.s;d;;r   c               r   r   r   r   r   r   r    r!      s     < <+; <	 <r   c                	s   < V P                   P                  P                  VP                  R 4      4      '       d   . # \        SV `  ! V3/ VB # r:   )r   r"   r#   r.   r$   _generate_old_ancestorsr&   r)   r   r<   Z'SpeechGenerator._generate_old_ancestors   sA    <<!!55dhhz6JKKIw.s;d;;r   r   )r   Z
__module__Z__qualname__Z__firstlineno____doc__Z__annotations__Zstaticmethodr   r%   r*   r0   r4   r7   r9   r;   r<   Z__static_attributes__Z__classcell__)r(   s   @r   r   r   6   s    >   > > 8 8$  ": & &P < < < <r   r   )"r=   Z
__future__r   Z__id__Z__version__Z__date__Z__copyright__Z__license__Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   Zorcar   r   r   r   r	   Zorca.ax_componentr
   Zorca.ax_objectr   Zorca.ax_tabler   Zorca.ax_textr   Zorca.ax_utilitiesr   Z r   r   r   r   r   <module>r>      sz   , ; #? % 	   7E "     ! ! ) # !  )]<&66 ]<r   