+
     i  c                  s    R t ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHtHt ^ RIHtHtHt  ! R R4      t ! R	 R
4      tR# )z Components that wrap everything.)annotations)GtkPango)
Controller)MessageBrokerMessageType)
StatusDataDoStackSwitch)	CTX_ERRORCTX_MAPPINGCTX_WARNINGc                  s>    ] tR t^%tRt^ t^t^tR R ltR R lt	Rt
R# )Stackz4Wraps the Stack, which contains the main menu pages.c               s$    V ^8  d   QhRRRRRR/# )   message_brokerr   
controllerr   stackz	Gtk.Stack Zformat   "F/usr/lib/python3.14/site-packages/inputremapper/gui/components/main.py__annotate__Stack.__annotate__,   s(     
 
%
 
 	
    c                	s    Wn         W n        W0n        V P                   P                  \        P
                  V P                  4       R # N)_message_broker_controller_gui	subscriber   Zdo_stack_switch_do_stack_switch)selfr   r   r   s   &&&&r   __init__ZStack.__init__,   s:      .%	&&'')>)>	
r   c                   V ^8  d   QhRR/# )r   msgr   r   r   r   r   r   r   :   s     N NM Nr   c                	s    V P                   P                  V P                   P                  4       VP                  ,          4       R # r   )r   Zset_visible_childget_childrenZ
page_index)r   r    s   &&r   r   ZStack._do_stack_switch:   s*    		##DII$:$:$<S^^$LMr   )r   r   r   N)__name__
__module____qualname____firstlineno____doc__Zdevices_pageZpresets_pageZeditor_pager   r   __static_attributes__r   r   r   r   r   %   s%    >LLK
N Nr   r   c                  s2    ] tR t^>tRtR R ltR R ltRtR# )	StatusBarz0The status bar on the bottom of the main window.c          
     s,    V ^8  d   QhRRRRRRRRR	R/# )
r   r   r   r   r   
status_barzGtk.Statusbar
error_iconz	Gtk.Imagewarning_iconr   r   r   r   r   StatusBar.__annotate__A   s<      %  "	
   r   c                	s   Wn         W n        W0n        W@n        WPn        V P                  P                  4       P                  4       ^ ,          pVP                  \        P                  P                  4       VP                  R4       V P                   P                  \        P                  V P                  4       RV n        RV n        R# )i    TFN)r   r   r   _error_icon_warning_iconZget_message_arear!   Zset_ellipsizer   ZEllipsizeModeZENDZset_selectabler   r   Z
status_msg_on_status_update_error_warning)r   r   r   r)   r*   r+   Zlabels   &&&&&& r   r   ZStatusBar.__init__A   s      .%	%)		**,99;A>E//334T"&&{'='=t?U?UV r   c               r   )r   datar   r   r   r   r   r   r,   Z   s     ,- ,-j ,-r   c                s   VP                   pVP                  pVP                  pV P                  pVf   VP	                  V4       V\
        \        39   dN   V P                  P                  4        RV n	        V P                  '       d   V P                  P                  4        V\        8X  dN   V P                  P                  4        RV n
        V P                  '       d   V P                  P                  4        VP                  R4       R# Vf   TpV P                  P                  4        V P                  P                  4        V\
        \        39   d"   V P                  P                  4        RV n	        V\        8X  d"   V P                  P                  4        RV n
        VP                  W#4       VP                  V4       R# )z{Show a status message and set its tooltip.

If message is None, it will remove the newest message of the
given context_id.
NFZ T)Zctx_idr    tooltipr   Z
remove_allr   r	   r-   Zhider0   r1   r.   Zshowr
   Zset_tooltip_textZpush)r   r2   Z
context_idZmessager3   r)   s   &&    r   r/   ZStatusBar._on_status_updateZ   sX    [[
((,,YY
?!!*-i55  %%'#===&&++-[(""'') %;;;$$))+''+?G!)[11!!#DK$##% DM
,##G,r   )r   r0   r-   r   r   r1   r.   N)r"   r#   r$   r%   r&   r   r/   r'   r   r   r   r(   r(   >   s    :2,- ,-r   r(   N)r&   Z
__future__r    Zgi.repositoryr   r   Zinputremapper.gui.controllerr   Z)inputremapper.gui.messages.message_brokerr   r   Z'inputremapper.gui.messages.message_datar   r   Zinputremapper.gui.utilsr   r	   r
   r   r(   r   r   r   <module>r4      s>   * ' # $ 3 N G GN N2H- H-r   