
    fZQ                         d Z ddlZddlZddlmZ ddlZddlmZ g Zg Z	 e
       Zi Zd Zd ZddZddZd	 Zd
 ZddZd Zd ZddZd Zd Zd Zy)a  
PyGTK compatibility layer.

This modules goes a little bit longer to maintain PyGTK compatibility than
the normal overrides system.

It is recommended to not depend on this layer, but only use it as an
intermediate step when porting your application to PyGI.

Compatibility might never be 100%, but the aim is to make it possible to run
a well behaved PyGTK application mostly unmodified on top of PyGI.

    NUserListGObjectc                 p    t        | |t              }t        | ||       t        j	                  | ||f       y N)getattr_unsetsetattr_patchesappend)objname	new_value	old_values       9/usr/lib/python3/dist-packages/pygtkcompat/pygtkcompat.py_patchr   1   s/    T6*ICy!OOS$	*+    c                     t         j                  j                  | t              }|t         j                  | <   t        j                  | |f       y r   )sysmodulesgetr
   _module_patchesr   )r   r   r   s      r   _patch_moduler   7   s7    f-I!CKKD),-r   c                    || }|j                   j                  dd      d   j                         }t        |       D ]
  }	 t	        | |d       }	 t        |t        j                        rq|j                  j                         D ]T  \  }}|j                  }|j                  |dz   d      }|r|j                  |      r|t        |      d  }t        |||       V 	 t        |t        j                         rR|j"                  j                         D ]5  \  }}		 |	j$                  d   j                  |dz   d      }t        |||	       7  y #  Y xY w# t        $ r Y #w xY w# t&        $ r Y _w xY w# t        $ r Y Bw xY w)N.   _ )__name__rsplitupperdirr	   
issubclassr   GEnum__enum_values__items
value_namereplace
startswithlenr   	TypeErrorGFlags__flags_values__value_names
IndexError)
moduledeststripmodnameattrr   valueenumr   flags
             r   _install_enumsr:   =   s   |mm""3*1-335GF 	&$-C		#w}}-#&#6#6#<#<#> -KE4??D<<#r:D!7#CJK04t,-	#w~~.#&#7#7#=#=#? -KE4!#//3;;GcM2N
 4t,-#	  		 & ! !!
  		sU   EBE:E3"E$9E3E	E! E!$	E0-E3/E00E33	F ?F c                 f    | t         v r t         |    }||k7  rt        | d|d      y|t         | <   y)z*Returns True in case it is already enabledz) already enabled with different version ()TF)_enabled_registry
ValueError)r   versionenabled_versions      r   _check_enabledrA   ^   sI       +D1g%/+, , ")$r   c                      t        j                  dt        j                         t	        d      ry ddlm}  t        d|        ddlm} t        d|       ddlm	} t        d	|       dd
lm
} t        d|       y )Nzhpygtkcompat is deprecated, see https://gnome.pages.gitlab.gnome.org/pygobject for migration instructionsr   r   )GLibglibr   gobject)_propertyhelperzgobject.propertyhelper)Giogio)warningswarngiPyGIDeprecationWarningrA   gi.repositoryrC   r   r   rF   rG   )rC   r   rF   rG   s       r   enablerN   m   sm    MM|  A  X  X  Yb #&$ &)W%"*O< "%r   c                     t         j                          t        t              D ]H  \  } }}|t        u rt        | |       t        | |       t        | |t              |us<t        | ||       J t        dd= t        t              D ]2  \  }}|t        u rt        j                  |=  |t        j                  |<   4 t        dd= y)zfReverse all effects of the enable_xxx() calls except for
    require_version() calls and imports.
    N)r=   clearreversedr   r
   delattrr	   r   r   r   r   )r   r   r   s      r   _disable_allrS      s    
  ( 2 .T9C CsD&):T9-. 	#O4 *iD! )CKK	*
 	r   c                 *  #$%&'()*+,-./01234567 t        d|       ry | dk(  rt        d      t        j                  dd       ddlm} t        d|       t        |       t        j                  d	d       dd
lm} t        d|       t        |       t        j                  dd       ddlm	} t        d|       t        j                  d|        t        j                  dd       ddlm
$ ddlm} t        d$       t        $       t        |$       t        $dd       t        $dd       t        $d$j                  j                         t        $d|j                         t        $d|j                   j"                         t        $d|j                  j$                         t        $d|j                  j&                         t        $d|j                  j(                         t        $d |j                  j*                         t        $d!|j                  j,                         t        $d"|j                  j.                         t        $d#|j                  j0                         t        $d$|j                  j2                         t        $d%|j                  j4                         |j                  j6                  ..fd&}t        $d'|       $j8                  j:                  //fd(}t        $j8                  d)|       t        $d*$j                  j<                         t        $d+$j                  j>                         $j8                  j@                  --fd,}t        $j8                  d-|       t        j                  d.|        dd/lm!% t        d%       t        %d0$       t        %d1d2       t        %d3%jD                  %jF                  %jH                  f       t        %       d4 }t        %jJ                  d5tM        |             %jN                  ' G 'fd6d7'      }	t        %d7|	       %jP                  jR                  0d0fd8	}
t        %jP                  d9|
       %jP                  jT                  1d1fd:	}t        %jP                  d;|       %jV                  jR                  6d6fd<	}t        %jV                  d9|       %jV                  jT                  7d7fd=	}t        %jV                  d;|       %jX                  jR                  *d*fd>	}t        %jX                  d9|       %jX                  jT                  +d+fd?	}t        %jX                  d;|       %jX                  jZ                  2t\        f2fd@	}t        %jX                  dA|        G dB dC%j^                        }t        %dC|       %j`                  jb                  ,t\        f,fdD	}t        %j`                  dE|        G %fdFdG%j`                        }t        %dG|       %fdH}t        %dI|       %fdJ}t        %dK|       dL }t        %jd                  dMtM        |             %fdN}t        %dO|       dP }t        %j`                  dQ|       t        %dR%jf                  jh                         t        %dS%jj                  j                         t        %dT%jl                  jn                         t        %dU%jl                  jp                         t        %dV%jl                  jr                         t        %dW%jl                  jt                         t        %dX%jl                  j&                         t        %dY%jv                  j                         t        %dZ%j8                  jx                         t        %d[%jz                  j|                         t        %j~                  d\%j~                  j                         t        %d]%j                  j                         t        %j                  d^%j                  j                         %j                  (%j                  ) G (fd_d`(      }t        %d`|        G )fdadb)      }t        %db|       t        %dcdd        t        %j                  det        %j                  j                  f             t        %dg%j                  j                         %j                  j                  44fdh}t        %j                  di|       t        %j                  dj%j                  j                          G $fdkdlt              # G #$fdmdnt              & G &fdodpt              }t        %j                  dq |              %j                  j                  5	 d5fdr	}t        %j                  ds|       %j8                  j                  3	 	 	 	 d$3fdt	}t        %j8                  du|       t        %dv%j8                  j                         t        %dw%j8                  j                          G dx dyt              } |       } t        dz|        t        j                         5  t        j                  d{t        |       dd}lVmW}! d d d        t        d~!       t        %d|!       ddlXmY}" t        %d|"j                         y # 1 sw Y   @xY w)Ngtkz4.0zversion 4.0 not supportedAtk1.0r   )rV   atkPango)rY   pango
PangoCairo)r[   
pangocairoGdk	GdkPixbuf2.0r]   )r^   zgtk.gdkr3   _2BUTTON_PRESS   BUTTON_PRESS   screen_get_defaultPixbufPixbufLoaderpixbuf_new_from_datapixbuf_new_from_filepixbuf_new_from_file_at_scalepixbuf_new_from_file_at_sizepixbuf_new_from_inlinepixbuf_new_from_streampixbuf_new_from_stream_at_scalepixbuf_new_from_xpm_datapixbuf_get_file_infoc                  \            } g }d }| D ]  }|j                   ||              |S )Nc                     i }| j                         |d<   | j                         |d<   | j                         |d<   | j                         |d<   |S )Ndescriptionr   
mime_types
extensions)get_descriptionget_nameget_mime_typesget_extensions)format_results     r   	make_dictz2enable_gtk.<locals>.get_formats.<locals>.make_dict   sW    F$+$;$;$=F=!$--/F6N#*#9#9#;F< #*#9#9#;F< Mr   )r   )formatsr|   r}   r{   orig_get_formatss       r   get_formatszenable_gtk.<locals>.get_formats   s<    "$	  	.GMM)G,-	.r   pixbuf_get_formatsc                      |       dd  S )Nr    )selforig_get_origins    r   
get_originzenable_gtk.<locals>.get_origin   s    t$QR((r   r   screen_widthscreen_heightc                 T     |       | j                         j                         fz   S r   )
get_visualget_best_depth)windoworig_gdk_window_get_geometrys    r   gdk_window_get_geometryz+enable_gtk.<locals>.gdk_window_get_geometry   s(    +F3v7H7H7J7Y7Y7[6]]]r   get_geometryGtkr   gdkpygtk_version)   c   r   gtk_versionc                 P    t        j                  dt        j                  d       y )Nz%set_tool_item_type() is not supportedr   
stacklevelrI   rJ   rK   rL   )
menuactiongtypes     r   set_tool_item_typez&enable_gtk.<locals>.set_tool_item_type   s    =//A	?r   r   c                       e Zd Zd fd	Zy)enable_gtk.<locals>.Alignmentc                     j                  |        || j                  _        || j                  _        || j                  _        || j                  _        y r   )__init__propsxalignyalignxscaleyscale)r   r   r   r   r   orig_Alignments        r   r   z&enable_gtk.<locals>.Alignment.__init__  sA    ##D) &DJJ &DJJ &DJJ &DJJr   N)        r   r   r   r!   
__module____qualname__r   )r   s   r   	Alignmentr     s    	'r   r   c                      | ||||       y r   r   )r   childexpandfillpaddingorig_pack_ends        r   pack_endzenable_gtk.<locals>.pack_end  s    dE649r   r   c                      | ||||       y r   r   )r   r   r   r   r   orig_pack_starts        r   
pack_startzenable_gtk.<locals>.pack_start  s    eVT7;r   r   c                      | ||       y r   r   )r   cellr   orig_tree_view_column_pack_ends      r   tree_view_column_pack_endz-enable_gtk.<locals>.tree_view_column_pack_end"  s    &tT6:r   c                      | ||       y r   r   )r   r   r    orig_tree_view_column_pack_starts      r   tree_view_column_pack_startz/enable_gtk.<locals>.tree_view_column_pack_start(  s    (tV<r   c                      | ||       y r   r   )r   r   r   orig_cell_pack_ends      r   cell_pack_endz!enable_gtk.<locals>.cell_pack_end0  s    4v.r   c                      | ||       y r   r   )r   r   r   orig_cell_pack_starts      r   cell_pack_startz#enable_gtk.<locals>.cell_pack_start6  s    T40r   c                 (    fd} | |||       y )Nc                  0    | d   t         k(  r| d d }  |  S Nr    r
   argsfuncs    r   callbackz8enable_gtk.<locals>.set_cell_data_func.<locals>.callback=  $    Bx6!CRy;r   r   )r   r   r   	user_datar   orig_set_cell_data_funcs     `  r   set_cell_data_funcz&enable_gtk.<locals>.set_cell_data_func<  s    	 	 dHi@r   r   c                       e Zd Zy)'enable_gtk.<locals>.GenericCellRendererNr!   r   r   r   r   r   GenericCellRendererr   F      r   r   c                 &    fd} | ||       y )Nc                  0    | d   t         k(  r| d d }  |  S r   r   r   s    r   r   z>enable_gtk.<locals>.combo_row_separator_func.<locals>.callbackO  r   r   r   )r   r   r   r   orig_combo_row_separator_funcs    `  r   combo_row_separator_funcz,enable_gtk.<locals>.combo_row_separator_funcN  s    	 	&dHi@r   set_row_separator_funcc                   $    e Zd Z fdZd Zd Zy)!enable_gtk.<locals>.ComboBoxEntryc                 D     j                   j                  | fddi| y )N	has_entryT)ComboBoxr   )r   kwdsr   s     r   r   z*enable_gtk.<locals>.ComboBoxEntry.__init__Y  s!    !CLL!!$?$?$?r   c                 &    | j                  |       y r   )set_entry_text_column)r   text_columns     r   set_text_columnz1enable_gtk.<locals>.ComboBoxEntry.set_text_column\  s    &&{3r   c                 "    | j                         S r   )get_entry_text_column)r   s    r   get_text_columnz1enable_gtk.<locals>.ComboBoxEntry.get_text_column_  s    --//r   N)r!   r   r   r   r   r   r   s   r   ComboBoxEntryr   X  s    	@	4	0r   r   c                  $     j                         S r   r   r   s   r   combo_box_entry_newz'enable_gtk.<locals>.combo_box_entry_newc  s      ""r   r   c                 (    j                  |       S )N)modelr   )r   r   s    r   combo_box_entry_new_with_modelz2enable_gtk.<locals>.combo_box_entry_new_with_modelg  s      u --r   r   c                 P    t        j                  dt        j                  d       y )Nz)install_child_property() is not supportedr   r   r   )	containerr9   pspecs      r   install_child_propertyz*enable_gtk.<locals>.install_child_propertym  s    A//A	?r   r   c                      j                         } j                  t              }| j                  |       | j	                  d       | S )Nr   )r   	ListStorestr	set_modelr   )combor   r   s     r   new_textzenable_gtk.<locals>.new_textr  s;    c"##A&r   combo_box_new_textc                 H    | j                         }|j                  |g       y r   )	get_modelr   )r   textr   s      r   append_textzenable_gtk.<locals>.append_textz  s     dVr   r   expander_new_with_mnemonicicon_theme_get_defaultimage_new_from_pixbufimage_new_from_stockimage_new_from_animationimage_new_from_icon_setimage_new_from_filesettings_get_defaultwindow_set_default_iconclipboard_getconnect_groupstatus_icon_position_menuset_tooltipc                       e Zd Zd fd	Zy)enable_gtk.<locals>.HScaleNc                 ,    j                  | |       y N)
adjustmentr   )r   r  orig_HScales     r   r   z#enable_gtk.<locals>.HScale.__init__        * =r   r   r   )r  s   r   HScaler        	>r   r  c                       e Zd Zd fd	Zy)enable_gtk.<locals>.VScaleNc                 ,    j                  | |       y r  r  )r   r  orig_VScales     r   r   z#enable_gtk.<locals>.VScale.__init__  r  r   r   r   )r  s   r   VScaler    r  r   r  	stock_addc                      y r   r   )r(   s    r   <lambda>zenable_gtk.<locals>.<lambda>      r   r   )fgetwidget_get_default_directionc                 >     G d dt               } | |             S )Nc                       e Zd Zd Zy)5enable_gtk.<locals>.size_request.<locals>.SizeRequestc                     |j                   | _         |j                  | _        t        j                  | | j                  | j                   g       y r   )heightwidthr   r   )r   reqs     r   r   z>enable_gtk.<locals>.size_request.<locals>.SizeRequest.__init__  s5    !jj YY
!!$T[[(ABr   Nr   r   r   r   SizeRequestr!    s    Cr   r&  r   )widgetr&  orig_size_requests     r   size_requestz enable_gtk.<locals>.size_request  s$    	C( 	C
 ,V455r   r)  hide_allc                       e Zd Zd Z fdZy)enable_gtk.<locals>.BaseGetterc                     || _         y r   )context)r   r.  s     r   r   z'enable_gtk.<locals>.BaseGetter.__init__  s	    "DLr   c                     | j                   j                  |      }j                  t        |j                  dz        t        |j
                  dz        t        |j                  dz              S )Ni  redgreenblue)r.  get_background_colorColorintr1  r2  r3  )r   statecolorr]   s      r   __getitem__z*enable_gtk.<locals>.BaseGetter.__getitem__  s_    LL55e<E99UYY%6!7#&u{{U':#;"%ejj5&8"9  ; ;r   N)r!   r   r   r   r9  r`   s   r   
BaseGetterr,    s    	#	;r   r:  c                       e Zd Z fdZy)enable_gtk.<locals>.Stylesc                 r    |j                         } |      | _        j                  ddd      | _        y )Nr   r0  )get_style_contextbaser5  black)r   r'  r.  r:  r]   s      r   r   z#enable_gtk.<locals>.Styles.__init__  s3    ..0G"7+DIq:DJr   Nr   )r:  r]   s   r   Stylesr<    s    	;r   rA  c                       e Zd Z fdZy)#enable_gtk.<locals>.StyleDescriptorc                      |      S r   r   )r   instanceclass_rA  s      r   __get__z+enable_gtk.<locals>.StyleDescriptor.__get__  s    (##r   N)r!   r   r   rG  )rA  s   r   StyleDescriptorrC    s    	$r   rH  stylec                      | |||||      S r   r   )r   markwithin_margin	use_alignr   r   orig_text_view_scroll_to_marks         r   text_view_scroll_to_markz,enable_gtk.<locals>.text_view_scroll_to_mark  s    ,T4-6H 	Hr   scroll_to_markc                    j                         }j                  d      }|dk\  s|dk\  r;t        |d      |_        t        |d      |_        |j                  j
                  z  }|dk\  s|dk\  r;t        |d      |_        t        |d      |_        |j                  j                  z  }|dk\  s|dk\  r;t        |d      |_	        t        |d      |_
        |j                  j                  z  }|dk\  s|	dk\  r;t        |d      |_        t        |	d      |_        |j                  j                  z  }|
dk\  s|dk\  r<|
dk  s|dk  rt        d      |
|_        ||_        |j                  j$                  z  } | |||      S )Nr   r   zaspect ratios must be positive)GeometryWindowHintsmax	min_width
min_heightMIN_SIZE	max_width
max_heightMAX_SIZE
base_widthbase_height	BASE_SIZE	width_inc
height_inc
RESIZE_INCr-   
min_aspect
max_aspectASPECT)r   geometry_widgetrU  rV  rX  rY  r[  r\  r^  r_  ra  rb  geometry	geom_maskr]   orig_set_geometry_hintss                 r   set_geometry_hintsz&enable_gtk.<locals>.set_geometry_hints  sz   
 <<>OOA&	>Z1_!$Y!2H"%j!"4H111I>Z1_!$Y!2H"%j!"4H111I?kQ."%j!"4H#&{A#6H 222I>Z1_!$Y!2H"%j!"4H333I
c 1S J#$5 @AA",H",H///I&t_h	RRr   rh  window_list_toplevelswindow_set_default_icon_namec                       e Zd Zy)enable_gtk.<locals>.UnixPrintNr   r   r   r   	UnixPrintrl    r   r   rm  gtkunixprintignore)category)keysymszgtk.keysymsrq  r   )generictreemodelGenericTreeModel)TTr   )T)F      ?rt  )Nr    r    r    r    r    r    r    r          ru  )[rA   r>   rK   require_versionrM   rV   r   r:   rY   r[   r]   r^   r   Screenget_defaultrg   rh   new_with_typenew_from_datanew_from_filenew_from_file_at_scalenew_from_file_at_sizenew_from_inlinenew_from_streamnew_from_stream_at_scalenew_from_xpm_dataget_file_infor   Windowr   r$  r#  r   r   MAJOR_VERSIONMINOR_VERSIONMICRO_VERSIONActionclassmethodr   Boxr   r   TreeViewColumn
CellLayoutr   r
   CellRendererr   r   	ContainerExpandernew_with_mnemonic	IconThemeImagenew_from_pixbufnew_from_stocknew_from_animationnew_from_icon_setSettingsset_default_icon	Clipboardr   
AccelGroupconnect
StatusIconposition_menuset_tooltip_textr  r  Widgetproperty
get_windowget_default_directionr)  hideobjectTextViewrP  rh  list_toplevelsset_default_icon_namerI   catch_warningssimplefilterRuntimeWarninggi.overridesrq  r   rr  rs  )8r?   rV   rY   r[   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r)  rH  rO  rh  rm  	unixprintrq  rr  r:  r]   r   rA  r   r  r  r   r   r   r   r   r   r   r   r   rg  r(  rN  r   r   s8                                      @@@@@@@@@@@@@@@@@@@@@r   
enable_gtkr     s   eW%%455 ue$!%3 w&#'5!5 |U+(,
+ ug&{E*!')S!393'
3 !$
3"
3$cjj&<&<=
3)**+
3	 6 6 D DE
3&	(8(8(F(FG
3&	(8(8(F(FG
3/1A1A1X1XY
3.	0@0@0V0VW
3()*:*:*J*JK
3()*:*:*J*JK
3193C3C3\3\]
3*I,<,<,N,NO
3&	(8(8(F(FG ''33  3$k2jj++O)
3::|Z0
3

 0 01
3!2!23#&::#:#: ^
3::~'>? ug&!%
3s
3,
3 1 1 # 1 1 # 1 1 3 4 3? 3::+[9K-LM ]]N'N ' 3Y' GG$$M:
377J)gg((O<
377L*- &)%7%7%@%@";
3z+DE'*'9'9'D'D$=
3|-HI 00/
3>>:}5>>441
3>><9!nn??7= A 3>>/1CDc.. 
3%':; %(LL$G$G!7= A 3<<13KL0 0 3/#
3%':;.
302PQ? 3==2K@V4WX 3$h/ 3<<4
3,cll.L.LM
3(#--*C*CD
3')B)BC
3&		(@(@A
3*CII,H,HI
3)399+F+FG
3%syy'>'>?
3&(@(@A
3)3::+F+FG
3!2!23 3>>?CNN,B,BC 3+S^^-I-IJ
3>>=#..*I*IJ **K**K> > 3&!> > 3&!
3/0 3::xszz/D/D!EF
3.

0P0PQ

//6 3::~|4
3::z3::??3;V ;; ;$& $ 3::w 12 %(LL$?$?! FIH 3<<)+CD "jj;;15QSSU7;$SL 3::+-?@
3')B)BC
3.

0P0PQF I.), 
	 	 	" )h@() -)
3	7#"
3"$4$E$EF) )s   ("l		lc                  l    t        d      ry t        j                  dd       ddlm}  t        d|        y )NvteVtez0.0r   r  )rA   rK   rv  rM   r  r   r  s    r   
enable_vter    s*    eue$!%r   c                      t        d      ry t        j                  dd       ddlm}  t        d|        t        | dd       y )NpopplerPopplerz0.18r   r  pypoppler_version)r   r   r   )rA   rK   rv  rM   r  r   r   r  s    r   enable_popplerr    s7    i y&)%)W%
7'3r   c                     t        d|       ry t        j                  d|        ddlm} t        d|       t        |j                  d|j                  j                         y )NwebkitWebKitr   )r  get_web_inspector)	rA   rK   rv  rM   r  r   r   WebViewget_inspector)r?   r  s     r   enable_webkitr  '  sG    h(x)$(F#
6>>.0L0LMr   c                  l    t        d      ry t        j                  dd       ddlm}  t        d|        y )NgudevGUdevrW   r   r  )rA   rK   rv  rM   r  r   r  s    r   enable_gudevr  2  s*    gw&#'5!r   c                  ~   t        d      ry t        j                  dd       ddlm}  t        d|        t        |        t        | d| j                  j                         t        | d| j                  j                         t        | d| j                  j                         t        | d	| j                  j                         t        | d
d        t        | dd        ddlm} t        d|       t        |       ddlm} t        d|       t        |       ddlm} t        d|       t        |       ddlm} t        d|       t        |       t        | d|j(                         t        | d|j*                         ddlm} t        d|       t        ||        ddlm} t        d|       t        |       y )NgstGstz0.10r   )r  registry_get_defaultelement_registerelement_factory_makecaps_new_anyget_pygst_versionc                       y)N)r   
      r   r   r   r   r  zenable_gst.<locals>.<lambda>H  r  r   get_gst_versionc                       y)N)r   r  (   r   r   r   r   r  zenable_gst.<locals>.<lambda>I  r  r   )GstInterfaceszgst.interfaces)GstAudioz	gst.audio)GstVideoz	gst.video)GstBasezgst.baseBaseTransformBaseSink)GstControllerzgst.controllerra   )
GstPbutilszgst.pbutils)rA   rK   rv  rM   r  r   r:   r   Registryrx  ElementregisterElementFactorymakeCapsnew_anyr  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  s          r   
enable_gstr  ;  sQ   euf%!%3
3&(@(@A
3"CKK$8$89
3&(:(:(?(?@
3 0 01
3#%89
3!#67+"M2=!&+x(8&+x(8%*g&7
3!6!67
3
G,,-+"M2=s+(-,:r   c                  l   t        d      ry t        j                  dd       ddlm}  t        d|        t        | d       t        | d| j                         t        | d	| j                         t        | d
| j                         t        | d| j                         t        | d| j                         y )N	goocanvas	GooCanvasr_   r   r  GOO_CANVAS_)r4   
ItemSimpleItemr  GroupRect)rA   rK   rv  rM   r  r   r:   r   CanvasItemSimple
CanvasItemCanvasImageCanvasGroup
CanvasRectr  s    r   enable_goocanvasr  g  s    k"{E*'+y)9M2
9lI$>$>?
9fi223
9gy445
9gy445
9fi223r   )Nr   r   )z3.0)rW   )__doc__r   rI   collectionsr   rK   rM   r   r   r   r  r
   r=   r   r   r:   rA   rN   rS   r  r  r  r  r  r  r  r   r   r   <module>r     s{   *     	 ! 	 ,.B*2uGp4N")X4r   