ó
‹²,]c           @  sÙ   d  Z  d d l m Z d d l m Z m Z d d l m Z m Z m	 Z	 m
 Z
 m Z d d l m Z d d l m Z d d l m Z m Z m Z d d l m Z d	 e f d
 „  ƒ  YZ d „  Z e d k rÕ e ƒ  n  d S(   s   
Text editor dialog
iÿÿÿÿ(   t   print_function(   t   Qtt   Slot(   t   QDialogt   QHBoxLayoutt   QPushButtont	   QTextEditt   QVBoxLayout(   t   _(   t   get_font(   t   is_binary_stringt   to_binary_stringt   to_text_string(   t   icon_managert
   TextEditorc           B  sJ   e  Z d  Z d d d e d	 d „ Z e ƒ  d „  ƒ Z d „  Z d „  Z	 RS(
   s   Array Editor Dialogt    i  i,  c         C  sI  t  j |  | ƒ |  j t j ƒ d  |  _ d  |  _ t | ƒ rY t	 |  _
 t | d ƒ } n	 t |  _
 t ƒ  |  _ |  j |  j ƒ t | ƒ |  _ |  j j | ƒ |  j j j |  j ƒ |  j j | ƒ | d  k rÛ t ƒ  } n  |  j j | ƒ |  j j |  j ƒ t ƒ  } | j ƒ  | set t d ƒ ƒ |  _ |  j j t	 ƒ |  j j j |  j  ƒ | j |  j ƒ n  t t d ƒ ƒ |  _! |  j! j" t	 ƒ |  j! j# t	 ƒ |  j! j j |  j$ ƒ | j |  j! ƒ |  j j% | ƒ |  j& t j' ƒ |  j( t) j* d ƒ ƒ |  j+ t d ƒ d t, | ƒ r$d t, | ƒ n d ƒ |  j- | d	 | d
 ƒ d  S(   Nt   utf8s   Save and Closet   Closet   edits   Text editors   %ss    - R   i    i   (.   R   t   __init__t   setAttributeR   t   WA_DeleteOnCloset   Nonet   textt   btn_save_and_closeR
   t   Truet	   is_binaryR   t   FalseR   t   layoutt	   setLayoutR   R   t   setReadOnlyt   textChangedt   connectt   text_changedt   setPlainTextR	   t   setFontt	   addWidgetR   t
   addStretchR   R   t   setDisabledt   clickedt   acceptt	   btn_closet   setAutoDefaultt
   setDefaultt   rejectt	   addLayoutt   setWindowFlagst   Windowt   setWindowIcont   imat   icont   setWindowTitlet   strt   resize(   t   selfR   t   titlet   fontt   parentt   readonlyt   sizet
   btn_layout(    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyR      sH    					
(c         C  s   |  j  r' t |  j j ƒ  d ƒ |  _ n t |  j j ƒ  ƒ |  _ |  j r{ |  j j t ƒ |  j j	 t ƒ |  j j
 t ƒ n  d S(   s   Text has changedR   N(   R   R   R   t   toPlainTextR   R   R   t
   setEnabledR   R*   R+   (   R6   (    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyR!   X   s    		c         C  s   |  j  S(   s   Return modified text(   R   (   R6   (    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyt	   get_valuee   s    c         C  s$   y t  | d ƒ t SWn t SXd S(   s=   Verify if TextEditor is able to display strings passed to it.R   N(   R   R   R   (   R6   t   value(    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyt   setup_and_checkk   s
    N(   i  i,  (
   t   __name__t
   __module__t   __doc__R   R   R   R   R!   R?   RA   (    (    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyR      s   	:	c          C  sW   d d l  m }  |  ƒ  } d } t | ƒ } | j ƒ  | j ƒ  } | | k sS t ‚ d S(   s   Text editor demoiÿÿÿÿ(   t   qapplicationsz   01234567890123456789012345678901234567890123456789012345678901234567890123456789
dedekdh elkd ezd ekjd lekdj elkdfjelfjk eN(   t   spyder.utils.qthelpersRE   R   t   exec_R?   t   AssertionError(   RE   t   _appR   t   dialogt   dlg_text(    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyt   testw   s    	
t   __main__N(   RD   t
   __future__R    t   qtpy.QtCoreR   R   t   qtpy.QtWidgetsR   R   R   R   R   t   spyder.config.baseR   t   spyder.config.guiR	   t   spyder.py3compatR
   R   R   t   spyder.utilsR   R1   R   RL   RB   (    (    (    sI   lib/python2.7/site-packages/spyder/widgets/variableexplorer/texteditor.pyt   <module>	   s   (\	