łň
eymGc           @   s*   d  d k  l Z d e f d     YZ d S(   i˙˙˙˙(   t   Windowt   CompletionWindowc           B   sĄ   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s;  |  i    d d k l } t i |  |  |  i | |  |  i   d d k l } | |  i   | i	 d |  i
  |  _ | i	 d |  i  |  _ | i	 d |  i  |  _ | i i	 d |  i  |  _ | i i	 d |  i  |  _ | i i	 d	 |  i  |  _ | i	 d
 |  i  |  _ | i i	 d |  i  |  _ |  i   d  S(   Ni˙˙˙˙(   t   WINDOW_POPUP(   t   idle_addt   destroys   show-windows   hide-windows   key-press-events   focus-out-events   delete-ranges   no-match-founds   button-press-event(   t%   _CompletionWindow__precompile_methodst   gtkR   R    t   __init__t"   _CompletionWindow__init_attributest!   _CompletionWindow__set_propertiest   gobjectR   t   connectt   _CompletionWindow__destroy_cbt   _CompletionWindow__signal_id_1t!   _CompletionWindow__show_window_cbt   _CompletionWindow__signal_id_2t"   _CompletionWindow__generic_hide_cbt   _CompletionWindow__signal_id_3t   windowt%   _CompletionWindow__key_press_event_cbt   _CompletionWindow__signal_id_5t   textviewt   _CompletionWindow__signal_id_6t
   textbuffert   _CompletionWindow__signal_id_7t   _CompletionWindow__signal_id_8t(   _CompletionWindow__button_press_event_cbt   _CompletionWindow__signal_id_9t    _CompletionWindow__block_signals(   t   selft   managert   editorR   R   (    (    s    plugins/WordCompletion/Window.pyR   '   s     

c         C   s}   | |  _  | |  _ t |  _ t |  _ d d k l } | i | i	 | i
 | i | i | i | i | i | i | i g
 |  _ d  S(   Ni˙˙˙˙(   t   keysyms(   t   _CompletionWindow__editort   _CompletionWindow__managert   Falset   _CompletionWindow__is_visiblet   Truet&   _CompletionWindow__signals_are_blockedR   R    t   Tabt   Rightt   Leftt   Homet   Endt   Insertt   Deletet   Page_Upt	   Page_Downt   Escapet   _CompletionWindow__keys(   R   R   R   R    (    (    s    plugins/WordCompletion/Window.pyt   __init_attributesE   s    				c         C   sD   d d k  l } |  i d |  |  i d d  |  i d d  d  S(   Ni˙˙˙˙(   t   WINDOW_TYPE_HINT_MENUs	   type-hints   width-requestiČ   s   height-request(   t   gtk.gdkR3   t   set_property(   R   R3   (    (    s    plugins/WordCompletion/Window.pyt   __set_propertiesa   s
    c         C   sd   |  i  i d t  d d k l } |  i o d  Sn |  i o |  i   n |  i   t |  _ d  S(   Ns
   is-visiblei˙˙˙˙(   t   truth(	   R"   t   emitR%   t   operatorR7   R$   R&   t"   _CompletionWindow__unblock_signalst   show_all(   R   R7   (    (    s    plugins/WordCompletion/Window.pyt   __show_windowt   s    
	c         C   sv   |  i  i d t  d d k l } l } | |  i  o d  Sn | |  i  o |  i   n |  i	   t |  _ d  S(   Ns
   is-visiblei˙˙˙˙(   t   not_R7   (
   R"   R8   R#   R9   R=   R7   R$   R&   R   t   hide_all(   R   R=   R7   (    (    s    plugins/WordCompletion/Window.pyt   __hide_window   s    
	c         C   sv  |  i  i   \ } } |  i  i   d } d d k l } |  i  i i |  } |  i  i i   } | i   \ }	 }
 | i	 | i
 } } |	 | } |
 | | } d d k l } l } l } | | | |	 |  o |	 | | } n | | | |
 |  o |
 | | } n | |  i  oF | | |  i   d  o$ |  i   d } |  i | |  n d  Sn |  i | |  d  S(   Ni   i˙˙˙˙(   t   TEXT_WINDOW_TEXT(   t   gtR=   t   nei    (   R!   t   get_cursor_window_coordinatest   get_cursor_sizeR   R@   R   t
   get_windowt   get_visible_rectt
   get_origint   widtht   heightR9   RA   R=   RB   R&   t   get_positiont   move(   R   RH   RI   t   cursor_xt   cursor_yt   cursor_heightR@   R   t	   rectanglet   window_xt   window_yt   window_widtht   window_heightt
   position_xt
   position_yRA   R=   RB   (    (    s    plugins/WordCompletion/Window.pyt   __position_window   s*    
c         C   s8   d d k  l } | | d  o
 d } n | d 7} | S(   Ni˙˙˙˙(   t   leiČ   i   (   R9   RW   (   R   RH   RW   (    (    s    plugins/WordCompletion/Window.pyt   __calculate_window_widthş   s
    

c         C   s.   d d k  l } | | d  o
 d } n | S(   Ni˙˙˙˙(   RA   iČ   (   R9   RA   (   R   RI   RA   (    (    s    plugins/WordCompletion/Window.pyt   __calculate_window_heightÎ   s    
c         C   s   |  i  i |  i  |  i  i |  i  |  i i i |  i  |  i i i |  i  |  i i	 i |  i
  |  i  i |  i  t |  _ d  S(   N(   R"   t   handler_blockR   R   R!   R   R   R   R   R   R   R   R%   R&   (   R   (    (    s    plugins/WordCompletion/Window.pyt   __block_signalsŕ   s    	c         C   s   |  i  i |  i  |  i  i |  i  |  i i i |  i  |  i i i |  i  |  i i	 i |  i
  |  i  i |  i  t |  _ d  S(   N(   R"   t   handler_unblockR   R   R!   R   R   R   R   R   R   R   R#   R&   (   R   (    (    s    plugins/WordCompletion/Window.pyt   __unblock_signalsđ   s    	c         C   s   yo d d k  l } | |  i  | |  i  | |  i  | |  i  | |  i  | |  i  | |  i  Wn t	 j
 o n n Xt
 S(   Ni˙˙˙˙(   t   bind(   t   psycoR^   t"   _CompletionWindow__position_windowt*   _CompletionWindow__calculate_window_heightt)   _CompletionWindow__calculate_window_widtht   _CompletionWindow__show_windowt   _CompletionWindow__hide_windowR   R:   t   ImportErrorR#   (   R   R^   (    (    s    plugins/WordCompletion/Window.pyt   __precompile_methods   s    c         C   sÓ   |  i  i |  i |  |  i  i |  i |  |  i  i |  i |  |  i  i |  i |  i   |  i  i |  i |  i   |  i  i |  i |  i   |  i  i |  i |  |  i  i |  i	 |  i   |  i
   ~  d  }  d  S(   N(   R!   t   disconnect_signalR   R   R   R   R   R   R   R   R   t   None(   R   R   (    (    s    plugins/WordCompletion/Window.pyt   __destroy_cb  s    

c         G   s   |  i    t S(   N(   Rd   R#   (   R   t   args(    (    s    plugins/WordCompletion/Window.pyt   __generic_hide_cb-  s    

c         C   s   | i    \ } } |  i |  d } |  i |  d } |  i | |  |  i d |  |  i d |  |  i | |  |  i   d  S(   Ni   s   width-requests   height-request(   t   size_requestRb   Ra   t   resizeR5   R`   Rc   (   R   R   t   viewRH   RI   (    (    s    plugins/WordCompletion/Window.pyt   __show_window_cb:  s    
c         C   s>   d d k  l } l } | |  i | i  o |  i   n t S(   Ni˙˙˙˙(   t   eqt   contains(   R9   Rp   Rq   R1   t   keyvalRd   R#   (   R   R   t   eventRp   Rq   (    (    s    plugins/WordCompletion/Window.pyt   __key_press_event_cbQ  s    
$c         G   s   |  i    t S(   N(   Rd   R#   (   R   Rj   (    (    s    plugins/WordCompletion/Window.pyt   __button_press_event_cb_  s    
c         C   sU   y; d d k  l } | |  i  | |  i  | |  i  Wn t j
 o n Xt S(   Ni˙˙˙˙(   R^   (   R_   R^   R   R   R   Re   R#   (   R   R^   (    (    s    plugins/WordCompletion/Window.pyRf   i  s    (   t   __name__t
   __module__R   R   R	   Rc   Rd   R`   Rb   Ra   R   R:   R   R   R   R   R   R   (    (    (    s    plugins/WordCompletion/Window.pyR   "   s"   						&										
N(   R   R    R   (    (    (    s    plugins/WordCompletion/Window.pys   <module>    s   