File: //usr/local/lib/python3.10/idlelib/__pycache__/searchengine.cpython-310.pyc
o
�i� � @ s� d Z ddlZddlmZmZmZ ddlmZ dd� ZG dd� d�Zd d
� Z dd� Z
d
d� Zedkr?ddl
mZ eddd� dS dS )z'Define SearchEngine for search dialogs.� N)� StringVar�
BooleanVar�TclError)�
messageboxc C s t | d�s
t| �| _| jS )z�Return the singleton SearchEngine instance for the process.
The single SearchEngine saves settings between dialog instances.
If there is not a SearchEngine already, make one.
�
_searchengine)�hasattr�SearchEnginer )�root� r
�1/usr/local/lib/python3.10/idlelib/searchengine.py�get s
r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zd"dd�Zd#dd�Zd$dd�Zd$d d!�ZdS )%r z<Handles searching a text widget for Find, Replace, and Grep.c C sR || _ t|d�| _t|d�| _t|d�| _t|d�| _t|d�| _t|d�| _dS )z�Initialize Variables that save search state.
The dialogs bind these to the UI elements present in the dialogs.
� FTN) r r �patvarr �revar�casevar�wordvar�wrapvar�backvar)�selfr r
r
r �__init__ s zSearchEngine.__init__c C �
| j �� S �N)r r �r r
r
r �getpat% �
zSearchEngine.getpatc C s | j �|� d S r )r �set�r �patr
r
r �setpat( s zSearchEngine.setpatc C r r )r r r r
r
r �isre+ r zSearchEngine.isrec C r r )r r r r
r
r �iscase. r zSearchEngine.iscasec C r r )r r r r
r
r �isword1 r zSearchEngine.iswordc C r r )r r r r
r
r �iswrap4 r zSearchEngine.iswrapc C r r )r r r r
r
r �isback7 r zSearchEngine.isbackc C s | � � r t�|�}| �|� dS )z!Set pattern after escaping if re.N)r �re�escaper r r
r
r �setcookedpat<