
    f                        S SK r S SKrS SKJrJr  SSKJrJr  SSKJ	r	J
r
  SSKJrJrJrJr  SSKJr  S SKJr  \" S	5      r\R*                  S
:H  r\R*                  S:H  r/ r\	r	\R3                  S5        \
r
\R3                  S5         " S S\5      r\R3                  S5        \(       a  S r\R3                  S5        S r " S S\5      r " S S\R>                  5      r\" \5      r\R3                  S5        \(       a0   " S S\R@                  \5      r \" \ 5      r \R3                  S5        O\r  " S S\RB                  5      r!\" \!5      r!\R3                  S5        \(       a   " S S\RD                  5      r"\" \"5      r"\R3                  S5         " S S\RF                  5      r#\" \#5      r#\R3                  S5         " S S \RH                  5      r$\" \$5      r$\R3                  S 5         " S! S"\RJ                  5      r%\" \%5      r%\R3                  S"5         " S# S$\RL                  \ 5      r&\" \&5      r&\R3                  S$5        \(       a.   " S% S&\RN                  5      r'\" \'5      r'\R3                  S&5        \(       a.   " S' S(\RP                  5      r(\" \(5      r(\R3                  S(5        \(       a.   " S) S*\RR                  5      r)\" \)5      r)\R3                  S*5        S+ r* " S, S-\RV                  5      r+\" \+5      r+\R3                  S-5        \(       a  \RX                  RZ                  r.O\" \RX                  RZ                  S.\S/S09r. " S1 S2\RX                  5      r,\" \,5      r,\R3                  S25         " S3 S4\R^                  \ 5      r/\" \/5      r/\R3                  S45        \(       a/   " S5 S6\R`                  \/5      r0\" \05      r0\R3                  S65        \(       a\   " S7 S8\Rb                  5      r1\" \15      r1\R3                  S85         " S9 S:\Rd                  5      r2\" \25      r2\R3                  S:5        \(       a.   " S; S<\Rf                  5      r3\" \35      r3\R3                  S<5        \(       a.   " S= S>\Rh                  5      r4\" \45      r4\R3                  S>5         " S? S@\Rj                  5      r5\" \55      r5\R3                  S@5        \(       a.   " SA SB\Rl                  5      r6\" \65      r6\R3                  SB5         " SC SD\Rn                  5      r7\" \75      r7\R3                  SD5         " SE SF\Rp                  5      r8\" \85      r8\R3                  SF5         " SG SH\Rr                  5      r9\" \95      r9\R3                  SH5         " SI SJ\Rt                  5      r:\" \:5      r:\R3                  SJ5         " SK SL\Rv                  5      r;\" \;5      r;\R3                  SL5         " SM SN\Rx                  5      r<\" \<5      r<\R3                  SN5        \(       a.   " SO SP\Rz                  5      r=\" \=5      r=\R3                  SP5         " SQ SR\R|                  \;\<5      r>\" \>5      r>\R3                  SR5         " SS ST\5      r?\R3                  ST5         " SU SV\5      r@\R3                  SV5         " SW SX\R                  5      rA\" \A5      rA\R3                  SX5         " SY SZ\R                  \;\<5      rB\" \B5      rB\R3                  SZ5         " S[ S\\R                  \ 5      rC\" \C5      rC\R3                  S\5         " S] S^\R                  5      rD\" \D5      rD\R3                  S^5         " S_ S`\R                  5      rE\" \E5      rE\R3                  S`5        \(       a   " Sa Sb\R                  \ 5      rF\" \F5      rF\R3                  Sb5         " Sc Sd\R                  5      rG\" \G5      rG\R3                  Sd5         " Se Sf\R                  5      rH\" \H5      rH\R3                  Sf5         " Sg Sh\R                  5      rI\" \I5      rI\R3                  Sh5        \(       a]   " Si Sj\R                  \ 5      rJ\" \J5      rJ\R3                  Sj5         " Sk Sl\R                  5      rK\" \K5      rK\R3                  Sl5        \(       a\   " Sm Sn\R                  5      rL\" \L5      rL\R3                  Sn5         " So Sp\R                  5      rM\" \M5      rM\R3                  Sp5        \(       a.   " Sq Sr\R                  5      rN\" \N5      rN\R3                  Sr5        \(       a   " Ss St\R                  5      rO\" \O5      rO\R3                  St5         " Su Sv\R                  5      rP\" \P5      rP\R3                  Sv5         " Sw Sx\R                  5      rQ\" \Q5      rQ\R3                  Sx5         " Sy Sz\R                  5      rR\" \R5      rR\R3                  Sz5        \(       d  \(       a.   " S{ S|\R                  5      rS\" \S5      rS\R3                  S|5        \(       a.   " S} S~\R                  5      rT\" \T5      rT\R3                  S~5        \(       a.   " S S\R                  5      rU\" \U5      rU\R3                  S5        \(       a  \R                  rW\" \R                  5      S 5       rV\R                  rY\" \R                  5      S 5       rX\R                  r[\R                  r]\" \R                  5      S 5       rZ\" \R                  5      S 5       r\\(       a#  \" \R                  5      r^\R3                  S5        \(       a  \R                  5       r`g\R                  \ R                  5      u  r`ra\b" \a5      \ la        g)    N)GObjectGLib   )register_sigint_fallbackget_event_loop)Template_extract_handler_and_args)overridestrip_boolean_resultdeprecated_initwrap_list_store_sort_func)get_introspection_module)PyGIDeprecationWarningGtkz3.0z4.0r   r	   c                       \ rS rSrSrg)PyGTKDeprecationWarning1    N)__name__
__module____qualname____firstlineno____static_attributes__r       2/usr/lib/python3/dist-packages/gi/overrides/Gtk.pyr   r   1   s    r   r   c                     / nU  HP  n[        U[        R                  5      (       d  [        R                  R                  " U6 nUR	                  U5        MR     U$ )zCreate a list of TargetEntry items from a list of tuples in the form (target, flags, info)

The list can also contain existing TargetEntry items in which case the existing entry
is re-used in the return list.
)
isinstancer   TargetEntrynewappend)targetstarget_entriesentrys      r   _construct_target_listr$   9   sN     EeS__55++U3!!%(  r   r$   c                    [        Xc5      u  pxU[        R                  R                  -  n	Ub1  U	(       a  UR                  " X'U/UQ76   g UR
                  " X'U/UQ76   g U	(       a  UR                  " X'/UQ76   g UR                  " X'/UQ76   g N)r	   r   ConnectFlagsAFTERconnect_object_afterconnect_objectconnect_afterconnect)
buildergobjsignal_namehandler_nameconnect_objflags
obj_or_maphandlerargsafters
             r   _builder_connect_callbackr7   I   s~    -jGMGG((...E%%kKO$OkIDI{;d;LL55r   c                   &    \ rS rSrS rS rS rSrg)_FreezeNotifyManagerY   c                     Xl         g r&   obj)selfr=   s     r   __init___FreezeNotifyManager.__init__Z   s    r   c                     g r&   r   r>   s    r   	__enter___FreezeNotifyManager.__enter__]   s    r   c                 8    U R                   R                  5         g r&   )r=   thaw_child_notify)r>   exc_type	exc_value	tracebacks       r   __exit___FreezeNotifyManager.__exit__`   s    ""$r   r<   N)r   r   r   r   r?   rC   rJ   r   r   r   r   r9   r9   Y   s    %r   r9   c                      ^  \ rS rSr\" \R                  R                  5      r\(       a  S r	S r
\(       a  U 4S jr\(       a  U 4S jr\(       a  U 4S jr\(       a  S	S jrSrU =r$ SrU =r$ )
Widgetd   c                     U[        U 5      ;   $ r&   )listr>   childs     r   __contains__Widget.__contains__i   s    DJ&&r   c              #   v   #    U R                  5       nU(       a  Uv   UR                  5       nU(       a  M  g g 7fr&   )get_first_childget_next_siblingrQ   s     r   __iter__Widget.__iter__l   s0     ((*E..0 %s   399c                 >   > [         [        U ]  5         [        U 5      $ r&   )superrM   freeze_child_notifyr9   )r>   	__class__s    r   r\   Widget.freeze_child_notifys   s    &$35'--r   c                    > UbG  [        U[        R                  5      (       d(  [        R                  R                  [	        U5      5      n[
        [        U ]  U5        g r&   )r   r   
TargetListr   r$   r[   rM   drag_dest_set_target_listr>   target_listr]   s     r   ra    Widget.drag_dest_set_target_listx   sB    '*[#..2Y2Y!nn001G1TU&$9+Fr   c                    > UbG  [        U[        R                  5      (       d(  [        R                  R                  [	        U5      5      n[
        [        U ]  U5        g r&   )r   r   r`   r   r$   r[   rM   drag_source_set_target_listrb   s     r   rf   "Widget.drag_source_set_target_list~   sB    '*[#..2Y2Y!nn001G1TU&$;KHr   c                     UcH  U R                  U5      nUc  [        SU < SU< S35      e[        R                  " UR                  5      n[
        R                  R                  XU5        UR                  5       $ )NClass "z#" does not contain style property "")	find_style_property
ValueErrorr   Value
value_typer   rM   style_get_property	get_value)r>   property_namevalueprops       r   ro   Widget.style_get_property   sf    }//><$&*M&; < <doo6JJ))$uE??$$r   r   r&   )r   r   r   r   r   r   rM   translate_coordinatesGTK4rS   rX   GTK3r\   ra   rf   ro   r   __classcell__r]   s   @r   rM   rM   d   sY    01Q1QR	'	1 	. 	G
 	I
 		% 		% r   rM   c                   z    \ rS rSrS rS rS rS rSS jrS r	S	 r
\" \R                  R                  5      rS
rg)	Container   c                 4    [        U R                  5       5      $ r&   )lenget_childrenrB   s    r   __len__Container.__len__   s    t((*++r   c                 &    XR                  5       ;   $ r&   )r   rQ   s     r   rS   Container.__contains__   s    --///r   c                 4    [        U R                  5       5      $ r&   )iterr   rB   s    r   rX   Container.__iter__   s    ))+,,r   c                     gNTr   rB   s    r   __bool__Container.__bool__   s    r   Nc                     UcH  U R                  U5      nUc  [        SU < SU< S35      e[        R                  " UR                  5      n[
        R                  R                  XX#5        UR                  5       $ )Nri   z#" does not contain child property "rj   )	find_child_propertyrl   r   rm   rn   r   r{   child_get_propertyrp   )r>   rR   rq   rr   rs   s        r   r   Container.child_get_property   sf    }//><$&*M&; < <doo6MM,,T-O??$$r   c                 N    U Vs/ s H  o0R                  X5      PM     sn$ s  snf )z<Returns a list of child property values for the given names.)r   )r>   rR   
prop_namesnames       r   	child_getContainer.child_get   s#    EOPZT++E8ZPPPs   "c                 ~    UR                  5        H)  u  p4UR                  SS5      nU R                  XU5        M+     g)z=Set a child properties on the given child to key/value pairs._-N)itemsreplacechild_set_property)r>   rR   kwargsr   rr   s        r   	child_setContainer.child_set   s4    %||~||C-''U;  .r   r   r&   )r   r   r   r   r   rS   rX   r   r   r   r   r   r   r{   get_focus_chainr   r   r   r   r{   r{      s<    	,	0	-			%	Q	< /s}}/L/LMr   r{   c                   ^   ^  \ rS rSrU 4S jr\" \R                  R                  SS9rSr	U =r
$ )Editable   c                 .   > [         [        U ]  USU5      $ N)r[   r   insert_text)r>   textpositionr]   s      r   r   Editable.insert_text   s    Xt0r8DDr   r   fail_ret)r   r   r   r   r   r   r   r   get_selection_boundsr   rx   ry   s   @r   r   r      s#    E 00Q0Q\^_r   r   c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)Action   r   labeltooltipstock_id	arg_namescategoryr   N)
r   r   r   r   r   r   r   r?   r   r   r   r   r   r   r      s    "3::#6#6-U,CEr   r   c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)RadioAction   r   r   r   r   rr   r   r   N)
r   r   r   r   r   r   r   r?   r   r   r   r   r   r   r      s    "3??#;#;-^,CEr   r   c                   j    \ rS rSr\" \R                  R                  S\S9rS	S jr	S	S jr
S
S jrSrg)ActionGroup   )r   r   Nc                    ^ ^  [        U5        SU U4S jjnU H  nU" U6   M
     g! [         a    [        S5      ef = f)a  
The add_actions() method is a convenience method that creates a number
of gtk.Action  objects based on the information in the list of action
entry tuples contained in entries and adds them to the action group.
The entry tuples can vary in size from one to six items with the
following information:

    * The name of the action. Must be specified.
    * The stock id for the action. Optional with a default value of None
      if a label is specified.
    * The label for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None if a stock id is specified.
    * The accelerator for the action, in the format understood by the
      gtk.accelerator_parse() function. Optional with a default value of
      None.
    * The tooltip for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None.
    * The callback function invoked when the action is activated.
      Optional with a default value of None.

The "activate" signals of the actions are connected to the callbacks and
their accel paths are set to <Actions>/group-name/action-name.
entries must be iterableNc                    > [        XXAS9nUb)  Tc  UR                  SU5        OUR                  SUT5        TR                  Xc5        g Nr   activate)r   r,   add_action_with_accel)	r   r   r   acceleratorr   callbackactionr>   	user_datas	          r   _process_action0ActionGroup.add_actions.<locals>._process_action  sG    T[' (z8<z8YG**6?r   )NNNNNr   	TypeErrorr>   entriesr   r   es   ` `  r   add_actionsActionGroup.add_actions   sL    4<W@ @ #   < :;;<   ' =c                    ^ ^  [        U5        SU U4S jjnU H  nU" U6   M
     g! [         a    [        S5      ef = f)ab  
The add_toggle_actions() method is a convenience method that creates a
number of gtk.ToggleAction objects based on the information in the list
of action entry tuples contained in entries and adds them to the action
group. The toggle action entry tuples can vary in size from one to seven
items with the following information:

    * The name of the action. Must be specified.
    * The stock id for the action. Optional with a default value of None
      if a label is specified.
    * The label for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None if a stock id is specified.
    * The accelerator for the action, in the format understood by the
      gtk.accelerator_parse() function. Optional with a default value of
      None.
    * The tooltip for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None.
    * The callback function invoked when the action is activated.
      Optional with a default value of None.
    * A flag indicating whether the toggle action is active. Optional
      with a default value of False.

The "activate" signals of the actions are connected to the callbacks and
their accel paths are set to <Actions>/group-name/action-name.
r   Nc                    > [         R                  XXAS9nUR                  U5        Ub)  T	c  UR                  SU5        OUR                  SUT	5        TR	                  Xs5        g r   )r   ToggleAction
set_activer,   r   )
r   r   r   r   r   r   	is_activer   r>   r   s
           r   r   7ActionGroup.add_toggle_actions.<locals>._process_action1  s^    ))t')e!!),' (z8<z8YG**6?r   )NNNNNFr   r   s   ` `  r   add_toggle_actionsActionGroup.add_toggle_actions  sL    :<W	@ 	@ #   < :;;<r   c                    ^ ^  [        U5        SnSU U4S jjnU H  nU" U/UQ76 nUb  M  UnM     Ub-  Ub)  Uc  UR                  SU5        gUR                  SX45        ggg! [         a    [        S5      ef = f)au  
The add_radio_actions() method is a convenience method that creates a
number of gtk.RadioAction objects based on the information in the list
of action entry tuples contained in entries and adds them to the action
group. The entry tuples can vary in size from one to six items with the
following information:

    * The name of the action. Must be specified.
    * The stock id for the action. Optional with a default value of None
      if a label is specified.
    * The label for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None if a stock id is specified.
    * The accelerator for the action, in the format understood by the
      gtk.accelerator_parse() function. Optional with a default value of
      None.
    * The tooltip for the action. This field should typically be marked
      for translation, see the set_translation_domain() method. Optional
      with a default value of None.
    * The value to set on the radio action. Optional with a default
      value of 0. Should be specified in applications.

The value parameter specifies the radio action that should be set
active. The "changed" signal of the first radio action is connected to
the on_change callback (if specified and not None) and the accel paths
of the actions are set to <Actions>/group-name/action-name.
r   Nc                    > [        XXRUS9n[        (       a  UR                  U 5        T	U:X  a  UR                  S5        TR	                  Xt5        U$ )Nr   T)r   rw   
join_groupr   r   )
group_sourcer   r   r   r   r   entry_valuer   r>   rr   s
           r   r   6ActionGroup.add_radio_actions.<locals>._process_actionc  sN    $$Wgrs4%%l3K'%%d+**6?r   changed)NNNNr   )r   r   r,   )	r>   r   rr   	on_changer   first_actionr   r   r   s	   ` `      r   add_radio_actionsActionGroup.add_radio_actions@  s    8<W  L
 
 (::'#)L	  'I,A$ ((I> ((II	 -B'/  < :;;<s   A$ $A:r   r&   )NNN)r   r   r   r   r   r   r   r?   r   r   r   r   r   r   r   r   r   r      s1    "3??#;#;-6,CE+	$Z/	$b9	Jr   r   c                   $    \ rS rSrS rSS jrSrg)	UIManageri~  c                     [        U[        5      (       d  [        S5      e[        U5      n[        R
                  R                  XU5      $ Nzbuffer must be a string)r   strr   _get_utf8_lengthr   r   add_ui_from_stringr>   bufferlengths      r   r   UIManager.add_ui_from_string  s<    fc** 9::%f-F==33D&IIr   c                 B    [         R                  R                  XU5      $ r&   )r   r   insert_action_groupr   s      r   r   UIManager.insert_action_group  s    ==44T6JJr   r   Nr   )r   r   r   r   r   r   r   r   r   r   r   r   ~  s    	J	Kr   r   c                   L    \ rS rSr\" \R                  R                  5      rSrg)ComboBoxi  r   N)	r   r   r   r   r   r   r   get_active_iterr   r   r   r   r   r     s    *3<<+G+GHOr   r   c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)Boxi  )homogeneousspacingr   r   N)
r   r   r   r   r   r   r   r?   r   r   r   r   r   r   r     s    "377#3#3-G,CEr   r   c                   z    \ rS rSr\" \R                  R                  SS\R                  R                  0\
S9rSrg)	SizeGroupi  )moder   )r   deprecated_defaultsr   r   N)r   r   r   r   r   r   r   r?   SizeGroupModeVERTICALr   r   r   r   r   r   r     s3    "3==#9#9-68>@Q@Q@Z@Z7[,CEr   r   c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)MenuItemi  r   r   r   N)
r   r   r   r   r   r   r   r?   r   r   r   r   r   r   r     s    "3<<#8#8-7,CEr   r   c                     [        U [        5      (       d   e[        U [        5      (       d  U R                  S5      n [	        U 5      $ )Nutf-8)r   r   bytesencoder~   )strings    r   r   r     s:    fc""""fe$$w'v;r   c                   h   ^  \ rS rSr\(       a  SSKJr  \" 5       rS	U 4S jjrOS r	S r
S rSrU =r$ )
Builderi  r   )define_builder_scopec                    > [         [        U ]  5         U(       a%  U R                  [        R	                  U5      5        g g r&   )r[   r  r?   	set_scopeBuilderScope)r>   scope_object_or_mapr]   s     r   r?   Builder.__init__  s0    '4)+"w334GHI #r   c                 0    U R                  [        U5        g)a  Connect signals specified by this builder to a name, handler mapping.

Connect signal, name, and handler sets specified in the builder with
the given mapping "obj_or_map". The handler/value aspect of the mapping
can also contain a tuple in the form of (handler [,arg1 [,argN]])
allowing for extra arguments to be passed to the handler. For example:

.. code-block:: python

    builder.connect_signals({'on_clicked': (on_clicked, arg1, arg2)})
N)connect_signals_fullr7   )r>   r3   s     r   connect_signalsBuilder.connect_signals  s     %%&?Lr   c                     [        U[        5      (       d  [        S5      e[        U5      n[        R
                  R                  XU5      $ r   )r   r   r   r   r   r  add_from_stringr   s      r   r  Builder.add_from_string  s<    &#&&566!&){{**4@@r   c                     [        U[        5      (       d  [        S5      e[        U5      n[        R
                  R                  XX25      $ r   )r   r   r   r   r   r  add_objects_from_string)r>   r   
object_idsr   s       r   r  Builder.add_objects_from_string  s<    &#&&566!&){{224TTr   r   r&   )r   r   r   r   rv   _gtktemplater	  r  r?   r  r  r  r   rx   ry   s   @r   r  r    s5    7+-	J 	J	MAU Ur   r  )type   )r   r   
stacklevelc                       \ rS rSrS rSrg)Windowi  c                 N    [         (       d  [        S5      e[        U /UQ70 UD6  g )NzRGtk couldn't be initialized. Use Gtk.init_check() if you want to handle this case.)initializedRuntimeError_window_initr>   r5   r   s      r   r?   Window.__init__  s0    {HI I 	T+D+F+r   r   N)r   r   r   r   r?   r   r   r   r   r  r    s    ,r   r  c                       \ rS rSr\(       a;  Sr\" \R                  R                  SSSSS.\
S9rS	 r	S
 r\" S 5      r\" S 5      rS rSrg)Dialogi  )titleparentr2   buttons_buttons_property)r(  transient_forr2   add_buttonsr*  )r2   r-  r)  r+  )r,  r*  )r   ignoredeprecated_aliasesr   c                 $   UR                  5       n[        [        U R                  U5      5      nUR	                  U5        SnU R
                  [        :w  a-  U R
                  R                  [        R                  :w  a  US-  nUR                  SS 5      nUbL  [        U[        R                  5      (       d-  [        R                  " S[        US9  UR                  SS 5        OS nUR                  SS5      nU(       ah  [        R                  " S[        US9  U[        R                   R"                  -  (       a  S	US
'   U[        R                   R$                  -  (       a  S	US'   U R&                  " U0 UD6  U(       a  U R(                  " U6   g g )Nr      r*  zThe "buttons" argument must be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecationsr  r2   r   zThe "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecationsTmodaldestroy_with_parent)copydictzip_old_arg_namesupdater]   r'  r?   getr   r   ButtonsTypewarningswarnr   popDialogFlagsMODALDESTROY_WITH_PARENT_initr-  )r>   r5   r   
new_kwargs
old_kwargsr  r-  r2   s           r   r?   Dialog.__init__  sI   Jc$"5"5t<=Jf% J~~'DNN,C,Cv,Va

 %..D9K&z+s/W/W ^ 6*N y$/"NN7A.E ^ 6*N
 3??000*.Jw'3??>>>8<J45JJ+
+  +. r   c                 t   [        U R                  5         [        [        R                  R                  5       5      R                  U R                  5         [        R                  R                  " U /UQ70 UD6sS S S 5        sS S S 5        $ ! , (       d  f       O= f S S S 5        g ! , (       d  f       g = fr&   )
r   destroyr   r   MainContextdefaultrunningr   r'  runr$  s      r   rK  
Dialog.run8  su    )$,,7#D$4$4$<$<$>?GGU::>>$@@@ VU 87UUU 877s$   AB)$B;	B)
B	B))
B7c                 "    U R                  5       $ r&   )get_action_areadialogs    r   <lambda>Dialog.<lambda>=  s    f.D.D.Fr   c                 "    U R                  5       $ r&   )get_content_arearO  s    r   rQ  rR  >  s    v'>'>'@r   c                 N    S nU" U5       H  u  p4U R                  X45        M     g)a  
The add_buttons() method adds several buttons to the Gtk.Dialog using
the button data passed as arguments to the method. This method is the
same as calling the Gtk.Dialog.add_button() repeatedly. The button data
pairs - button text (or stock ID) and a response ID integer are passed
individually. For example:

.. code-block:: python

    dialog.add_buttons(Gtk.STOCK_OPEN, 42, "Close", Gtk.ResponseType.CLOSE)

will add "Open" and "Close" buttons to dialog.
c              3      #    U (       a   U SS u  pU SS  n X4v   U (       a  M  g g ! [          a    [        S5      ef = f7f)Nr   r   z%Must pass an even number of arguments)rl   )btrs      r   _button#Dialog.add_buttons.<locals>._buttonN  sT     NQq6DA abEd
 ! " N$%LMMNs   A ' A A =A N)
add_button)r>   r5   rZ  r   responses        r   r-  Dialog.add_buttons@  s%    	 &dmNDOOD+ ,r   r   N)r   r   r   r   rw   r8  r   r   r'  r?   r   rB  rK  propertyaction_areavboxr-  r   r   r   r   r'  r'    sb    U

 3 3+E'?EM?R4T)@B(	/T	A
 FG@A,r   r'  c                   `    \ rS rSr\" \R                  R                  SSSS.\S9rS r	S r
S	rg
)MessageDialogi`  )r)  r2   message_typer*  message_formatre  r  )r   rd  r   r/  r   c                 L    U R                  SS5        U R                  SU5        g )Nsecondary-use-markupFsecondary-textset_propertyr>   re  s     r   format_secondary_text#MessageDialog.format_secondary_texth  s$    4e<.?r   c                 L    U R                  SS5        U R                  SU5        g )Nrh  Tri  rj  rl  s     r   format_secondary_markup%MessageDialog.format_secondary_markupl  s$    4d;.?r   r   N)r   r   r   r   r   r   rc  r?   r   rm  rp  r   r   r   r   rc  rc  `  s<    "3#4#4#=#=.K?OGM7O,CE	@	@r   rc  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)ColorSelectionDialogiu  r(  r   r   N)
r   r   r   r   r   r   rs  r?   r   r   r   r   r   rs  rs  u  s!    "3#;#;#D#D-7,CEr   rs  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)FileChooserDialogi}  )r(  r)  r   r*  r   r   N)
r   r   r   r   r   r   rv  r?   r   r   r   r   r   rv  rv  }  s!    "3#8#8#A#A-U,CEr   rv  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)FontSelectionDialogi  rt  r   r   N)
r   r   r   r   r   r   rx  r?   r   r   r   r   r   rx  rx    s!    "3#:#:#C#C-7,CEr   rx  c                   R    \ rS rSr\" \R                  R                  SSS0\S9rSr	g)RecentChooserDialogi  )r(  r)  recent_managerr*  r{  managerrf  r   N)
r   r   r   r   r   r   rz  r?   r   r   r   r   r   rz  rz    s+     #3#:#:#C#C-]7G6S,CEr   rz  c                      \ rS rSr\(       a  \" \R                  R                  S\	S9r\
" \R                  R                  5      r\
" \R                  R                  5      r\
" \R                  R                  5      rSrg)IconViewi  modelr   r   N)r   r   r   r   rw   r   r   r~  r?   r   r   get_item_at_posget_visible_rangeget_dest_item_at_posr   r   r   r   r~  r~    sb    "3<<#8#8-7,CE +3<<+G+GHO,S\\-K-KL/0Q0QRr   r~  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)
ToolButtoni  )r   r   r   N)
r   r   r   r   r   r   r  r?   r   r   r   r   r   r  r    s    "3>>#:#:-:,CEr   r  c                   L    \ rS rSr\" \R                  R                  5      rSrg)	IMContexti  r   N)	r   r   r   r   r   r   r  get_surroundingr   r   r   r   r  r    s    *3==+H+HIOr   r  c                   L    \ rS rSr\" \R                  R                  5      rSrg)
RecentInfoi  r   N)	r   r   r   r   r   r   r  get_application_infor   r   r   r   r  r    s    /0S0STr   r  c                       \ rS rSrSS jrSS jrSS jrSS jrS rS r	SS	 jr
\" \R                  R                  S
S9rS
rg)
TextBufferi  Nc                 t    [         R                  " SSU0UD6nU R                  5       R                  U5        U$ )a  Creates a tag and adds it to the tag table of the TextBuffer.

:param str tag_name:
    Name of the new tag, or None
:param **properties:
    Keyword list of properties and their values

This is equivalent to creating a Gtk.TextTag and then adding the
tag to the buffer's tag table. The returned tag is owned by
the buffer's tag table.

If ``tag_name`` is None, the tag is anonymous.

If ``tag_name`` is not None, a tag called ``tag_name`` must not already
exist in the tag table for this buffer.

Properties are passed as a keyword list of names and values (e.g.
foreground='DodgerBlue', weight=Pango.Weight.BOLD)

:returns:
    A new tag.
r   r   )r   TextTagget_tag_tableadd)r>   tag_name
propertiestags       r   
create_tagTextBuffer.create_tag  s6    0 kk6x6:6  %
r   c                 B    [         R                  R                  XX#5      $ r&   )r   r  create_mark)r>   	mark_namewhereleft_gravitys       r   r  TextBuffer.create_mark  s    ~~))$5OOr   c                 D    [         R                  R                  XU5        g r&   )r   r  set_textr>   r   r   s      r   r  TextBuffer.set_text  s    F3r   c                     [        U[        5      (       d  [        S[        U5      -  5      e[        R
                  R                  XX#5        g Nztext must be a string, not %s)r   r   r   r  r   r  insert)r>   r   r   r   s       r   r  TextBuffer.insert  s8    $$$;d4jHIId$7r   c                     UR                  5       nU R                  X5        U(       d  g U R                  U5      nU H  nU R                  XeU5        M     g r&   )
get_offsetr  get_iter_at_offset	apply_tag)r>   r   r   tagsstart_offsetstartr  s          r   insert_with_tagsTextBuffer.insert_with_tags  sH    (D''5CNN3t, r   c                     / nU HH  nU R                  5       R                  U5      nU(       d  [        SU-  5      eUR                  U5        MJ     U R                  " X/UQ76   g )Nzunknown text tag: %s)r  lookuprl   r    r  )r>   r   r   r  tag_objsr  tag_objs          r   insert_with_tags_by_name#TextBuffer.insert_with_tags_by_name  s_    C((*11#6G !7#!=>>OOG$	  	d484r   c                     [        U[        5      (       d  [        S[        U5      -  5      e[        R
                  R                  XU5        g r  )r   r   r   r  r   r  insert_at_cursorr  s      r   r  TextBuffer.insert_at_cursor  s8    $$$;d4jHII''F;r   r   r   r&   )Fr   )r   r   r   r   r  r  r  r  r  r  r  r   r   r  r   r   r   r   r   r  r    s@    8P48
-	5< 00S0S^`ar   r  c                       \ rS rSr\" \R                  R                  5      r\" \R                  R                  5      rSr	g)TextIteri  r   N)
r   r   r   r   r   r   r  forward_searchbackward_searchr   r   r   r   r  r    s*    )#,,*E*EFN*3<<+G+GHOr   r  c                     ^  \ rS rSrS rS rS rU 4S jrS rS r	S r
S	 rS
 r\" \R                  R                   5      r\" \R                  R"                  5      r\" \R                  R$                  5      r\" \R                  R&                  5      r\" \R                  R(                  \S5      rU 4S jrU 4S jrU 4S jrS rS rS rS rU 4S jrU 4S jrU 4S jrU 4S jr U 4S jr!Sr"U =r#$ )	TreeModeli  c                 $    U R                  S 5      $ r&   )iter_n_childrenrB   s    r   r   TreeModel.__len__  s    ##D))r   c                     gr   r   rB   s    r   r   TreeModel.__bool__!  s    r   c                 @   [        U[        R                  5      (       a  U$ [        U[        5      (       a9  US:  a3  [	        U 5      U-   nUS:  a  [        SU-  5      eU R                  U5      $  U R                  U5      nU$ ! [         a    [        SU-  5      ef = f)Nr   zrow index is out of bounds: %dzcould not find tree path '%s')r   r   TreeIterintr~   
IndexErrorget_iterrl   )r>   keyindexaiters       r   _getiterTreeModel._getiter$  s    c3<<((JS!!cAgIOEqy !AC!GHH==''Hc* L  H !@3!FGGHs   1B Bc                    > [        [        U 5      n[        US5      (       a  UR                  5       $ [        R                  U 5      $ )Nsort_new_with_model)r[   r  hasattrr  TreeModelSortnew_with_model)r>   super_objectr]   s     r   r  TreeModel.sort_new_with_model3  s=    Y-<!6773355 //55r   c                 Z    [        U[        R                  5      (       a  U$ [        U5      $ r&   )r   r   TreePath)r>   paths     r   _coerce_pathTreeModel._coerce_path:  s"    dCLL))KD>!r   c                 :    U R                  U5      n[        X5      $ r&   )r  TreeModelRowr>   r  r  s      r   __getitem__TreeModel.__getitem__@  s    c"D((r   c                 D    X   nU R                  UR                  U5        g r&   )set_rowr   )r>   r  rr   rows       r   __setitem__TreeModel.__setitem__D  s    iSXXu%r   c                 H    U R                  U5      nU R                  U5        g r&   )r  remover  s      r   __delitem__TreeModel.__delitem__H  s    c"Er   c                 4    [        X R                  5       5      $ r&   )TreeModelRowIterget_iter_firstrB   s    r   rX   TreeModel.__iter__L  s    &9&9&;<<r   zinvalid tree pathc                 ~   > U R                  U5      n[        [        U ]  U5      u  p#U(       d  [	        SU-  5      eU$ )Nzinvalid tree path '%s')r  r[   r  r  rl   )r>   r  successr  r]   s       r   r  TreeModel.get_iterV  s?      &y$8>5<==r   c                 ^   > UR                  5       n[        [        U ]  U5      nU(       a  U$ g r&   )r5  r[   r  	iter_next)r>   r  	next_iterr  r]   s       r   r  TreeModel.iter_next]  s-    JJL		429= r   c                 ^   > UR                  5       n[        [        U ]  U5      nU(       a  U$ g r&   )r5  r[   r  iter_previous)r>   r  	prev_iterr  r]   s       r   r  TreeModel.iter_previousc  s-    JJL		46yA r   c                 8   [        U[        5      (       a  [        S5      eU R                  5       n[	        U5      U:w  a  [        S5      e/ n/ n[        U5       H;  u  pVUc  M
  UR                  U R                  XV5      5        UR                  U5        M=     X44$ )Nz%Expected a list or tuple, but got strz1row sequence has the incorrect number of elements)	r   r   r   get_n_columnsr~   rl   	enumerater    _convert_value)r>   r  	n_columnsresultcolumnscur_colrr   s          r   _convert_rowTreeModel._convert_rowi  s     c3CDD&&(	s8y PQQ'nNG}MM$--g=>NN7# -   r   c                 d    U R                  U5      u  p4U H  nU R                  XX%   5        M     g r&   )r  	set_value)r>   treeiterr  converted_rowr  columns         r   r  TreeModel.set_row}  s/    !%!2!23!7FNN8S[9 r   c                     [        U[        R                  5      (       a  U$ [        R                  " U R                  U5      U5      $ )z5Convert value to a GObject.Value of the expected type)r   r   rm   get_column_type)r>   r  rr   s      r   r  TreeModel._convert_value  s6     eW]]++L}}T11&95AAr   c                     U R                  5       n/ nU HY  n[        U[        5      (       d  [        S5      eUS:  d  XS:  a  [	        S5      eUR                  U R                  X5      5        M[     [        U5      $ )Nzcolumn numbers must be intsr   zcolumn number is out of range)r  r   r  r   rl   r    rp   tuple)r>   r  r  r  valuescols         r   r:  TreeModel.get  sq    &&(	Cc3'' =>>Qw#* !@AAMM$..78  V}r   c                 J   > [         [        U ]  U R                  U5      U5      $ r&   )r[   r  row_changedr  r>   r  r   r]   s      r   r  TreeModel.row_changed  s"    Y1$2C2CD2I4PPr   c                 J   > [         [        U ]  U R                  U5      U5      $ r&   )r[   r  row_insertedr  r  s      r   r  TreeModel.row_inserted  s"    Y243D3DT3JDQQr   c                 J   > [         [        U ]  U R                  U5      U5      $ r&   )r[   r  row_has_child_toggledr  r  s      r   r  TreeModel.row_has_child_toggled  s)    Y;D<M<Md<S<@B 	Br   c                 H   > [         [        U ]  U R                  U5      5      $ r&   )r[   r  row_deletedr  r>   r  r]   s     r   r  TreeModel.row_deleted  s     Y1$2C2CD2IJJr   c                 J   > [         [        U ]  U R                  U5      X#5      $ r&   )r[   r  rows_reorderedr  )r>   r  r   	new_orderr]   s       r   r  TreeModel.rows_reordered  s)    Y4T5F5Ft5L59F 	Fr   r   )$r   r   r   r   r   r   r  r  r  r  r  r  rX   r   r   r  r  iter_childreniter_nth_childiter_parentget_iter_from_stringrl   r  r  r  r  r  r  r:  r  r  r  r  r  r   rx   ry   s   @r   r  r    s    *6")&= *#--*F*FGN()D)DEM)#--*F*FGN&s}}'@'@AK/0R0R0:<OQ!(:
B$QRBKF Fr   r  c                   r   ^  \ rS rSr\" \R                  R                  SS9rSU 4S jjrSU 4S jjr	Sr
U =r$ )TreeSortablei  )NNr   c                 .   > [         [        U ]  XU5        g r&   )r[   r$  set_sort_func)r>   sort_column_id	sort_funcr   r]   s       r   r&  TreeSortable.set_sort_func  s    lD/9Ur   c                 ,   > [         [        U ]  X5        g r&   )r[   r$  set_default_sort_func)r>   r(  r   r]   s      r   r+  "TreeSortable.set_default_sort_func  s    lD7	Mr   r   r&   )r   r   r   r   r   r   r$  get_sort_column_idr&  r+  r   rx   ry   s   @r   r$  r$    s/    -c.>.>.Q.Q\hiVN Nr   r$  c                       \ rS rSr\" \R                  R                  S\S9r\	" \R                  S5      (       d  \
S 5       rSrgSrg)r  i  r  r   r  c                 ,    [         R                  U5      $ r&   )r  r  )r>   child_models     r   r  TreeModelSort.new_with_model  s     44[AAr   r   N)r   r   r   r   r   r   r  r?   r   r  classmethodr  r   r   r   r   r  r    sP    "3#4#4#=#=-7,CE s((*:;;B B <r   r  c                      \ rS rSrS r\" \R                  S5      (       d  \R                  R                  r	O.\" \R                  S5      (       d  \R                  R                  rS r
SS jrSS jrSS	 jrSS
 jrSS jrS rS rSrg)	ListStorei  c                 d    [         R                  R                  U 5        U R                  U5        g r&   )r   r4  r?   set_column_typesr>   column_typess     r   r?   ListStore.__init__  "    t$l+r   insert_with_valuesvinsert_with_valuesc                     Ub'  U R                  U5      u  p#U R                  XU5      nU$ [        R                  R	                  X5      nU$ r&   )r  r<  r   r4  r  )r>   r   r  r  r  s        r   
_do_insertListStore._do_insert  sM    ?,,S1LC..x#FH  }}++D;Hr   Nc                 r    U(       a  U R                  SU5      $ [        R                  R                  U 5      $ r   )r>  r   r4  r    r>   r  s     r   r    ListStore.append  s-    ??2s++ ==''--r   c                 &    U R                  SU5      $ Nr   r>  rA  s     r   prependListStore.prepend  s    q#&&r   c                 $    U R                  X5      $ r&   rE  )r>   r   r  s      r   r  ListStore.insert  s    x--r   c                     Ub9  Uc  SnO"U R                  U5      R                  5       S   nU R                  X25      $ [        R                  R                  X5      $ r   )get_pathget_indicesr>  r   r4  insert_beforer>   siblingr  r   s       r   rM  ListStore.insert_before  sQ    ?==1==?C??811}}**499r   c                     Ub<  Uc  SnO%U R                  U5      R                  5       S   S-   nU R                  X25      $ [        R                  R                  X5      $ Nr   r   r1  )rK  rL  r>  r   r4  insert_afterrN  s       r   rS  ListStore.insert_after  sV    ?==1==?CaG??811}}))$88r   c                 f    U R                  X#5      n[        R                  R                  XX#5        g r&   )r  r   r4  r   r>   r  r  rr   s       r   r   ListStore.set_value  &    ##F2>r   c                   ^ ^ U U4S jnU(       a  [        US   [        5      (       a  U" US S S2   USS S2   5        g [        US   [        [        45      (       a*  [	        U5      S:w  a  [        S5      eU" US   US   5        g [        US   [        5      (       a'  U" [        US   5      US   R                  5       5        g [        S5      eg )Nc                 `  > [        U 5      [        U5      :w  a  [        S5      e/ n/ n[        X5       HV  u  pE[        U[        5      (       d  [        S5      eUR                  U5        UR                  TR                  XE5      5        MX     [        R                  R                  TTX#5        g Nz7The number of columns do not match the number of valuesz0TypeError: Expected integer argument for column.)
r~   r   r7  r   r  r    r  r   r4  setcolsvalsr  r
  col_numrr   r>   r  s         r   
_set_lists!ListStore.set.<locals>._set_lists      4yCI% YZZGF"%d/!'3//#$VWWw'd11'AB #2 MMdHg>r   r   r   r1  Too many argumentsArgument list must be in the form of (column, value, ...), ((columns,...), (values, ...)) or {column: value}.  No -1 termination is needed.)r   r  r	  rP   r~   r   r6  r
  r>   r  r5   ra  s   ``  r   r\  ListStore.set
  s    	? $q'3''4!9d14a4j1DGeT]33t9>#$89947DG,DGT**4Q=$q'..*:;  !n  o  o r   r   r&   )r   r   r   r   r?   r  r   r4  r<  r;  r>  r    rF  r  rM  rS  r   r\  r   r   r   r   r4  r4    sv    , 3=="788!mm>>S]]$899 ]]>>.'.:9?or   r4  c                       \ rS rSrS r\S 5       r\S 5       r\S 5       r\S 5       r	S r
S rS	 rS
 rS rS rS rSrg)r  i+  c                    [        U[        R                  5      (       d!  [        S[	        U5      R
                  -  5      eXl        [        U[        R                  5      (       a  UR                  U5      U l	        g [        U[        R                  5      (       a  X l	        g [        S[	        U5      R
                  -  5      e)Nz expected Gtk.TreeModel, %s foundz/expected Gtk.TreeIter or Gtk.TreePath, %s found)r   r   r  r   r  r   r  r  r  r   r  )r>   r  iter_or_paths      r   r?   TreeModelRow.__init__-  s    %//>eAUAUUVV
lCLL11|4DIcll33$I ')-l);)D)DE F Fr   c                 L    U R                   R                  U R                  5      $ r&   )r  rK  r   rB   s    r   r  TreeModelRow.path9  s    zz""499--r   c                 "    U R                  5       $ r&   )get_nextrB   s    r   nextTreeModelRow.next=  s    }}r   c                 "    U R                  5       $ r&   )get_previousrB   s    r   previousTreeModelRow.previousA  s      ""r   c                 "    U R                  5       $ r&   )
get_parentrB   s    r   r)  TreeModelRow.parentE  s      r   c                     U R                   R                  U R                  5      nU(       a  [        U R                   U5      $ g r&   )r  r  r   r  )r>   r  s     r   ro  TreeModelRow.get_nextI  s3    JJ((3	

I66 r   c                     U R                   R                  U R                  5      nU(       a  [        U R                   U5      $ g r&   )r  r  r   r  )r>   r  s     r   rs  TreeModelRow.get_previousN  s3    JJ,,TYY7	

I66 r   c                     U R                   R                  U R                  5      nU(       a  [        U R                   U5      $ g r&   )r  r!  r   r  )r>   parent_iters     r   rw  TreeModelRow.get_parentS  s3    jj,,TYY7

K88 r   c                    [        U[        5      (       ah  XR                  R                  5       :  a  [	        SU-  5      eUS:  a  U R                  U5      nU R                  R                  U R                  U5      $ [        U[        5      (       ax  UR                  U R                  R                  5       5      u  p#n/ n[        X#U5       H8  nUR                  U R                  R                  U R                  U5      5        M:     U$ [        U[        5      (       a  U Vs/ s H  opU   PM	     sn$ [        S[        U5      R                  -  5      es  snf )N!column index is out of bounds: %dr   z0indices must be integers, slice or tuple, not %s)r   r  r  r  r  _convert_negative_indexrp   r   sliceindicesranger    r	  r   r  r   )r>   r  r  stopstepalistiks           r   r  TreeModelRow.__getitem__X  s   c3jj..00 !Ds!JKKq2237::''		377U## #DJJ,D,D,F GEE5-TZZ11$))Q?@ .LU##%()SGS))N"3i001 2 2 *s   $Ec                    [        U[        5      (       ai  XR                  R                  5       :  a  [	        SU-  5      eUS:  a  U R                  U5      nU R                  R                  U R                  X5        g [        U[        5      (       a  UR                  U R                  R                  5       5      u  p4n[        X4U5      n[        U5      [        U5      :w  a"  [        S[        U5      [        U5      4-  5      e[        U5       H.  u  pxU R                  R                  U R                  XU   5        M0     g [        U[        5      (       aS  [        U5      [        U5      :w  a"  [        S[        U5      [        U5      4-  5      e[        X5       H	  u  pXU	'   M     g [!        S[#        U5      R$                  -  5      e)Nr  r   z9attempt to assign sequence of size %d to slice of size %dz<attempt to assign sequence of size %d to sequence of size %dz2indices must be an integer, slice or tuple, not %s)r   r  r  r  r  r  r   r   r  r  r  r~   rl   r  r	  r7  r   r  r   )
r>   r  rr   r  r  r  	indexListr  vr  s
             r   r  TreeModelRow.__setitem__k  s~   c3jj..00 !Ds!JKKq2237JJ  C7U## #DJJ,D,D,F GEe40I9~U+ O5z3y>234 4 "),

$$TYY8< -U##3x3u:% R5z3s8,-. . CQ ( P"3i001 2 2r   c                 h    U R                   R                  5       U-   nUS:  a  [        SU-  5      eU$ )Nr   r  )r  r  r  )r>   r  	new_indexs      r   r  $TreeModelRow._convert_negative_index  s7    JJ,,.6	q=@5HIIr   c                 x    U R                   R                  U R                  5      n[        U R                   U5      $ r&   )r  r  r   r  )r>   
child_iters     r   iterchildrenTreeModelRow.iterchildren  s+    ZZ--dii8


J77r   r   r  N)r   r   r   r   r?   r_  r  rp  rt  r)  ro  rs  rw  r  r  r  r  r   r   r   r   r  r  +  s{    
F . .   # # ! !7
7
9
2&288r   r  c                   &    \ rS rSrS rS rS rSrg)r  i  c                     Xl         X l        g r&   )r  r   )r>   r  r  s      r   r?   TreeModelRowIter.__init__  s    
	r   c                     U R                   (       d  [        e[        U R                  U R                   5      nU R                  R	                  U R                   5      U l         U$ r&   )r   StopIterationr  r  r  rA  s     r   __next__TreeModelRowIter.__next__  sB    yy4::tyy1JJ((3	
r   c                     U $ r&   r   rB   s    r   rX   TreeModelRowIter.__iter__  s    r   r  N)r   r   r   r   r?   r  rX   r   r   r   r   r  r    s    r   r  c                   n   ^  \ rS rSrSS jrU 4S jrS rS rS rS r	S r
S	 rS
 rS rS rS rSrU =r$ )r  i  c                 <   [        U[        5      (       a  [        U5      nO-[        U[        5      (       d  SR                  S U 5       5      n[	        U5      S:X  a  [        SU-  5      e [        R                  U5      $ ! [
         a    [        SU-  5      ef = f)N:c              3   8   #    U  H  n[        U5      v   M     g 7fr&   )r   ).0vals     r   	<genexpr>#TreePath.__new__.<locals>.<genexpr>  s     5CHHs   r   z-could not parse subscript '%s' as a tree path)r   r  r   joinr~   r   r  new_from_string)clsr  s     r   __new__TreePath.__new__  s    dC  t9DD#&&88555Dt9>KdRSS	T++D11 	TKdRSS	Ts   -B Bc                 *   > [         [        U ]  5         g r&   )r[   r  r?   r>   r5   r   r]   s      r   r?   TreePath.__init__  s    h&(r   c                 4    U R                  5       =(       d    S$ )N )	to_stringrB   s    r   __str__TreePath.__str__  s    ~~%2%r   c                 @    US L=(       a    U R                  U5      S:  $ rD  comparer>   others     r   __lt__TreePath.__lt__  s     D <T\\%%81%<<r   c                 @    US L=(       a    U R                  U5      S:*  $ rD  r  r  s     r   __le__TreePath.__le__       D =T\\%%8A%==r   c                 @    US L=(       a    U R                  U5      S:H  $ rD  r  r  s     r   __eq__TreePath.__eq__  r  r   c                 @    US L =(       d    U R                  U5      S:g  $ rD  r  r  s     r   __ne__TreePath.__ne__      }8U 3q 88r   c                 @    US L =(       d    U R                  U5      S:  $ rD  r  r  s     r   __gt__TreePath.__gt__  s    }7U 3a 77r   c                 @    US L =(       d    U R                  U5      S:  $ rD  r  r  s     r   __ge__TreePath.__ge__  r  r   c                 4    [        U R                  5       5      $ r&   )r   rL  rB   s    r   rX   TreePath.__iter__  s    D$$&''r   c                 "    U R                  5       $ r&   )	get_depthrB   s    r   r   TreePath.__len__  s    ~~r   c                 (    U R                  5       U   $ r&   )rL  )r>   r  s     r   r  TreePath.__getitem__  s    !%((r   r   )r   )r   r   r   r   r  r?   r  r  r  r  r  r  r  rX   r   r  r   rx   ry   s   @r   r  r    sE    T)&=>>989( ) )r   r  c                   ^    \ rS rSrS rS rSS jrSS jrSS jrSS jr	SS	 jr
S
 rS rSrg)	TreeStorei  c                 d    [         R                  R                  U 5        U R                  U5        g r&   )r   r  r?   r6  r7  s     r   r?   TreeStore.__init__  r:  r   c                     Ub'  U R                  U5      u  p4U R                  XXC5      nU$ [        R                  R	                  XU5      nU$ r&   )r  r<  r   r  r  )r>   r)  r   r  r  r  s         r   r>  TreeStore._do_insert  sO    ?,,S1LC..vNH  }}++D(CHr   Nc                 (    U R                  USU5      $ r   rE  r>   r)  r  s      r   r    TreeStore.append  s    vr3//r   c                 (    U R                  USU5      $ rD  rE  r  s      r   rF  TreeStore.prepend  s    vq#..r   c                 &    U R                  XU5      $ r&   rE  )r>   r)  r   r  s       r   r  TreeStore.insert  s    v55r   c                     UbN  Uc  SnO6Uc  U R                  U5      nU R                  U5      R                  5       S   nU R                  XU5      $ [        R
                  R                  XU5      $ r   )r!  rK  rL  r>  r   r  rM  r>   r)  rO  r  r   s        r   rM  TreeStore.insert_before  sj    ?>!--g6F==1==?C??6S99}}**4AAr   c                     UbQ  Uc  SnO9Uc  U R                  U5      nU R                  U5      R                  5       S   S-   nU R                  XU5      $ [        R
                  R                  XU5      $ rR  )r!  rK  rL  r>  r   r  rS  r  s        r   rS  TreeStore.insert_after  so    ?>!--g6F==1==?CaG??6S99}}))$@@r   c                 f    U R                  X#5      n[        R                  R                  XX#5        g r&   )r  r   r  r   rV  s       r   r   TreeStore.set_value  rX  r   c                   ^ ^ U U4S jnU(       a  [        US   [        5      (       a  U" US S S2   USS S2   5        g [        US   [        [        45      (       a*  [	        U5      S:w  a  [        S5      eU" US   US   5        g [        US   [        5      (       a,  U" US   R                  5       US   R                  5       5        g [        S5      eg )Nc                 `  > [        U 5      [        U5      :w  a  [        S5      e/ n/ n[        X5       HV  u  pE[        U[        5      (       d  [        S5      eUR                  U5        UR                  TR                  XE5      5        MX     [        R                  R                  TTX#5        g r[  )
r~   r   r7  r   r  r    r  r   r  r\  r]  s         r   ra  !TreeStore.set.<locals>._set_lists  rc  r   r   r   r1  rd  re  )	r   r  r	  rP   r~   r   r6  keysr
  rf  s   ``  r   r\  TreeStore.set  s    	? $q'3''4!9d14a4j1DGeT]33t9>#$89947DG,DGT**47<<>47>>+;<  !n  o  o r   r   r&   )r   r   r   r   r?   r>  r    rF  r  rM  rS  r   r\  r   r   r   r   r  r    s2    ,0/6
B
A?or   r  c                   t  ^  \ rS rSr\(       a  \" \R                  R                  S\	S9r\
" \R                  R                  5      r\
" \R                  R                  5      r\
" \R                  R                  5      r\(       a  U 4S jr\(       a  U 4S jrSU 4S jjrSU 4S jjrSU 4S jjrS	 rS
rU =r$ )TreeViewi2  r  r   c                 F   > [        U5      n[        [        U ]  UUU5        g r&   )r$   r[   r  enable_model_drag_source)r>   start_button_maskr!   actionsr"   r]   s        r   r  !TreeView.enable_model_drag_source=  s&    3G<N(D:;L;I;BDr   c                 D   > [        U5      n[        [        U ]  UU5        g r&   )r$   r[   r  enable_model_drag_dest)r>   r!   r  r"   r]   s       r   r  TreeView.enable_model_drag_destD  s"    3G<N(D89@Br   c                    > [        U[        R                  5      (       d  [        U5      n[        [        U ]  XX4U5        g r&   )r   r   r  r[   r  scroll_to_cell)r>   r  r  	use_align	row_align	col_alignr]   s         r   r  TreeView.scroll_to_cellI  s1    $--D>Dh,T9QZ[r   c                    > [        U[        R                  5      (       d  [        U5      n[        [        U ]  XU5        g r&   )r   r   r  r[   r  
set_cursor)r>   r  r  start_editingr]   s       r   r  TreeView.set_cursorN  s.    $--D>Dh(}Er   c                 ~   > [        U[        R                  5      (       d  [        U5      n[        [        U ]  X5      $ r&   )r   r   r  r[   r  get_cell_area)r>   r  r  r]   s      r   r  TreeView.get_cell_areaS  s/    $--D>DXt24@@r   c                     [        5       nUR                  U5        UR                  US5        U R                  XQ5        UR                  " U40 UD6  g NF)TreeViewColumn	set_title
pack_startinsert_columnset_attributes)r>   r   r(  cellr   r  s         r   insert_column_with_attributes&TreeView.insert_column_with_attributesX  sI    !$&6,d-f-r   r   )NF        r  r  r&   )r   r   r   r   rw   r   r   r  r?   r   r   get_path_at_posr  get_dest_row_at_posr  r  r  r  r  r  r   rx   ry   s   @r   r  r  2  s    "3<<#8#8-7,CE +3<<+G+GHO,S\\-K-KL.s||/O/OP	D 	B
\
F
A
. .r   r  c                   x   ^  \ rS rSr  SS jr\" \R                  R                  5      rSU 4S jjr	S r
SrU =r$ )r  id  c                     [         R                  R                  XS9  U(       a  U R                  US5        UR	                  5        H  u  pEU R                  X$U5        M     g )Nrt  T)r   r  r?   r	  r   add_attribute)r>   r(  cell_renderer
attributesr   rr   s         r   r?   TreeViewColumn.__init__e  sQ     	##D#6OOM40'--/MT}E: 0r   c                 .   > [         [        U ]  XU5        g r&   )r[   r  set_cell_data_func)r>   r  func	func_datar]   s       r   r  !TreeViewColumn.set_cell_data_funcq  s    nd6}IVr   c                     [         R                  R                  X5        UR                  5        H%  u  p4[         R                  R	                  XX45        M'     g r&   )r   
CellLayoutclear_attributesr   r  )r>   r  r  r   rr   s        r   r  TreeViewColumn.set_attributest  s=    ''<'--/MTNN((dJ 0r   r   )r  Nr&   )r   r   r   r   r?   r   r   r  cell_get_positionr  r  r   rx   ry   s   @r   r  r  d  s9    #; -S-?-?-Q-QRWK Kr   r  c                   @   ^  \ rS rSrU 4S jrU 4S jrU 4S jrSrU =r$ )TreeSelectioni  c                    > [        U[        R                  5      (       d  [        U5      n[        [        U ]  U5        g r&   )r   r   r  r[   r#  select_pathr  s     r   r%  TreeSelection.select_path  s,    $--D>DmT.t4r   c                 J   > [         [        U ]  5       u  pnU(       a  X#4$ US 4$ r&   )r[   r#  get_selected)r>   r  r  r  r]   s       r   r(  TreeSelection.get_selected  s,     %mT G I>!4= r   c                 2   > [         [        U ]  5       u  pX!4$ r&   )r[   r#  get_selected_rows)r>   rowsr  r]   s      r   r+  TreeSelection.get_selected_rows  s    M4BD}r   r   )	r   r   r   r   r%  r(  r+  r   rx   ry   s   @r   r#  r#    s    5
! r   r#  c                       \ rS rSr\" \R                  R                  SS\SS9r	S r\
" \R                  S5      (       a  S r\
" \R                  S	5      (       a  S
 rSrgSrg)Buttoni  )r   stock	use_stockuse_underline)r0  r  )r   r.  r   r  c                 
   SU;   ak  US   (       aa  [         R                  " S[        SS9  UR                  5       nUS   US'   SUS'   SUS'   US	 [        R
                  R                  " U 40 UD6  g U R                  " U0 UD6  g )	Nr0  zKStock items are deprecated. Please use: Gtk.Button.new_with_mnemonic(label)r   r2  r   Tr1  r2  )r<  r=  r   r5  r   r/  r?   rB  )r>   r5   r   rC  s       r   r?   Button.__init__  s    
 & VG_ P5!E $[[]
&0&9
7#*.
;'.2
?+w'

##D7J7

D+F+r   set_focus_on_clickc                 J    [         R                  R                  " U /UQ70 UD6$ r&   )r   rM   r5  r$  s      r   r5  Button.set_focus_on_click  #     zz44TKDKFKKr   get_focus_on_clickc                 J    [         R                  R                  " U /UQ70 UD6$ r&   )r   rM   r9  r$  s      r   r9  Button.get_focus_on_click  r8  r   r   N)r   r   r   r   r   r   r/  r?   r   rB  r  rM   r5  r9  r   r   r   r   r/  r/    sb    

 3 3*Z'1)@+,	.	,$ 3::344L
 3::344L 5r   r/  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)
LinkButtoni  )urir   r   r   N)
r   r   r   r   r   r   r=  r?   r   r   r   r   r   r=  r=    s    "3>>#:#:-=,CEr   r=  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)Labeli  r  r   r   N)
r   r   r   r   r   r   r@  r?   r   r   r   r   r   r@  r@    s    "399#5#5-7,CEr   r@  c                   j    \ rS rSr\(       a!  \" \R                  R                  SSSS.\	SS9r
S rS	rg
)
Adjustmenti  )rr   lowerupperstep_incrementpage_increment	page_size	page_incr	step_incr)rF  rE  r  )r   r/  r   r  c                 <   [         (       aR  U R                  " U0 UD6  SU;   a  U R                  US   5        g [        U5      S:  a  U R                  US   5        g g [        R
                  R                  " U /UQ70 UD6  SU;   a  U R                  US   5        g g )Nrr   r1  r   )rw   rB  r   r~   r   rB  r?   r$  s      r   r?   Adjustment.__init__  s    4JJ'' & vg/TatAw'   NN##D:4:6:
 & vg/ !r   r   N)r   r   r   r   rw   r   r   rB  r?   r   rB  r   r   r   r   rB  rB    s8     7 7+\FQFQ4S)@+,.0r   rB  c                      \ rS rSr\" \R                  R                  SSSS.\S9r\R                  R                  \R                  R                  -  \R                  R                  \R                  R                  -  SS4S jrS	rg
)Tablei  )n_rowsr  r   r,  r  )rN  r  rf  r   c
                 J    [         R                  R                  XX#XEXgX5
        g r&   )r   rM  attach)
r>   rR   left_attachright_attach
top_attachbottom_attachxoptionsyoptionsxpaddingypaddings
             r   rP  Table.attach  s!    IIT+Z`ht|  Hr   r   N)r   r   r   r   r   r   rM  r?   r   AttachOptionsEXPANDFILLrP  r   r   r   r   rM  rM    s    "399#5#5-SAGV_6`,CE
 `c_p_p_w_wz}  {L  {L  {Q  {Q  `Q  \_  \m  \m  \t  \t  wz  wH  wH  wM  wM  \M  XY  de 	Hr   rM  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)ScrolledWindowi  hadjustmentvadjustmentr   r   N)
r   r   r   r   r   r   r^  r?   r   r   r   r   r   r^  r^    s!    "3#5#5#>#>-K,CEr   r^  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)
HScrollbari  
adjustmentr   r   N)
r   r   r   r   r   r   rc  r?   r   r   r   r   r   rc  rc        "3>>#:#:-<,CEr   rc  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)
VScrollbari  rd  r   r   N)
r   r   r   r   r   r   rh  r?   r   r   r   r   r   rh  rh    rf  r   rh  c                   <   ^  \ rS rSrSU 4S jjrSU 4S jjrSrU =r$ )Panedi  c                 .   > [         [        U ]  XU5        g r&   )r[   rj  pack1r>   rR   resizeshrinkr]   s       r   rl  Paned.pack1      %$UF;r   c                 .   > [         [        U ]  XU5        g r&   )r[   rj  pack2rm  s       r   rs  Paned.pack2!  rq  r   r   )FT)TT)r   r   r   r   rl  rs  r   rx   ry   s   @r   rj  rj    s    	<	< 	<r   rj  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)Arrowi)  )
arrow_typeshadow_typer   r   N)
r   r   r   r   r   r   rv  r?   r   r   r   r   r   rv  rv  )  s    "399#5#5-J,CEr   rv  c                   2   ^  \ rS rSrSS jrU 4S jrSrU =r$ )IconSeti1  c                     Ub;  [         R                  " S[        SS9  [        R                  R                  U5      nU$ [        R                  R                  U 5      nU$ )NzXGtk.IconSet(pixbuf) has been deprecated. Please use: Gtk.IconSet.new_from_pixbuf(pixbuf)r   r2  )r<  r=  r   r   rz  new_from_pixbufr  )r  pixbuficonsets      r   r  IconSet.__new__2  sX    ! D5!E ++55f= N ++--c2Nr   c                 (   > [         [        U ]  5       $ r&   )r[   rz  r?   r  s      r   r?   IconSet.__init__<  s    $022r   r   r&   )r   r   r   r   r  r?   r   rx   ry   s   @r   rz  rz  1  s    		3 	3r   rz  c                   L    \ rS rSr\" \R                  R                  S\S9rSr	g)ViewportiB  r_  r   r   N)
r   r   r   r   r   r   r  r?   r   r   r   r   r   r  r  B  s    "3<<#8#8-K,CEr   r  c                   2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )TreeModelFilteriK  c                 ,   > [         [        U ]  X5        g r&   )r[   r  set_visible_func)r>   r  datar]   s      r   r   TreeModelFilter.set_visible_funcL  s    ot5dAr   c                 f    U R                  U5      nU R                  5       R                  XU5        g r&   )convert_iter_to_child_iter	get_modelr   )r>   r   r  rr   s       r   r   TreeModelFilter.set_valueO  s)    ..t4""47r   r   r&   )r   r   r   r   r  r   r   rx   ry   s   @r   r  r  K  s    B8 8r   r  c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )CssProvideriZ  c                 D  > [         R                  5       [         R                  5       4S:  a:  [        U[        5      (       a  UR                  S5      n[        [        U ]#  X5        g [        U[        5      (       a  UR                  S5      n[        [        U ]#  U5        g )N)   	   r  )r   get_major_versionget_minor_versionr   r  decoder[   r  load_from_datar   r  )r>   r   r   r]   s      r   r  CssProvider.load_from_data[  sv    %%')>)>)@AVKdE**;;w/Dk47EdC((;;w/Dk47=r   r   r   )r   r   r   r   r  r   rx   ry   s   @r   r  r  Z  s    	> 	>r   r  c                   @   ^  \ rS rSr\SS j5       rSU 4S jjrSrU =r$ )CustomSorterii  c                 b    Ub  [        U5      nOS n[        R                  R                  X25      $ r&   )r   r   r  r   )r  r(  r   compare_funcs       r   r   CustomSorter.newk  s.    $8C###''@@r   c                 L   > Ub  [        U5      nOS n[        [        U ]  X25      $ r&   )r   r[   r  r&  )r>   r(  r   r  r]   s       r   r&  CustomSorter.set_sort_funct  s*    $8C#t:<SSr   r   r&   )	r   r   r   r   r2  r   r&  r   rx   ry   s   @r   r  r  i  s#    		A 
	A	T 	Tr   r  c                       \ rS rSrS rSrg)Menui  c           	      ,    U R                  S XX4XV5        g r&   )popup_for_device)r>   parent_menu_shellparent_menu_itemr  r  buttonactivate_times          r   popup
Menu.popup  s    !!$(9TY_or   r   N)r   r   r   r   r  r   r   r   r   r  r    s    	pr   r  c                      [        5         g r&   )_Gtk_main_quit)r5   s    r   	main_quitr    s    r   c                  R   [        [        R                  5         [        [        R
                  R                  5       5      R                  [        R                  5         [        U 0 UD6sS S S 5        sS S S 5        $ ! , (       d  f       O= f S S S 5        g ! , (       d  f       g = fr&   )	r   r   r  r   r   rH  rI  rJ  	_Gtk_main)r5   r   s     r   mainr    sh    %cmm4 0 0 8 8 :;CCCMMR $1&1 SR 54RRR 544s$   ABA=*	B=
B	B
B&c                      [        [        R                  R                  5       5      R	                  5          [        5       sS S S 5        $ ! , (       d  f       g = fr&   )r   r   rH  rI  paused_Gtk_main_iterationr   r   r   main_iterationr    s5    D,,4467>>@&( A@@s   
A


Ac                     [        [        R                  R                  5       5      R	                  5          [        U 5      sS S S 5        $ ! , (       d  f       g = fr&   )r   r   rH  rI  r  _Gtk_main_iteration_do)blockings    r   main_iteration_dor    s7    D,,4467>>@)(3 A@@s   A
Astock_lookup)csysr<  gi.repositoryr   r   _ossighelperr   r   r  r   r	   	overridesr
   r   r   r   moduler   gir   r   _versionrw   rv   __all__r    r   r$   r7   objectr9   rM   r{   r   r   r   r   r   r   r   r   r   r   r  r  r?   r#  r'  rc  rs  rv  rx  rz  r~  r  r  r  r  r  r  r$  r  r4  r  r  r  r  r  r  r#  r/  r=  r@  rB  rM  r^  rc  rh  rj  rv  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  
init_checkr!  argvrP   r   r   r   <module>r     s
  ,   ' C >4 4 - % u%
||u
||u
  z  6  * +	4 	 ( )  NN+,6 %6 %)%SZZ )%X 
&	 x  #NCMM6 #NJ #INN;I`s|| ` H z  E E
 fFNN8Ecoo E
 ;'KNN=!\Jcoo \J| ;'KNN=!
KCMM 
K #INN;Is||Y I H z  Ecgg E
 3-CNN5 ECMM E #INN; E3<< E
 !HNN:'Uckk 'UT 7
 y  ::&&L"3::#6#6-6,C./1L,SZZ , 
&	 x U,SZZ U,p 
&	 x  @))6 @  ]+MNN?# Es77 E
 $$89NN)*EC11 E
 !!23NN&' Ec55 E
 ##67NN() Ec55 E ##67NN()Ss|| S H z  ES^^ E
 *%JNN< J J Y	 { U U j!
 | Gb GbT j!
 | Is|| I
 H z MF MF` Y	 { N3## N % ~  B)) B ]+MNN?#Uoy, Uop Y	 { d86 d8N ~ v " ! ".)s|| .)b H z Moy, Mo` Y	 { +.s||Y +.\ H z KS'' K. .)   C%% * '   #LY #LJ fFNN8ES^^ E
 *%JNN< E		 E
 UOENN70 0< j!
 |  H		9 H UOENN7E++ E
 n-NNN#$ ES^^ E
 *%JNN< ES^^ E
 *%JNN<  <		 < UOENN7 E		 E
 UOENN73#++ 3 wGNN9E3<< E
 !HNN:8c)) 8 ?+   ! 4	>coo 	> ;'KNN=!Ts'' T& L)LNN>"psxx p D>DNN6]]Ncmm  Ichh2 2
 ,, 22c  !) ") c  !4 "4
 '(8(89LNN>".."Ksxx0KDzCHr   