3
õW÷Y  ã               @   s6   d dl T d dlmZ d dlT dgZG dd„ deƒZdS )é    )Ú*)ÚAtspiÚEditableTextc               @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )r   a  
        Derived from interface Text, EditableText provides methods for
        modifying textual content of components which support editing.
        EditableText also interacts with the system clipboard via copyText,
        cutText, and pasteText.
        c             C   s   t jj| j||ƒS )av  
                Copy a range of text into the system clipboard. 
                @param : startPos
                the character offset of the first character in the range of text
                being copied. 
                @param : endPos
                the offset of the first character past the end of the range of
                text being copied.
                )r   r   Z	copy_textÚobj)ÚselfÚstartÚend© r	   ú6/usr/lib/python3/dist-packages/pyatspi/editabletext.pyÚcopyText!   s    
zEditableText.copyTextc             C   s   t jj| j||ƒS )aò  
                Excise a range of text from a Text object, copying it into the
                system clipboard. 
                @param : startPos
                the character offset of the first character in the range of text
                being cut. 
                @param : endPos
                the offset of the first character past the end of the range of
                text being cut. 
                @return True if the text was successfully cut, False otherwise.
                )r   r   Zcut_textr   )r   r   r   r	   r	   r
   ÚcutText-   s    zEditableText.cutTextc             C   s   t jj| j||ƒS )a  
                Excise a range of text from a Text object without copying it
                into the system clipboard. 
                @param : startPos
                the character offset of the first character in the range of text
                being deleted. 
                @param : endPos
                the offset of the first character past the end of the range of
                text being deleted. 
                @return True if the text was successfully deleted, False otherwise.
                )r   r   Zdelete_textr   )r   r   r   r	   r	   r
   Ú
deleteText;   s    zEditableText.deleteTextc             C   s   t jj| j|||ƒS )a;  
                Insert new text contents into an existing text object at a given
                location, while retaining the old contents. 
                @param : position
                the character offset into the Text implementor's content at which
                the new content will be inserted. 
                @param : text
                a UTF-8 string of which length characters will be inserted into
                the text object's text buffer. 
                @param : length
                the number of characters of text to insert. If the character
                count of text is less than or equal to length, the entire contents
                of text will be inserted.
                @return True if the text content was successfully inserted, False
                otherwise.
                )r   r   Zinsert_textr   )r   ÚpositionÚtextZlengthr	   r	   r
   Ú
insertTextI   s    zEditableText.insertTextc             C   s   t jj| j|ƒS )a“  
                Copy the text contents of the system clipboard, if any, into
                a Text object, inserting it at a particular character offset.
                @param : position
                the character offset before which the text will be inserted.
                @return True if the text was successfully pasted into the Text
                object, False otherwise.
                )r   r   Z
paste_textr   )r   r   r	   r	   r
   Ú	pasteText\   s    	zEditableText.pasteTextc             C   s   t jj| j|ƒS )at  
                Replace the text contents with a new string, discarding the old
                contents.
                @param : newContents
                a UTF-8 string with which the text object's contents will be
                replaced. 
                @return True if the text content was successfully changed, False
                otherwise.
                )r   r   Zset_text_contentsr   )r   Úcontentsr	   r	   r
   ÚsetTextContentsg   s    
zEditableText.setTextContentsN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r	   r	   r	   r
   r      s   N)Zpyatspi.textZgi.repositoryr   Zpyatspi.utilsÚ__all__ZTextr   r	   r	   r	   r
   Ú<module>   s   