
    Je                         d Z ddl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d	lmZ  G d
 de      Zd Zedk(  r e        yy)z
Text editor dialog
    N)QtSlot)QDialogQHBoxLayoutQPushButton	QTextEditQVBoxLayout)_)get_font)is_binary_stringto_binary_stringto_text_string)ima)
BaseDialogc                   J     e Zd ZdZd fd	Z e       d        Zd Zd Z xZ	S )
TextEditorzArray Editor Dialogc                    t         |   |       | j                  t        j                         d | _        d | _        t        |      rd| _        t        |d      }nd| _        t               | _        | j                  | j                         t        |      | _        | j                  j                  |       | j                  j                   j#                  | j$                         | j                  j'                  |       |
t)               }| j                  j+                  |       | j                  j-                  | j                         t/               }|j1                          |s~t3        t5        d            | _        | j                  j7                  d       | j                  j8                  j#                  | j:                         |j-                  | j                         t3        t5        d            | _        | j<                  j?                  d       | j<                  jA                  d       | j<                  j8                  j#                  | jB                         |j-                  | j<                         | j                  jE                  |       tF        jH                  dk(  r | jK                  t        jL                         n| jK                  t        jN                         | jQ                  tS        jT                  d             |r	 t        |      }nd}| jY                  t5        d	      d
|rd|z   ndz  z          y # tV        $ r d}Y 5w xY w)NTutf8FzSave and CloseClosedarwinedit zText editorz%sz - )-super__init__setAttributer   WA_DeleteOnClosetextbtn_save_and_closer   	is_binaryr   r	   layout	setLayoutr   r   setReadOnlytextChangedconnecttext_changedsetPlainTextr   setFont	addWidgetr   
addStretchr   r
   setDisabledclickedaccept	btn_closesetAutoDefault
setDefaultreject	addLayoutsysplatformsetWindowFlagsToolWindowsetWindowIconr   iconUnicodeEncodeErrorsetWindowTitle)	selfr   titlefontparentreadonly
btn_layoutunicode_title	__class__s	           T/usr/lib/python3/dist-packages/spyder/plugins/variableexplorer/widgets/texteditor.pyr   zTextEditor.__init__   s     	"--.	"& D!!DN!$/D"DN!mt{{# f%			h'		%%d&7&78		t$<:D		$dii( !]
&1!4D2E&FD###//5##++33DKK@  !8!89$QwZ0%%d+!!$'&&t{{3T^^,j) <<8#( 		*388F+,$ .u 5  MAm,!(5 &,m%;;>@@ 	A & $ #$s   M MMc                 |   | j                   r*t        | j                  j                         d      | _        n(t        | j                  j                               | _        | j                  rR| j                  j                  d       | j                  j                  d       | j                  j                  d       yy)zText has changedr   TN)
r   r   r   toPlainTextr   r   r   
setEnabledr.   r/   r;   s    rC   r%   zTextEditor.text_changede   s     >>()>)>)@&IDI&tyy'<'<'>?DI""##..t4##2248##..t4 #    c                     | j                   S )zReturn modified text)r   rG   s    rC   	get_valuezTextEditor.get_valuer   s     yyrH   c                 ,    	 t        |d       y#  Y yxY w)z=Verify if TextEditor is able to display strings passed to it.r   TF)r   )r;   values     rC   setup_and_checkzTextEditor.setup_and_checkx   s    	5&)	s    )r   NNF)
__name__
__module____qualname____doc__r   r   r%   rJ   rM   __classcell__)rB   s   @rC   r   r      s.    EAN 
V
5 
5rH   r   c                      ddl m}   |        }d}t        |      }|j                          |j	                         }||k(  sJ y)zText editor demor   )qapplicationzz01234567890123456789012345678901234567890123456789012345678901234567890123456789
dedekdh elkd ezd ekjd lekdj elkdfjelfjk eN)spyder.utils.qthelpersrT   r   exec_rJ   )rT   _appr   dialogdlg_texts        rC   testrZ      sB    3>D-DF
LLN!H8rH   __main__)rQ   r2   qtpy.QtCorer   r   qtpy.QtWidgetsr   r   r   r   r	   spyder.config.baser
   spyder.config.guir   spyder.py3compatr   r   r   spyder.utils.icon_managerr   2spyder.plugins.variableexplorer.widgets.basedialogr   r   rZ   rN    rH   rC   <module>rd      s^   
  !) ) ! &. . ) Ib bN zF rH   